1 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3 * atk-bridge/bridge.c: Hooked up state-change event details.
5 2002-05-11 Bill Haneman <bill.haneman@sun.com>
7 * registryd/registry.c:
8 Fixed quarking bug in event string parsing; now events with
9 detail parameters get matched correctly to listeners.
12 * util/idl/Magnifier.idl: remove.
14 * util/*.[ch]: Remove.
15 Magnification utilities and IDL are now in module gnome-mag.
17 2002-05-10 Bill Haneman <bill.haneman@sun.com>
19 * registryd/deviceeventcontroller.c:
20 Fixed bug in grab key conversion which was causing keycode grabs
21 to be converted to AnyKey grabs.
24 updated NEWS file to reflect recent spin-off of gnome-mag.
26 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
28 * cspi/spi_accessible.c: Added exception checks. Fixed completely
29 busted AccessibleStateSet_compare. Removed redundant casts.
31 * cspi/spi-action.c: Removed redundant casts.
33 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
35 * cspi/spi_component.c: Fixed typos and casting error.
37 * cspi/spi_editabletext.c: Removed redundant casts.
39 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
41 * cspi/spi_hypertext.c: Eliminated redundant casts.
43 * cspi/spi_image.c: Eliminated redundant casts.
45 * cspi/spi_registry.c: Eliminated redundant casts.
46 SPI_deregisterGlobalEventListenerAll () removed retval variable.
47 * cspi/spi_selection.c: Removed redundant casts.
48 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
49 handling. Screen geometry and text offsets were being returned as 0
50 on error which is technically valid-- changed these to return -1.
51 Added marshaller for text boundary types to fix bug with boundary
52 types being passed incorrectly to atk.
54 2002-05-09 Bill Haneman <bill.haneman@sun.com>
57 * cspi/spi_registry.c:
58 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
59 which was uncovered by the recent key changes.
61 2002-05-09 Bill Haneman <bill.haneman@sun.com>
63 * test/event-listener-test.c:
65 Added new test, "event-listener-test";
66 this code does two things; it benchmarks traversal time
67 for the accessible hierarchy for the first running accessible
68 app, and it connects listeners for all supported event types.
69 It is thus useful as an example event listener and for
70 diagnostics/debugging of event generation.
72 2002-05-08 Bill Haneman <bill.haneman@sun.com>
75 Removed unnecessary dependency on libutil.
78 Revved micro version: 0.13.1
80 2002-05-08 Bill Haneman <bill.haneman@sun.com>
83 Removed util/Makefile from targets.
86 Removed util subdir from SUBDIRS (temporarily,
87 pending removal of magnifier-only code
91 #ifdef-ed out magnifier dependencies, since
92 magnifier IDL, headers, and binary now live in
93 module gnome-mag and we don't want at-spi to depend
94 on gnome-mag. A magnifier demo which can run alongside
95 simple-at is forthcoming in the gnome-mag module.
97 NOTE: Split magnifier binary, IDL, and magnification
98 activation code from at-spi into module gnome-mag.
100 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
102 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
103 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
105 2002-05-03 Bill Haneman <bill.haneman@sun.com>
108 Revved to version 0.13.0
110 * idl/Accessibility_Registry.idl:
111 Changed definition of KeySet from sequence of longs to sequence of
112 KeyDefinitions, and added KeyDefinition struct.
113 Required for fix to bug 80616.
115 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
116 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
117 to use new definition (see above).
119 * registryd/deviceeventcontroller.c: handle_keygrab(),
120 spi_keyset_contains_key():
121 Changed to make use of new struct; this allows matching based on
122 string key-name, for instance "Tab". This also allows matching of
123 composed characters, non-alphanumeric characters in a way that
124 doesn't involve dependencies on X keysym codes directly, etc.
126 * test/key-listener-test.c:
127 Added test for Alt-Tab key using "string" specification of keyset,
128 and modified one of the tests to use a keycode-based keyset.
129 Thus this test both tests and demonstrates the creation and use of
130 keysets of three forms: specified via keycode array,
131 keysym array, and string array. (The string case only contains a
132 single string, i.e. a string array of length 1).
135 Turned on PRINT_TREE option by default. Also fixed a
136 string-freeing bug in the PRINT_TREE code.
137 Added a listener to window:minimize events.
139 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
141 * atk-bridge/bridge.c:
142 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
143 for window:activate and window:deactiveate
144 (atk_bridge_property_event_listener atk_bridge_signal_listener
145 atk_bridge_window_event_listener) Tidy debug code
147 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
149 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
150 Fixed handling for NULL return value from ATK.
152 * libspi/action.c libspi/component.c libspi/editabletext.
153 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
154 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
155 Removed redundant casts.
157 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
158 Fixed off by one bug.
160 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
161 function not present in idl)
163 2002-05-02 jacob berkman <jacob@ximian.com>
165 * atk-bridge/Makefile.am: make atk-bridge a real module
167 2002-04-26 Radek Doulik <rodo@ximian.com>
169 * libspi/stateset.c (spi_init_state_type_tables): fix size of
170 atk_state_types table
172 2002-04-22 jacob berkman <jacob@ximian.com>
175 * libspi/Makefile.am: add deps on the built files to help
176 automake, and don't version the ORBit typelib
178 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
180 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
181 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
182 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
183 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
184 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
185 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
186 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
187 libspi/accessible.h libspi/accessible.h libspi/base.h
188 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
189 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
190 libspi/relation.h libspi/remoteobject.h libspi/selection.h
191 libspi/spi-private.h libspi/statetset.h libspi/table.h
192 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
193 util/mag_client.h util/mag_control.c util/mag_image.c
194 util/mag_image.h util/magnifier.c util/magnifier.h:
195 Add missing file headers; standardize existing ones
197 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
199 * atk-bridge/bridge.c: Added window event support.
201 2002-04-18 Michael Meeks <michael@ximian.com>
203 * libspi/relation.c (impl_getNTargets): impl.
204 (impl_getTarget): impl.
206 * libspi/Makefile.am: fix stateset install.
208 2002-04-17 Bill Haneman <bill.haneman@sun.com>
211 Started putting useful info in this file.
213 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
215 * atk-bridge/bridge.c:
216 Propagate state-changed notifications to ATs
218 * cspi/spi_registry.c: update docs to reflect actual behavior of
221 2002-04-17 Bill Haneman <bill.haneman@sun.com>
224 Incremented version to 0.12.1
227 Add missing declaration for magnifier_exit,
228 used by mag_control.c - Forte compiler didn't like
229 the implicit redeclaration of the function :-(
232 2002-04-16 Bill Haneman <bill.haneman@sun.com>
235 Revved version to 0.12 due to API change (see below).
237 * cspi/spi-roletypes.h:
238 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
239 definition from the inline docs, and added docs
240 for SPI_ROLE_LAST_DEFINED.
243 * cspi/spi_streamablecontent.c:
244 Added missing seek_type parameter to
245 (so far unused) method,
246 AccessibleStreamableContent_seek().
247 [ RT approval JodyG. ]
250 Fixed docs for SPI_createAccessibleKeystrokeListener.
252 * cspi/spi_registry.c:
253 Fixed docs for SPI_KEYSET_ALL_KEYS.
255 * docs/reference/cspi/at-spi-cspi-sections.txt:
256 Added a number of missing APIs to SECTIONS.
258 2002-04-16 Bill Haneman <bill.haneman@sun.com>
260 * registryd/Makefile.am:
262 * cspi/bonobo/Makefile.am:
263 Add $(X_LIBS) to makefiles.
265 2002-04-15 Bill Haneman <bill.haneman@sun.com>
268 Revved version to 0.11.
270 * libspi/component.c:
271 Added implementation for grabFocus.
273 * idl/Accessibility_Component.idl
274 (Accessibility_Component_grabFocus):
275 Made this method return boolean to indicate success or failure, to
276 be consistent with cspi and the corresponding ATK method.
278 * idl/Accessibility_Selection.idl
279 (Accessibility_Selection_selectAll) :
280 Made these methods return boolean to indicate success or
281 failure, to be consistent with cspi and the corresponding ATK methods.
283 * idl/Accessibility_EditableText.idl
284 (Accessibility_EditableText_setTextContents,
285 Accessibility_EditableText_insertText,
286 Accessibility_EditableText_cutText,
287 Accessibility_EditableText_deleteText,
288 Accessibility_EditableText_pasteText):
289 Made these methods return boolean to indicate
292 * cspi/spi_editabletext.c:
293 Made these methods return booleans.
295 * libspi/selection.c:
296 * libspi/component.c:
297 * libspi/editabletext.c:
298 Connected the boolean returns from ATK
299 to the server-side code referenced above.
301 2002-04-14 Bill Haneman <bill.haneman@sun.com>
303 * idl/Accessibility_Table.idl: Added missing methods,
304 Accessibility_Table_addRowSelection,
305 Accessibility_Table_addColumnSelection,
306 Accessibility_Table_removeRowSelection,
307 Accessibility_Table_removeColumnSelection.
310 Added C wrappers for above IDL:
311 AccessibleTable_addRowSelection,
312 AccessibleTable_addColumnSelection,
313 AccessibleTable_removeRowSelection,
314 AccessibleTable_removeColumnSelection.
317 Added server-side implementation code for IDL above, connecting
318 to pre-existing ATK api.
320 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
322 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
324 * libspi/accessible.c: Added implementation fo
325 Accessibility_Accessible_get_state.
327 * libspi/libspi.h: Added stateset.h to the list of includes.
329 * libspi/stateset.c: Fixed broken implementation.
331 2002-04-13 Bill Haneman <bill.haneman@sun.com>
334 Added implementation code for Accessibility_Magnifier_exit ().
336 * util/mag_control.c:
337 Added test code for above method; you can
338 now kill an existing magnifier via
339 ./mag_control q, from the util directory.
341 * test/key-listener-test.c:
343 Added a new test, for our key listener API.
345 2002-04-11 Bill Haneman <bill.haneman@sun.com>
347 * test/app.c, test/keysynth-demo.c:
349 Replace use of snprintf with g_snprintf.
350 (fix for bugzilla 78249)
352 2002-03-27 Michael Meeks <michael@ximian.com>
356 * util/Makefile.am (INCLUDES): fix.
357 (DONT_DIST_SOURCE): don't distribute the
360 * libspi/Makefile.am (dist-hook): ditto.
362 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
364 * libspi/hypertext.c:
365 Fix warnings when yelp is used with atk-bridge
367 2002-03-21 Michael Meeks <michael@ximian.com>
369 * libspi/application.c (spi_application_new):
370 use spi_accessible_construct so we use the AtkObject
373 2002-03-19 Michael Meeks <michael@ximian.com>
375 * registryd/registry.c (desktop_remove_application),
376 (desktop_add_application): clean coding style.
378 * registryd/desktop.c (spi_desktop_remove_application),
379 (spi_desktop_add_application): kill re-enterency hazards.
380 (spi_desktop_dispose): remove bogus redundant cast
381 obscuring bug; fix bug too.
382 (spi_desktop_init): make the desktop object immortal.
384 2002-03-16 Bill Haneman <bill.haneman@sun.com>
387 Added a #define-guarded tree-traversal step
388 when enumerating the apps (diagnostic tool).
390 2002-03-15 Bill Haneman <bill.haneman@sun.com>
392 * idl/Accessibility_Role.idl:
393 Added ROLE_DRAWING_AREA which seemed to be missing from the
396 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
398 * cspi/spi-roletypes.h cspi/spi_accessible.c
399 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
402 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
403 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
404 AT when applications are added and removed from the desktop. This
405 reverts the previous broken implementation using the backing
406 AtkObject for the SpiDesktop.
408 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
410 * registryd/desktop.c: emit the "children-changed::add" and
411 "children-changed::remove" signals on the backing ATK object for
412 the desktop so AT can tell when applications are started and shut
415 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
417 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
419 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
421 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
423 * cspi/spi_accessible.c: Implemented c bindings for stateset support
425 * cspi/state-types.h: synched with IDL and ATK
427 2002-03-13 Bill Haneman <bill.haneman@sun.com>
429 * libspi/accessible.c
430 (impl_accessibility_accessible_get_child_at_index):
431 Change return value for g_return_if_fail ()
432 to CORBA_OBJECT_NIL instead of "0" (!)
434 * registryd/Makefile.am:
435 * registryd/Accessibility_Register.server.in:
436 Changed name of executable, "registryd",
437 to something more informative:
440 2002-03-13 Michael Meeks <michael@ximian.com>
442 * atk-bridge/bridge.c (atk_bridge_init): don't register
443 if we're in a bonobo-component, rather than a bonobo app.
445 2002-03-13 Michael Meeks <michael@ximian.com>
447 * atk-bridge/bridge.c (gtk_module_init): split
448 out body to (atk_bridge_init): here, since otherwise
449 we get symbol conflicts and oddness when invoked
450 from (gnome_accessibility_module_init): here (upd.)
452 2002-03-11 Bill Haneman <bill.haneman@sun.com>
455 New file. Explicitly allow "build sheriff" putbacks provided
456 they are tested on Solaris.
458 * docs/reference/cspi/Makefile.am:
459 Added '-' to the "cp" command for index.sgml.
460 ("patch by thomasvs, soon coming to a GUADEC near you")
463 Incremented version number (0.9.0) for new release.
464 Changed macro that checks for popt, to better detect
465 obsolete versions of popt.
468 Added X_LIBS to AC_SUBST, for applications
469 that call Xlib API directly.
472 2002-03-07 Bill Haneman <bill.haneman@sun.com>
475 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
478 Fix regression caused by hard-coding major
479 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
482 * test/test-simple.c (test_editable_text),
483 (test_test): revert previous change (error was
484 a regression in gail which is now fixed).
486 2002-03-04 Michael Meeks <michael@ximian.com>
488 * test/test-simple.c (test_editable_text),
489 (test_text): pass G_MAXINT instead of '-1' for
490 whole string - is this a good thing !?
492 * cspi/spi_accessible.c
493 (Accessible_getRelationSet): fix crasher bug
494 overwriting the end of the array.
496 * test/test-simple.c (validate_accessible): free,
497 not g_free returned relation set.
499 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
501 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
502 implemented stateset support
504 * idl/Accessibility_State.idl: Made necessary changes to
505 the IDL to support state sets.
507 2002-02-12 Bill Haneman <bill.haneman@sun.com>
509 * registryd/deviceeventcontroller.c:
510 Added implementation for generateMouseEvent.
512 * cspi/spi_registry.c:
513 Connected new implementation for generateMouseEvent
516 2002-02-12 Bill Haneman <bill.haneman@sun.com>
519 Incremented revision (but no change in public API
520 outside of 'utils', which are not installed public yet.)
522 * libspi/component.c:
523 Changed to use atk_component API for layers and
524 mdi_zorder, instead of deprecated atk_object API.
526 Magnification Utility Enhancements:
529 Added implementation of createZoomRegion, clearAllZoomRegions,
530 resizeZoomRegion. Added new commandline argument
531 "--no-initial-region". Note that clearAllZoomRegions doesn't
532 unmap the old '0' region as it should (yet), and the other
533 methods only work when creating/resizing a single region,
535 (Code for multiple region support will be added later.)
538 Now we raise the magnifier window each time it's refreshed;
539 this will help keep it on top.
542 Added simple wrappers for above, used by mag_control.
543 For general use, it's recommended to use the bonobo magnifier
544 control API directly instead of using these wrappers.
547 Moved ZoomRegionData from magnifier.c to this file.
549 * util/mag_control.c:
550 Added some code to exercise new IDL implementations.
552 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
554 * libspi/text.c: Provide implementation for getAttributes.
556 2002-02-04 Bill Haneman <bill.haneman@sun.com>
559 Incremented revision.
561 * test/test-simple.c:
562 Replaced use of deprecated g_main_iteration with
563 g_main_context_iteration.
565 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
568 Incremented revision for desktop alpha 2.
570 2002-01-28 Mark McLoughlin <mark@skynet.ie>
572 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
575 * test/simple-at.c: include netinet/in.h.
577 2002-01-24 Mark McLoughlin <mark@skynet.ie>
579 * cspi/spi_accessible.c: (Accessible_getRelationSet):
580 use NULL, not CORBA_OBJECT_NIL.
582 * libspi/accessible.c:
583 (impl_accessibility_accessible_get_relation_set):
584 allocate the sequence correctly.
586 * libspi/remoteobject.h: kill spi_remote_object_new.
588 * test/test-simple.c: (validate_accessible): add code
589 to test relation sets, now all we need is to figure
590 out how to excercise this code path :/
592 2002-01-18 Michael Meeks <michael@ximian.com>
595 (key_listener_cb): consume the key.
596 (test_keylisteners): update.
597 (main): wait for any pending unrefs on events.
599 * registryd/deviceeventcontroller.c
600 (spi_controller_update_key_grabs): only re-issue the
601 grab on a key release.
602 (spi_device_event_controller_forward_key_event):
603 refresh the keygrabs before we notify the listeners,
604 to reduce the X ungrab / re-grab race.
605 (spi_controller_register_with_devices): remove
606 XSelectInput - we do that with the gdk_window_ call.
607 (_spi_controller_device_error_handler): return a value.
608 s/GDK_DISPLAY/spi_get_display/
610 2002-01-17 Michael Meeks <michael@ximian.com>
612 * registryd/deviceeventcontroller.c
613 (_deregister_keygrab): don't blow out the later
616 * test/test-simple.c (test_keylisteners): do a
617 more intelligent validation.
619 2002-01-14 Michael Meeks <michael@ximian.com>
621 * atk-bridge/bridge.c
622 (gnome_accessibility_module_init),
623 (gnome_accessibility_module_shutdown): impl.
624 (gtk_module_init): protect vs. double inits.
625 (add_signal_listener): impl.
626 (spi_atk_bridge_state_event_listener): kill
627 (deregister_application): split out of
628 (spi_atk_bridge_exit_func): here.
630 2002-01-18 Bill Haneman <bill.haneman@sun.com>
633 Added caret tracking when using magnifier, and
634 now use text bounds for focus tracking of text elements, rather than
635 the component bounds - this is helpful for short text fields in long
636 table cells, at high magnification.
638 2002-01-16 Bill Haneman <bill.haneman@sun.com>
640 * registryd/deviceeventcontroller.c:
641 Regression fix for keylistener de-registration; global keygrabs
642 were not being released when deregisterKeystrokeListener was
643 called in cspi, since
644 Accessibility_DeviceEventController_deregisterKeystrokeListener
645 was called with a zero-length keyset. That is because the cspi
646 method, SPI_deregisterKeystrokeListener, does not take a keyset
647 parameter but instead should remove all the key grabs held be a
649 The code in impl_deregister_keystroke_listener was changed to copy
650 the keylist from the listener instance previously registered with
651 the DeviceEventController before releasing the grabs.
653 * registryd/registry.c:
654 * registryd/deviceeventcontroller.c:
655 * libspi/spi-private.h:
657 Changed spelling of "re-enterant" to "re-entrant" globally.
659 2002-01-16 Bill Haneman <bill.haneman@sun.com>
661 * test/test-simple.c:
662 Changed key listeners test - the test was slightly mis-using the
663 (admittedly poorly documented) SPI_generateKeyboardEvent API.
664 It now uses '=' as the key event listened to and generated,
665 relying on a keysym match rather than assuming that keycode 33
666 is always equal to keysym '!'.
668 2002-01-15 Bill Haneman <bill.haneman@sun.com>
671 Changed simple-at to use a specific keyset, rather than
672 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
673 manager, desktop, etc.
675 2002-01-11 Bill Haneman <bill.haneman@sun.com>
677 * registryd/deviceeventcontroller.c:
678 Replaced standard X error handler with a special handler that
679 is non-fatal for failed keygrabs. This works around
680 problems with keygrab clashes sometimes observed on
682 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
683 mouse handling code as yet).
685 2002-01-11 Bill Haneman <bill.haneman@sun.com>
688 Incremented revision for desktop alpha release.
691 Fixed a couple of the more glaring errors (still not
694 2002-01-11 Michael Meeks <michael@ximian.com>
696 * registryd/deviceeventcontroller.c
697 (spi_device_event_controller_forward_key_event): kill
698 XUngrabKey / XKeyGrab race.
699 (spi_controller_grab_keyboard): rename to
700 (spi_controller_update_key_grabs): this, and deal
701 with incremental adding / removing grabs more
703 (_register_keygrab): ensure we're not pending a remove.
704 (spi_grab_mask_free): impl.
705 (spi_controller_register_global_keygrabs): split out
707 (handle_keygrab): impl.
708 (_deregister_keygrab): impl.
709 (spi_controller_deregister_global_keygrabs): impl.
710 (spi_controller_update_key_grabs): re-issue the grab if
711 we just recieved a notification.
713 * test/test-simple.c (key_listener_cb): remove debug.
715 * registryd/deviceeventcontroller.c
716 (spi_controller_register_device_listener): after
717 registering a global keygrab, actualy register it !
718 don't wait for a timeout; doh !
720 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
721 to make it more readable / manipulable.
722 s/grabmask/grab_mask/ s/refcount/ref_count/
723 s/keyval/key_val/ s/modmask/mod_mask
725 2002-01-08 Michael Meeks <michael@ximian.com>
727 * registryd/deviceeventcontroller.c
728 (spi_controller_register_with_devices): use gdk calls to
730 (global_filter_fn): implement the filter.
731 (spi_device_event_controller_check_key_event): rename to
732 (spi_device_event_controller_forward_key_event): this & upd.
733 (spi_get_display): replace with GDK_DISPLAY.
735 * registryd/deviceeventcontroller.c
736 (spi_controller_deregister_device_listener): unroll into
737 (impl_deregister_keystroke_listener): here to simplify.
738 (spi_controller_register_global_keygrabs): split cut and
739 paste (!) out into (_register_keygrab): here, shorter & sweeter.
740 (spi_controller_deregister_device_listener): remove.
741 (impl_register_mouse_listener): remove, no mouse listener
742 support in at-spi-1.0
744 * registryd/registry.c
745 (_device_event_controller_hook): kill.
746 (spi_registry_init): upd.
748 * registryd/deviceeventcontroller.c
749 (spi_device_event_controller_class_init): upd.
750 (spi_check_key_event): merge into.
751 (spi_device_event_controller_check_key_event):
752 here and kill strange static ev init, don't leak
753 the x_event - nor dynamicaly allocate it.
755 * registryd/registry-main.c (main): re-direct
756 timeout to remove strange vtable mess.
758 * registryd/deviceeventcontroller.c
759 (remove_listener_cb): impl.
760 (spi_controller_deregister_device_listener):
761 fix re-enterancy hazard.
763 2002-01-07 Michael Meeks <michael@ximian.com>
765 * registryd/deviceeventcontroller.c
766 (spi_device_event_controller_new): upd.
767 (impl_notify_listeners_sync): upd. debug.
768 (spi_notify_keylisteners): fix re-enterancy hazards,
769 prettify, remove O(n*n) iteration.
770 (spi_controller_grab_keyboard): fix iteration.
771 (spi_check_key_event): re-format to suit coding style.
772 Clean all the warnings - we're warning free.
774 * registryd/deviceeventcontroller.h:
775 * registryd/registry.h: make mutualy referential with
776 typesafe forward references instead of (!) void pointer
779 2002-01-11 Michael Meeks <michael@ximian.com>
781 * cspi/spi_accessible.c (role_names): add a role name
782 to sync this array with the enum; and make the regression
785 2002-01-10 Michael Meeks <michael@ximian.com>
787 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
788 allow expansion of enumeration & kill warning.
790 * test/test-simple.c (key_listener_cb): impl.
791 (test_keylisteners): impl.
793 * cspi/spi-listener.h: make listener signatures const
794 on the provided (const) events.
796 * test/keysynth-demo.c: upd. to const events.
798 * test/simple-at.c: ditto.
800 2002-01-11 Bill Haneman <bill.haneman@sun.com>
803 Rev the version to 0.5 (the previous tarball was named 0.4,
804 even though the micro number was 3), so we need to rev upwards
805 again for beta2/"desktop-alpha"
808 Checked in a demo script, which requires editing before use!
809 Proceed with caution.
812 Fixed typo in header which was redefining SPI_ACTION_CLASS.
814 * cspi/spi_accessible.c:
815 Add a couple of missing enum initializations, and fix some enum
818 * cspi/spi_registry.c:
819 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
821 * docs/reference/cspi/at-spi-cspi-sections.txt:
822 Remove/fix a couple of broken document references.
825 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
826 as Alt-Control to listen for commands, since on some systems
827 Control-Alt may already be grabbed.
829 2002-01-10 Bill Haneman <bill.haneman@sun.com>
832 Update version number to 0.4 for Beta2.
834 * libspi/accessible.c, libspi/accessible.h:
835 Expose spi_accessible_construct, to enable libgail-gnome
836 construction from spi_accessible subtype.
839 Workaround for bug in some non-gnome-compliant window managers
840 which made magnifier resize improperly.
842 2002-01-09 Bill Haneman <bill.haneman@sun.com>
844 * libspi/accessible.c: (spi_accessible_new) :
845 Move the test for SPI_IS_REMOTE_OBJECT to
846 spi_accessible_new_return, fixing a bug and compile time warning.
848 2002-01-08 Michael Meeks <michael@ximian.com>
850 * registryd/registry.c (parse_event_type): remove strndup.
852 * libspi/Makefile.am (libspi_la_SOURCES): remove
853 sources already included in the headers section.
855 * libspi/util.c: add.
857 * libspi/spi-private.h: add.
859 * registryd/registry.c: update to moved list iterators.
861 2002-01-05 Michael Meeks <michael@ximian.com>
863 * test/simple-at.c (main): upd. auto-module set to atk-bridge
865 * test/test-simple.c (main): ditto.
867 2002-01-04 Michael Meeks <michael@ximian.com>
869 * libspi/accessible.c (spi_accessible_new): remove 2nd,
872 * registryd/registry.c
873 (get_listener_list): impl.
874 (impl_accessibility_registry_register_global_event_listener):
875 re-impl. to simplify using ~, remove dodgy const cast off.
876 (parse_event_type): constify.
877 (impl_accessibility_registry_deregister_global_event_listener_all):
878 re-write, more efficiency and simplicity, kill re-enterancy
880 (compare_listener_corbaref, compare_corba_objects),
881 (compare_listener_quarks): define out.
882 (impl_accessibility_registry_deregister_global_event_listener):
883 re-write for effiency, and nail re-enterancy hazard.
884 (impl_accessibility_registry_get_desktop_list): impl.
885 (re_enterant_list_delete_link): impl.
886 (re_enterant_list_foreach): impl.
887 (remove_listener_cb): impl.
888 (_registry_notify_listeners): kill.
889 (notify_listeners_cb): impl.
891 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
892 (SPI_getDesktopList): impl.
894 * test/test-simple.c (test_desktop): test the methods.
896 2002-01-03 Michael Meeks <michael@ximian.com>
898 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
899 keystrings since we free them
900 (SPI_freeAccessibleKeySet): in here.
902 * libspi/accessible.c (spi_accessible_new): kill warning,
903 wonder what is going on with the constructor here.
905 2002-03-01 Bill Haneman <bill.haneman@sun.com>
907 * libspi/accessible.c (spi_accessible_new ()) :
908 Added check to see if AtkObject is an SpiRemoteObject before
909 creating an SpiAccessible.
911 2002-05-01 Bill Haneman <bill.haneman@sun.com>
913 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
914 Enable keygrabs using the Control modifier, now that they are
915 working properly (they were previously disabled).
918 Change the command keygrab for this demo to "Control+Alt", so as
919 to conflict with fewer other key commands on the system; this
920 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
922 Removed a pointlessly-chatty keylistener for unshifted keys
923 (shifted keys are still reported).
925 2002-02-01 Bill Haneman <bill.haneman@sun.com>
927 * libspi/remoteobject.h:
928 * libspi/remoteobject.c:
929 Added definitions for special AtkObject subtype, required for
930 support of remote components (specifically, used by BonoboControl
931 accessibility implementation).
933 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
935 * cspi/spi.h: synched relation types with ATK
937 * cspi/spi_accessible.c: Added implementations of
938 AcccessibleRelation_* methods
940 * idl/Accessibility_Relation.idl: added getRelationTypeName
941 method. Synched known relation types with ATK. Allowed for
942 relation type extension with the RELATION_EXTENDED type.
944 * libspi/relation.c: Provided implementations for
945 AccessibleRelation methods.
947 2002-01-01 Bill Haneman <bill.haneman@sun.com>
949 API tweaks for today's API 'freeze'.
952 Added placeholder functions to allow future compatible expansion
953 of the IDL interfaces.
955 * idl/Accessibility_Registry.idl:
956 Changed generateKeyEvent to generateKeyboardEvent. Changed
957 signature of this method to accept an optional keystring in
958 parameter (for complex text input synthesis) and changed use of
959 simple 'boolean' parameter in registerKeystrokeListener to a
960 struct, EventListenerMode.
962 * cspi/spi_accessible.c:
964 * cspi/spi_streamablecontent.c:
965 Added references to AccessibleStreamableContent interface, and
966 definition and implementation of AccessibleStreamableContent
969 * cspi/spi_registry.c:
971 Changed generateKeyEvent API to generateKeyboardEvent,
972 taking a new (optional) keystring parameter to support complex
977 Renamed directory (to better reflect its actual purpose, bridging
978 from at-spi to ATK). The .so module is also now named
981 * idl/Accessibility_Hypertext.idl:
982 * libspi/accessible.c:
983 * libspi/hypertext.h:
984 * libspi/hypertext.c:
985 Changed Accessibility_Hypertext to *not* derive from
988 * cspi/spi_registry.c:
989 Added list of legal event type names for 'window' events, which
990 completes the registry event API.
992 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
994 * at-bridge/bridge.c: Added registration for separate
995 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
996 signals. If either of the first two parameters to the generic
997 bridge signal handler are ints, they are passed on as event
998 details. This allows an AT to determine what text was inserted.
1000 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1002 * registryd/deviceeventcontroller.c:
1003 Fixed regressions in generateKeyEvent caused by the removal of
1004 gdk_init from registryd; we now use pure X calls to connect to the
1005 display, which makes sense because deviceeventcontroller already
1006 uses a fair bit of X API (should eventually be migrated to a
1007 'portability layer').
1009 * registryd/desktop.c:
1010 Fixed minor regression in spi_desktop_init, changed the way the
1011 desktop name is being set to work with new spi_base API
1012 (gobject-based, rather than AtkObject-based).
1014 * registryd/Makefile.am:
1015 Minor revision of makefile to use XTST_LIBS variable rather than
1016 hard-wiring the Xtst LD_ADD element.
1018 * test/keysynth-demo.c:
1019 Tweaked an output message; added initialization of the
1020 'keystrings' member of the "switch listener" key_set.
1022 * libspi/relation.c:
1023 Squashed compile-time warning.
1025 * libspi/accessible.c:
1026 Cosmetic and formatting fixes, renamed a static method.
1028 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1030 * libspi/accessible.c
1032 * libspi/application.c
1035 * libspi/component.c
1036 * libspi/editabletext.c
1037 * libspi/hyperlink.c
1038 * libspi/hypertext.c
1040 * libspi/selection.c
1044 * registryd/desktop.c:
1045 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1047 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1049 * idl/Accessibility_Registry.idl:
1050 Added boolean member 'is_text' to DeviceEvent. This is for the
1051 use of key events, and helps prevent ambiguity between composed
1052 key strings and keysym names, since both may potentially be
1053 returned in the 'event_string' member.
1055 * at-bridge/bridge.c:
1056 * registryd/deviceeventcontroller.c:
1057 Use the 'is_text' member when notifying device event listeners.
1058 Knon issue: composed characters are not dealt with correctly by
1059 the global key listener implementation yet.
1061 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1063 * at-bridge/bridge.c:
1064 Namespaced local static methods to spi_atk_bridge_* where
1065 previously named bridge_*, and spi_* elsewhere.
1067 * at-bridge/bridge.c:
1068 * cspi/bonobo/cspi-bonobo-listener.c:
1069 Added demarshalling/conversion for string member of
1070 Accessibility_DeviceEvent to AccessibleKeystroke.
1072 * registryd/deviceeventcontroller.c:
1073 Added code to fill the Accessibility_DeviceEvent key string value
1074 member for global key events (i.e. from XGrabKey), to match
1075 behavior of Accessibility_DeviceEvent from the toolkit key events
1076 from the bridge. Fixed timestamp in global key event notifications.
1079 Added printout of key event's string value to
1080 report_ordinary_key_event, for demo/debugging purposes.
1082 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1084 * idl/Accessibility_Registry.idl:
1085 Removed Accessibility_KeyStroke structure in favor of generic
1086 Accessibility_DeviceEvent structure.
1087 Changed Accessibility_ControllerEventMask from a struct to an
1090 * at-bridge/bridge.c:
1091 Changed APIs to use DeviceEvent structure as above, and removed
1092 bogus casting between these event structures.
1094 * cspi/spi-listener.h:
1095 Added keystring member of AccessibleKeystroke structure, to enable
1096 matching on event "names" rather than only hardware codes and
1100 Added keystrings member of AccessibleKeySet struct, to allow
1101 matching on event names (as above).
1102 Added declarations for SPI_createAccessibleKeySet and
1103 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1104 event modmasks directly as unsigned ints rather than structs with
1105 refcounts, in the DeviceEventController methods.
1107 * cspi/spi_registry.c:
1108 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1110 * cspi/spi-roletypes.h:
1111 Added documentation of newly added SPI Roles.
1113 * cspi/bonobo/cspi-bonobo-listener.c:
1114 Changes in support of API changes above.
1116 * libspi/accessible.c:
1117 Converted APIs to use DeviceEvent structure (see IDL changes
1120 * registryd/deviceeventcontroller.c:
1121 Added DEControllerGrabMask structure to track keygrabs not only by
1122 modmask but by keyset as well; this allows us to do "global"
1123 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1124 grabbing on AnyKey and then filtering after-the-fact.
1125 Bugfixes for event filtration mean that we don't get false matches
1126 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1128 * registryd/deviceeventcontroller.c:
1129 Namespaced a number of static methods to use spi_ prefix. Major
1130 revision to internals of global (i.e. X) key grabs.
1132 * registryd/deviceeventcontroller.h:
1133 Removed keymask_list and added keygrabs_list to
1134 SpiDeviceEventController struct.
1137 Added use of SPI_createAccessibleKeySet API when creating a
1138 listener for only one key. Attach a listener to "shift spacebar
1139 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1140 X key event names to SPI key event names, so that listeners are
1141 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1143 * test/keysynth-demo.c:
1144 Changed (incorrect) use of X key event names (KeyPressed,
1145 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1148 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1150 * libspi/accessible.c:
1151 Convert all AtkRole enumerations to Accessibility_Role enums when
1152 getting a role from an AtkObject.
1154 * cspi/spi_accessible.c:
1155 Complete the conversion of Accessibility_Role enums at runtime to
1156 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1157 role enums correctly match those given in spi-roletypes.h.
1158 Re-synchronize the local names list for AccessibleRole_getName ().
1159 AccessibleRole_getName is now deprecated, since it duplicates the
1160 more reliable Accessible_getRoleName.
1161 Added some role types from Accessibility_Role.idl.
1163 * idl/Accessibility_Role.idl:
1164 Added some role types used by AtkRole.
1166 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1169 * cspi/spi_registry.c:
1171 * cspi/cspi-bonobo-listener.c:
1172 Namespaced all methods that did not begin with an "SPI_" or
1173 "Accessible" prefix to "SPI_".
1176 Homogenized internal function namespace to "cspi_" for statics.
1179 Patched tests to use the new CSPI API.
1181 * docs/reference/cspi/at-spi-cspi-sections.txt:
1182 Updated docs to reflect namespace changes, and added a number of
1183 methods to the documentation.
1185 * registryd/registry.c:
1186 Changed use of strings and string hashes in listener event
1187 matching and parse_event_string to use GQuark, which is guaranteed
1190 * registryd/registry.h:
1191 Squashed annoying warning.
1193 * idl/Accessibility_Role.idl:
1194 Extended range of available Accessibility_Role values.
1196 * cspi/spi_accessible.c:
1197 Re-ordered role names.
1199 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1201 * idl/Accessibility_Value.idl:
1202 Revert use of union back to CORBA_double, since the double type is
1203 more efficient and can contain the other types without loss of
1206 * idl/Accessibility_Accessible.idl:
1207 Added method Accessibility:Accessible:getRoleName, to complement
1208 Accessibility:Accessible:getRole.
1210 * cspi/spi_accessible.c:
1212 Added C binding for above, Accessible_getRoleName (), and changed
1213 signature of Accessible_getRole () to return an AccessibleRole.
1215 * cspi/spi-roletypes.h:
1216 Changed AccessibleRole_getName to return a char * instead of a
1217 const char *. This method is now at least temporarily deprecated
1218 in favor of asking Accessibles for their RoleNames directly.
1221 Revert to match Accessibility_Value.idl;
1225 Change signature of AccessibleValue methods to use double rather
1229 * cspi/spi_accessible.c:
1230 Changed Accessible_getRole to return an AccessibleRole enum rather
1231 than a UTF-8 string. The UTF-8 string can still be obtained via
1232 AccessibleRole_getName ().
1234 * test/test-simple.c:
1235 Add test_action. Small fixup to match API change to Accessible_getRole.
1238 Bugfix for get_action_from_servant ().
1240 2001-12-11 Michael Meeks <michael@ximian.com>
1242 * libspi/libspi.h: remove registry.h and
1243 desktop.h, deviceeventcontroller.h
1245 * libspi/Makefile.am: remove registry.[ch],
1246 desktop.[ch], deviceeventcontroller.[ch]
1248 * registryd/Makefile.am: add registry.[ch],
1249 desktop.[ch], rename registryd.c to registry-main.c.
1250 add deviceeventcontroller.[ch]
1252 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1255 Replace setenv() call with putenv ().
1257 * libspi/component.c:
1258 Bugfix in AccessibleComponent_getExtents (),
1261 2001-12-11 Michael Meeks <michael@ximian.com>
1263 * libspi/image.c (impl_getImageExtents): impl.
1264 (spi_image_class_init): upd.
1267 (AccessibleImage_getImageDescription): fix daft bug
1270 * test/test-simple.c (global_listener_cb): update
1271 to only quit if not --poke
1272 (main): catch --poke.
1273 (validate_accessible): upd. dumping, call test_image
1276 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1279 * idl/Accessibility.idl: update all IDL includes.
1281 * idl/*.idl - rename to namespace - this sucks, blame
1282 mjs' bad decision for oafd.
1284 * test/test-simple.c (create_test_window): add more tests.
1285 (create_tree): split this out.
1286 (validate_accessible): bugfix.
1288 2001-12-11 Michael Meeks <michael@ximian.com>
1290 * cspi/bonobo/cspi-bonobo-listener.c:
1291 (cspi_kestroke_listener_unref),
1292 (cspi_event_listener_unref): impl. undoing previous
1293 homenous environment - for Bill.
1295 * cspi/spi_table.c (long_seq_to_array): use
1298 * cspi/spi_main.c: split out all bonoboish bits into
1301 * cspi/spi-impl.h: upd. typedefs.
1303 * cspi/spi_registry.c: update to lowlevel API,
1304 return booleans to indicate success in some places.
1306 * cspi/spi_event.c: update to lowlevel API.
1308 * cspi/bonobo/Makefile.am: add.
1310 * cspi/bonobo/cspi-lowlevel.h: add
1312 * cspi/bonobo/cspi-bonobo.c: add
1314 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1316 * cspi/Makefile.am: remove spi-listener-impl.[ch],
1317 (SUBDIRS): add bonobo, link in the libs.
1319 * cspi/spi-util.c: kill this file.
1321 * TODO: merge in my bits.
1323 2001-12-11 Michael Meeks <michael@ximian.com>
1325 * test/test-simple.c (test_value, test_table, main):
1326 remove unused variables causing warnings.
1328 * configure.in: cleanup checks - require gail.
1330 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1333 Changed Value interface to use SValue (scalars) rather than
1334 assuming all values are floats. This allows floats, doubles,
1335 longs, shorts, and unsigned values to be manipulated.
1336 Introduced Accessibility:SValue union.
1339 Updated to use new API above, and to work correctly with GValues
1340 of different types in AtkValue.
1343 Updated to use new API above. cspi's API is as yet unchanged.
1346 Updated the Value revision action item.
1348 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1350 * test/test-simple.c:
1351 Added test_table (GtkTreeView widget in test window to follow).
1352 Un-commented test_value, added GtkRange widget.
1353 Added GtkTreeView widget with GtkListStore. It passes regression
1354 test but leaks one SPI object for some reason.
1357 Fixed bug in impl__set_currentValue.
1359 2001-12-10 Michael Meeks <michael@ximian.com>
1361 * cspi/spi_text.c: audit for exception handling,
1362 tolerating NULL object references safely etc.
1364 * cspi/spi_value.c: ditto.
1366 * cspi/spi_table.c (AccessibleTable_getSummary),
1367 (AccessibleTable_getAccessibleAt),
1368 (AccessibleTable_getRowHeader),
1369 (AccessibleTable_getColumnHeader),
1370 (AccessibleTable_getCaption): fix bugs hidden by
1372 (long_seq_to_array): impl.
1373 (AccessibleTable_getSelectedRows),
1374 (AccessibleTable_getSelectedColumns): use it.
1376 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1379 Added a TODO list (rough and short for now).
1381 * cspi/spi_hyperlink.c:
1382 * cspi/spi_hypertext.c:
1383 Fixed macro name typos, and remove use of obsolete macro in
1384 AccessibleHyperlink_getLink.
1386 * cspi/spi_action.c:
1387 * cspi/spi_accessible.c:
1388 * cspi/spi_application.c:
1389 * cspi/spi_component.c:
1390 * cspi/spi_selection.c:
1393 Documentation fixes (removed return values from ref/unref methods).
1395 2001-12-10 Michael Meeks <michael@ximian.com>
1397 * cspi/spi_action.c: audit for exception handling,
1398 tolerating NULL object references safely etc.
1400 * cspi/spi_accessible.c: ditto.
1402 * cspi/spi_component.c: ditto.
1404 * cspi/spi_editabletext.c: ditto.
1406 * cspi/spi_hyperlink.c: ditto.
1408 * cspi/spi_hypertext.c: ditto.
1410 * cspi/spi_image.c: ditto.
1412 * cspi/spi_selection.c: ditto.
1414 2001-12-10 Michael Meeks <michael@ximian.com>
1416 * configure.in: use cspi/libspi.pc.in instead.
1418 * Makefile.am (pkgconfig_DATA): upd. to match.
1420 * test/simple-at.c (report_focus_event): kill hacks around
1421 bad return values, use putenv not setenv
1423 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1424 fire ChildGone - I killed it.
1426 * libspi/component.c
1427 (impl_accessibility_component_get_extents): remove
1430 * idl/Accessible.idl: kill ChildGone exception.
1432 * cspi/*.[ch]: kill int return from ref / unref.
1434 * cspi/spi_main.c (cspi_object_add_check): fold into
1435 (cspi_object_add): here.
1437 * cspi/spi_component.c (AccessibleComponent_getExtents):
1438 handle exceptions elegantly.
1440 * cspi/spi-private.h (cspi_check_ev_return),
1441 (cspi_return_if_fail): impl.
1443 * cspi/spi_accessible.c: use extensively.
1444 (AccessibleStateSet_equals): add direct compare check.
1446 * cspi/spi_selection.c: tolerate NULL objs, and check
1447 exceptions before return.
1449 * cspi/spi-util.c (cspi_warn_ev): rename to
1450 (cspi_check_ev): this & don't pass ev in; no point.
1452 2001-12-10 Michael Meeks <michael@ximian.com>
1454 * test/test-simple.c: use putenv not setenv
1455 (get_environment_vars): more chatty if you're not using
1458 * test/simple-at.c: do the setenv so more people see the
1461 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1463 * libspi/registry.c:
1464 Changed check of CORBA_environment on notification to be a warning
1465 instead of an error for the moment, since we can recover from this
1466 error when caused by a queued notification from a dead app.
1469 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1470 used by all current implementors of AtkValue), and coerce to
1471 CORBA_float. (Proper general case fix may require change to Value.idl).
1473 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1477 * cspi/spi_accessible.c:
1478 Documentation fixes: added user_data params to documentation for
1479 listeners and callbacks.
1481 * cspi/spi_accessible.c:
1482 Changed AccessibleStateSet_compare to return a
1483 StateSet rather than return the difference set into a third parameter.
1486 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1489 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1490 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1494 Remove subdirectory po from SUBDIRS for now.
1496 * at-bridge/bridge.c:
1497 Beefed up a couple of debug printouts.
1498 One-line fix for signal notification name formatting.
1500 * libspi/accessible.c:
1501 Added assertion to spi_accessible_new ().
1503 * libspi/application.c:
1504 Put #ifdef qualifiers around a printf.
1507 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1509 * registryd/Makefile.am:
1511 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1512 INTLTOOL_SERVER_RULE macro.
1515 Added an event listener for several ATK signals, for
1516 testing and debugging. Removed a few g_warnings.
1517 Added test output if focussed item implements the Value interface.
1519 * test/test-simple.c:
1520 Added test_value () function (known not to pass at the moment, so
1521 not actually called yet.
1523 2001-12-08 Michael Meeks <michael@ximian.com>
1525 * at-bridge/bridge.c (bridge_focus_tracker),
1526 (emit_eventv): fix the same ref. leak.
1527 (register_atk_event_listeners): don't leak.
1529 * cspi/spi-listener-impl.c (cspi_event): more
1530 protection from client code.
1532 * test/test-simple.c (test_desktop): unref the app.
1534 * test/Makefile.am: upd. TESTS.
1536 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1538 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1540 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1542 * cspi/spi_registry.c: constify in strings.
1543 (deregisterGlobalEventListenerAll): don't release the ref.
1545 * cspi/spi.h: start removing redundant / conflicting
1546 gtkdoc comments, making the API readable at a glance :-)
1548 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1550 * test/keysynth-demo.c (keysynth_exit, main): upd.
1552 * test/simple-at.c (main, simple_at_exit): upd.
1554 * test/test-simple.c (unutterable_horror): kill.
1555 (utterable_normal_derefs): kill.
1556 (main): upd & do a setenv before gtk_init, so that we
1557 can use memprof - and to save the pain of remembering
1558 this, if we're running under memprof - don't exit.
1560 * cspi/spi_main.c (SPI_exit): return exit status
1562 (SPI_event_quit): impl.
1563 (SPI_event_main): simplify.
1564 (cspi_is_gnome_app): kill.
1565 (SPI_init): kill isGNOMEapp arg.
1567 * at-bridge/bridge.c (register_atk_event_listeners):
1568 re-instate the unref.
1569 (bridge_exit_func): don't re-activate the registry,
1570 protect vs. theoretical re-entry, use the
1571 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1572 assert a clean shutdown - for regression tests.
1574 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1576 * configure.in: Comment out dummy i18n support for now,
1577 otherwise it fails to build.
1578 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1579 EXTRA_DIST. They are missing in tarball.
1581 2001-12-07 Michael Meeks <michael@ximian.com>
1583 * util/magnifier.c: kill bonobo activation reg. race.
1585 * libspi/component.c
1586 (impl_accessibility_component_get_extents): make it match
1589 * libspi/registry.c (_registry_notify_listeners):
1590 re-remove X headers & reconcile conflicts.
1591 (spi_listener_struct_free): bad conflict resolve.
1592 (impl_accessibility_registry_register_application):
1593 more bad merging fixed.
1594 (impl_accessibility_registry_deregister_application): ditto.
1595 (spi_registry_new): ditto.
1596 (spi_registry_init): don't have an applications field.
1598 [ merge fixups2 branch to here ]
1599 2001-12-07 Michael Meeks <michael@ximian.com>
1601 * test/simple-at.c (report_focus_event),
1602 (report_focussed_accessible): remove g_warning debug.
1604 2001-12-07 Michael Meeks <michael@ximian.com>
1606 * test/test-simple.c (validate_tree): comment out some checks.
1607 (test_desktop): app now not registered idly - horay.
1609 2001-12-07 Michael Meeks <michael@ximian.com>
1611 * cspi/spi_registry.c
1612 (registerAccessibleKeystrokeListener): clean, stop it leaking
1613 great swathes of memory, and device event controller references.
1614 ensure we always pass valid sequences.
1615 (deregisterAccessibleKeystrokeListener): ditto.
1616 (generateKeyEvent): upd.
1618 * at-bridge/bridge.c (bridge_key_listener): handle
1619 registry dead exception gracefully.
1620 (bridge_focus_tracker, emit_eventv): free ev.
1622 * test/simple-at.c (report_focus_event): fix polarity.
1624 * libspi/application.c (notify_listeners): kill the ev
1625 argument, and make sure we init the ev we use.
1626 (spi_application_object_event_listener): split out a chunk
1627 (get_atk_object_ref): here & fixup.
1628 (reverse_lookup_name_for_toolkit_event): make const.
1629 (spi_application_toolkit_event_listener): fixup, kill leaks
1632 * at-bridge/bridge.c (register_atk_event_listeners):
1633 don't unref the noop object - causes grief.
1635 * libspi/registry.c: remove the X headers.
1636 turn off the debug churn.
1638 * libspi/accessible.c (spi_accessible_new_return): only
1639 release the ref if we are supposed to [doh]
1641 * test/simple-at.c (report_button_press, report_focus_event):
1642 guard vs. unexpected exit.
1644 * at-bridge/bridge.c (gtk_module_init): prune printf.
1645 (bridge_exit_func): fix app unref.
1647 * libspi/Makefile.am: don't install registry or desktop.h
1649 * libspi/*.h: update includes.
1651 * libspi/application.h: don't include ourself, or
1652 other redundant headers.
1654 2001-12-06 Michael Meeks <michael@ximian.com>
1656 * libspi/accessible.c
1657 (get_accessible_from_servant): impl.
1658 Upd. all CORBA impl.s to use it killing cut and paste.
1660 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1662 (SPI_init): register atexit cleanup handler here.
1664 2001-12-06 Michael Meeks <michael@ximian.com>
1666 * at-bridge/bridge.c (gtk_module_init): g_error on
1667 activation exception
1669 2001-12-06 Michael Meeks <michael@ximian.com>
1671 * at-bridge/bridge.c (gtk_module_init): some sort of
1672 confusing merge clash - reverted.
1673 (bridge_idle_init): ditto.
1675 * test/test-simple.c (main, utterable_normal_derefs):
1676 merge from Bill - somehow not committed.
1678 2001-12-06 Michael Meeks <michael@ximian.com>
1680 * libspi/value.c (spi_value_class_init): upd.
1681 (spi_value_finalize): kill.
1683 * libspi/table.c (spi_table_finalize): kill.
1684 (spi_table_interface_new): upd.
1685 (spi_table_class_init): upd.
1686 (get_table_from_servant): impl.
1687 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1689 * libspi/selection.c (spi_selection_finalize): kill.
1690 (spi_selection_interface_new): upd.
1691 (spi_selection_class_init): upd.
1692 (get_selection_from_servant): impl.
1693 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1695 * libspi/relation.c (spi_relation_finalize): kill.
1696 (spi_relation_class_init, spi_relation_new): upd
1698 * libspi/image.c (spi_image_finalize): kill.
1699 (spi_image_class_init): upd.
1700 (spi_image_interface_new): upd.
1701 (get_image_from_servant): impl.
1702 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1704 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1705 (spi_hyperlink_finalize): kill.
1706 (spi_hyperlink_new): upd.
1707 (get_hyperlink_from_servant): impl.
1708 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1710 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1711 (spi_hypertext_finalize): kill.
1712 (spi_hypertext_class_init): upd.
1713 (get_hypertext_from_servant): impl.
1714 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1716 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1717 (spi_editable_text_interface_new): upd.
1718 (get_editable_text_from_servant): impl.
1719 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1721 * libspi/text.c (get_text_from_servant): impl.
1722 All impls - update to use it killing more cut and paste,
1723 also fix bad string returns on duff args ( a somewhat
1724 impossible case to handle - but hey ).
1725 (spi_text_construct): impl.
1726 (spi_text_interface_new): upd.
1727 (spi_text_object_finalize): kill.
1729 * libspi/component.c
1730 (accessibility_component_object_finalize): kill.
1731 (spi_component_class_init): upd.
1732 (get_component_from_servant): impl. helper to kill cut & paste.
1733 (impl_accessibility_component_contains):
1734 (impl_accessibility_component_get_accessible_at_point):
1735 (impl_accessibility_component_get_position):
1736 (impl_accessibility_component_get_extents):
1737 (impl_accessibility_component_get_mdi_z_order):
1738 (impl_accessibility_component_get_layer):
1739 (spi_component_interface_new): upd.
1741 * libspi/action.c (spi_action_finalize): kill.
1742 (spi_action_class_init): upd. inherit from SpiObject.
1743 (spi_action_interface_new): upd.
1744 (get_action_from_servant): impl. helper to reduce cut & paste.
1745 (impl_getKeyBinding, impl_getName, impl_doAction),
1746 (impl_getDescription): Use it everywhere.
1748 * cspi/spi_main.c (get_live_refs): a pointer hash.
1749 (spi_object_hash, spi_object_equal): comment out.
1750 There are issues with CORBA object hashing that need
1753 * libspi/application.c (spi_application_init),
1754 (spi_application_new): upd.
1756 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1757 (spi_accessible_class_init): upd.
1758 s/accessible/object/ in epv methods.
1760 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1762 * at-bridge/bridge.c:
1763 Reorder the bridge initialization into the bridge gtk_module_init,
1764 an immediate call to bridge_register_app, and an idle_add for
1765 register_atk_event_listeners (the only code that *must* wait until
1766 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1767 the activation, creates the application's Accessible object, and
1768 queues the bridge_idle_init function. Restored call to
1769 Accessibility_Registry_deregisterApplication().
1770 Prior to making this call we obtain a new reference to the
1771 registry, which is a temporary hack that helps us handle apps that
1772 shut down the bonobo mainloop before we get there.
1774 * libspi/registry.c:
1775 Fix string leakage in debug block, and don't segv if a an app
1776 dies before its event notifications have been propagated.
1779 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1780 as stopgap measure until we get proper exception handling when
1781 objects die during or before interrogation.
1785 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1786 Also changed default value of is_gnome_app to TRUE.
1789 * test/keysynth-demo.c:
1790 Changed use of SPI_init and SPI_event_main to reflect API change above.
1793 Made report_focus_event check the warning value from getName
1794 before reporting on focussed accessible; simplifies handling of
1795 notifications from dead objects.
1797 * test/test-simple.c: (Changes not in this patch since source is
1800 2001-12-05 Michael Meeks <michael@ximian.com>
1802 * registryd/registryd.c (main): protect against
1803 bonobo-activation startup race condition.
1805 * cspi/spi_main.c (cspi_object_add_check): cope
1806 with the exception elegantly.
1808 * idl/Accessible.idl: decl. ChildGone
1810 * libspi/desktop.c (spi_desktop_dispose): impl.
1811 (spi_desktop_class_init): upd.
1812 (spi_desktop_add_application),
1813 (spi_desktop_remove_application),
1814 (abnormal_application_termination): impl.
1815 (impl_desktop_get_child_at_index): re-impl.
1818 (impl_accessibility_registry_deregister_application),
1819 (impl_accessibility_registry_register_application):
1820 kill excessive debug clutter.
1822 * test/test-simple.c (test_misc): test some NULL
1823 tolerance. (main): upd.
1825 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1826 implements no interfaces - so let's not crash.
1828 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1830 * libspi/accessible.c (spi_accessible_new_return): impl.
1831 helper to calm the cut and paste, to cope with
1832 NULL AtkObjects effectively and efficiently, and to kill
1833 the referencing bugs.
1835 * libspi/table.c (impl_getAccessibleAt),
1836 (impl_getRowHeader, impl_getColumnHeader): upd.
1838 * libspi/hyperlink.c (impl_getObject): upd.
1840 * libspi/accessible.c
1841 (impl_accessibility_accessible_get_child_at_index): upd.
1843 * libspi/component.c
1844 (impl_accessibility_component_get_accessible_at_point): upd.
1846 * test/test-simple.c (test_editable_text, test_text): impl.
1849 * cspi/spi_editabletext.c
1850 (AccessibleEditableText_insertText): constify.
1852 * test/test-simple.c (focus_me): make more robust.
1854 * libspi/accessible.c: remove some printfs in methods that
1855 we test and work fine, so we can get a clean tree dump.
1857 * test/test-simple.c (validate_accessible),
1858 (validate_tree): make tree dumping pretty too.
1860 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1861 it builds without debug on.
1863 * test/test-simple.c (validate_accessible): fix the most
1866 * cspi/spi_main.c (spi_object_release): leave the nicely
1867 blanked memory around if in debug mode.
1869 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1871 [committed to fixups2]
1872 2001-12-05 Michael Meeks <michael@ximian.com>
1874 * libspi/editabletext.c
1875 (spi_editable_text_class_init): g_type_class_peek_parent,
1876 not interface peek - so we finalize cleanly.
1878 * libspi/accessible.c (spi_accessible_new): kill debug.
1880 * test/test-simple.c (validate_accessible): fix ref.
1881 leak, print strings before freeing them; sigh, comment a
1882 chunk out due to strangeness.
1883 (validate_tree): unref the child after use.
1885 * cspi/spi_component.c (AccessibleComponent_getLayer):
1886 add missing break statement, switch on zlayer not the
1887 uninitialized retval.
1889 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1890 before (possibly re-entering) remote unref.
1892 * test/simple-at.c (main): unref the desktop.
1894 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1897 * cspi/spi_main.c (cspi_accessible_is_a): here to
1898 isolate bonobo API usage more.
1900 * libspi/registry.c (impl_accessibility_registry_register_application):
1901 prune bogus comment.
1903 2001-12-04 Michael Meeks <michael@ximian.com>
1905 * test/test-simple.c (validate_tree): upd.
1906 IndexInParent check to make it more lucid.
1907 (validate_accessible): dump the tree.
1909 * libspi/accessible.c (de_register_public_ref),
1910 (get_public_refs): impl.
1911 (spi_accessible_new): make more efficient & intuitive.
1912 Now IndexInParent check works.
1914 2001-12-04 Michael Meeks <michael@ximian.com>
1916 * cspi/spi-util.h: remove.
1918 * cspi/spi.h: move SPI_freeString here
1920 * libspi/component.c (impl_accessibility_component_get_layer):
1922 (impl_accessibility_component_get_mdi_z_order): ditto,
1923 return -1 on error - is this ok ?
1925 * test/test-simple.c (test_application): impl.
1927 * cspi/spi_accessible.c (Accessible_getApplication),
1928 (Accessible_isApplication): impl.
1930 * libspi/registry.c (spi_listener_struct_free): release
1931 the CORBA reference too.
1933 * libspi/accessible.c
1934 (impl_accessibility_accessible_get_parent): fix ref leak.
1936 * libspi/registry.c (spi_registry_new): make the registry
1937 immortal - we don't want it to go away ever.
1939 * libspi/application.c
1940 (spi_accessible_application_finalize): impl. cleanup.
1942 * cspi/spi_registry.c
1943 (deregisterGlobalEventListenerAll),
1944 (deregisterGlobalEventListener),
1945 (deregisterAccessibleKeystrokeListener): fix ref leak.
1947 * cspi/spi_main.c (SPI_init): remove redundant ref.
1949 * test/test-simple.c (unutterable_horror): impl. to force a
1954 (impl_accessibility_registry_deregister_application): release
1955 the application when we de-register it.
1957 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1958 until we have the infastructure to get it right.
1960 2001-12-03 Michael Meeks <michael@ximian.com>
1962 * libspi/Makefile.am: only build eventlistener.[ch]
1964 * libspi/accessible.c
1965 (impl_accessibility_accessible_get_child_at_index): don't leak.
1967 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1968 before we hit the idle handler.
1970 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1971 debugging than exit.
1973 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1975 * libspi/listener.c (impl_notify_event): check source
1976 not NIL before unref.
1978 * libspi/registry.c (impl_registry_notify_event): ditto.
1980 * libspi/eventlistener.c
1981 (impl_accessible_event_notify_event): unref the source.
1983 * libspi/accessibleeventlistener.c
1984 (impl_accessible_event_notify_event): unref the source.
1986 * idl/Event.idl: remove 'hash_id' attribute - of no
1989 * libspi/application.c (notify_listeners): upd list
1991 (spi_application_object_event_listener),
1992 (spi_application_toolkit_event_listener): upd to do correct
1996 (_registry_notify_listeners): update.
1997 (parse_event_type): this method also leaks like a sieve.
1998 (impl_accessibility_registry_deregister_global_event_listener):
1999 fix ETYPE_WINDOW case.
2001 * libspi/application.c
2002 (impl_accessibility_application_register_object_event_listener):
2005 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2007 * libspi/hypertext.c (impl_getLink): ditto.
2009 * cspi/spi_main.c (cspi_object_add): remove
2010 bogus CORBA_Object_duplicate.
2012 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2015 * cspi/spi_accessible.c
2016 (Accessible_getRelationSet): fix leak / referencing issue.
2018 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2019 (cspi_object_add, cspi_object_unref): upd.
2020 (spi_object_release, get_live_refs): impl.
2021 (cspi_cleanup): simplify.
2023 * *.[ch]: s/boolean/SpiBoolean/
2025 * cspi/spi_accessible.c (role_names): actualy order so it
2026 corresponds with the enum !
2028 * test/test-simple.c (test_roles): check some role strings
2029 vs. enums to detect offset errors.
2031 2001-12-01 Michael Meeks <michael@ximian.com>
2033 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2035 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2037 (Accessible_getChildAtIndex): use cspi_add_check so we
2038 check the ev before using a (possibly) invalid value.
2040 * libspi/accessible.c
2041 (impl_accessibility_accessible_get_parent): don't segv
2044 * at-bridge/bridge.c (gtk_module_init): upd.
2045 (bridge_property_event_listener): don't leak strings
2047 (bridge_state_event_listener),
2048 (bridge_property_event_listener): don't use a static
2049 buffer in case of recursive event emission &
2050 re-enterancy - split out the swathe of cut and paste
2052 (emit_eventv): and fix 2 ref leaks here & comply to the
2054 (bridge_register_app): rename to
2055 (bridge_idle_init): this and kill arg parsing, split
2056 various inits & bonobo-activation registration to module
2057 init time, kill referencing error.
2058 (bridge_exit_func): fix the same leak.
2059 (bridge_focus_tracker): don't leak event structures
2061 (bridge_signal_listener): more leakage and cut & paste
2063 (bridge_key_listener): return the result - FIXME is
2064 this polarity correct ?
2065 (accessibility_keystroke_from_atk_key_event): rename
2066 (accessibility_init_keystroke_from_atk_key_event): and stop
2068 (gtk_module_init): return a value - not that it is checked by
2070 (bridge_key_listener): register my horror at casting between
2071 IDL defined structs.
2072 (bridge_get_registry): kill - not used.
2074 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2076 * test/test-simple.c (test_roles): impl.
2077 (test_desktop, validate_accessible, validate_tree): impl.
2079 * cspi/spi_accessible.c (role_names): fixup bogus
2080 MAX_ROLES setup, make constants const for efficient linkage
2081 (AccessibleRole_getName): conform to coding style, make
2084 2001-11-30 Michael Meeks <michael@ximian.com>
2086 * cspi/spi.h: add missing prototype.
2088 * libspi/registry.c (spi_listener_struct_new): fix sig.
2090 * test/Makefile.am: add test-simple
2092 * test/test-simple.c: add
2094 * test/test.sh: add.
2096 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2098 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2099 do it straight - since otherwise we often get an activation race.
2101 [ work before Bill duplicated a chunk of it ... ]
2102 2001-11-30 Michael Meeks <michael@ximian.com>
2104 * libspi/keystrokelistener.c
2105 (spi_keystroke_listener_class_init): fixup arg
2108 * libspi/eventlistener.c
2109 (spi_event_listener_class_init): ditto.
2111 * tests/test.sh: add.
2113 * cspi/spi-listener-impl.h: update macros.
2115 * cspi/spi-listener-impl.c
2116 (cspi_event_listener_remove_callback): add
2117 correct pre-conditions.
2119 * cspi/spi_main.c (SPI_exit): guard vs. double
2120 exits, exit the mainloop nicely.
2121 (SPI_event_main): make more sense.
2122 (SPI_init): move the atexit evilness here so we
2123 always do it (yuck).
2124 (SPI_event_main): upd.
2126 * test/simple-at.c: update for listener changes.
2128 * registryd/registryd.c (main): prune kruft.
2130 * libspi/libspi.h: upd.
2132 * libspi/eventlistener.[ch]: rename broken macros.
2134 * libspi/accessibleeventlistener.[ch]: remove.
2136 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2138 * test/test-simple.c: Add - automated tests.
2140 * cspi/spi-listener-impl.c (cspi_event),
2141 (cspi_key_event): add user_data to invoke.
2142 (cspi_keystroke_listener_finalize): impl.
2143 (cspi_keystroke_listener_class_init): upd.
2146 (createAccessibleEventListener),
2147 (AccessibleEventListener_addCallback),
2148 (createAccessibleKeystrokeListener),
2149 (AccessibleKeystrokeListener_addCallback): upd.
2151 * libspi/deviceeventcontroller.c
2152 (spi_device_event_controller_check_key_event): add public proto.
2155 (impl_accessibility_registry_deregister_global_event_listener):
2156 always init listeners.
2157 (_registry_notify_listeners): yes it is.
2159 * cspi/spi-listener-impl.c (cspi_key_event):
2161 (cspi_event_listener_finalize): impl.
2162 (cspi_event_listener_class_init): hook up.
2163 (event_handler_new, event_handler_free),
2164 (event_list_remove_by_callback): impl.
2165 (cspi_event_listener_remove_callback),
2166 (cspi_keystroke_listener_remove_callback),
2167 (cspi_keystroke_listener_add_callback),
2168 (cspi_event_listener_add_callback): upd.
2170 * libspi/keystrokelistener.c
2171 (keystroke_listener_object_finalize): kill
2172 (spi_keystroke_listener_class_init): upd.
2173 (spi_keystroke_listener_add_callback),
2174 (spi_keystroke_listener_remove_callback): kill,
2176 (impl_key_event): prune drasticaly.
2178 * libspi/eventlistener.c
2179 (spi_event_listener_add_callback),
2180 (spi_event_listener_remove_callback): kill, use
2182 (impl_accessible_event_notify_event): upd.
2183 (spi_event_listener_object_finalize): remove.
2185 * libspi/Makefile.am: use eventlistener.[ch]
2187 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2189 * libspi/registry.c (_registry_notify_listeners):
2190 Changed listener loop iteration to use preferred convention.
2191 Got rid of string memory leaks caused be calling g_strconcat
2192 inside function calls.
2194 * libspi/registry.c (parse_event_type):
2195 Stopped g_strconcat memory leaks, free the g_strsplit return,
2196 g_strdup the split pieces when used, etc.
2198 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2201 Change method 'compare' to return a 'difference set' rather than
2202 taking a StateSet as an out parameter (more Java-friendly).
2204 * idl/Accessible.idl:
2205 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2207 * idl/Component.idl:
2209 Changed methods 'getExtents' and 'getImageExtents' in these
2210 interfaces to return a BoundingBox structure.
2211 (getPosition and getSize are redundant and possibly should be
2212 removed, rather than creating a corresponding Point struct.)
2214 * cspi/spi_component.c:
2215 Modify implementation of getExtents to reflect the above IDL
2220 Add (missing) AccessibleImage_getExtents () API.
2222 * docs/reference/cspi/at-spi-cspi-sections.txt:
2223 Added AccessibleImage_getImageExtents () to docs.
2225 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2227 * idl/Component.idl:
2228 Added two methods, getLayer () and getMDIZOrder (), to reflect
2229 the new ATK methods atk_object_get_layer and
2230 atk_object_get_mdi_z_order. (Which arguably should be part of the
2231 AtkComponent API and AtkObject). Also added an enum,
2232 ComponentLayer, for the first method's return value.
2234 * libspi/component.c:
2235 Added implementations for these methods.
2237 * cspi/spi_component.c:
2239 Added cspi binding methods for above,
2240 AccessibleComponent_getLayer() and
2241 AccessibleComponent_getMDIZOrder().
2242 Added cspi enum 'AccessibleComponentLayer'.
2244 * docs/reference/cspi/at-spi-cspi-sections.txt:
2245 Added above methods to docs.
2249 Changed typedef for 'boolean' type (and all references to it) to
2250 SPIBoolean, to avoid keyword clashes with C++.
2253 Changed usages of 'boolean' to SPIBoolean.
2255 * test/keysynth-demo.c:
2256 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2257 app), except where SPIBoolean is required by the callbacks API.
2259 2001-12-02 Bill Haneman <bill.haneman@sun.com>
2261 * cspi/spi_registry.c:
2262 Removed obsolete X event loop for passive keygrabs (which now
2265 * registryd/registryd.c:
2266 Removed unnecessary call to gdk_init() [cruft]. This also allows
2267 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2270 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2272 * docs/reference/cspi:
2273 Included docs for SPI_freeString in generated documentation.
2276 Renamed spi_freeString to SPI_freeString, for consistency. Added
2277 documentation for this function.
2280 Renamed spi_freeString to SPI_freeString, for consistency.
2281 Removed obsolete method declaration string_from_corba_string.
2283 * test/keysynth-demo.c:
2284 Small tweak to comments.
2287 Stopped leaking the strings returned from CSPI.
2289 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2291 Merged Michael's branch (see his ChangeLog entries below).
2293 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2294 bridge is alive, release on exit.
2296 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2297 Fix type check macro.
2300 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2303 Added is_gnome_app static, and method cspi_is_gnome_app(),
2304 so we can call the appropriate shutdown routine at exit in SPI_exit.
2306 * cspi/spi_main.c (cspi_object_ref):
2307 Duplicate the corba object passed in, since we're keeping it around.
2309 * cspi/SPI_exit.c, cspi_cleanup:
2310 Moved the releasing of the live refs to its own function, so we
2311 can put it in g_atexit (). Call the appropriate shutdown API
2312 depending on whethe calling client is a gnome app or not
2313 (bonobo_main_quit or CORBA_ORB_shutdown).
2315 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2316 Unref the listener when this method is called, after
2317 deregistration. Updated the API docs to note this behavior.
2319 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2320 Bugfixes: Ref the bonobo object when returning a parent or child
2321 reference, or an AccessibleRelation. Generally made sure
2322 BonoboObject refcount is incremented whenever we return an
2325 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2326 Fixed typo/bug in signal declaration.
2328 * libspi/accessibleeventlistener.h:
2331 * libspi/application.c (spi_application_new):
2332 Fixed leak in initialization.
2335 Remembered to increment bonobo-object refcount when returning
2336 children (applications) from desktop object.
2337 Added (empty) finalize method.
2339 * libspi/deviceeventcontroller.c:
2340 Hold a ref to listeners inside DEControllerKeyListeners.
2341 Added dec_key_listener_free() method. Use prepend instead of
2342 append in key_listener list. Fixed some refcount madness and
2343 leaks in the listener registration/deregistration - deregistration
2344 now calls dec_key_listener_free() on listeners, and on the
2345 temporarily constructed dec_key_listener() used to perform the search/match.
2347 * libspi/hypertext.c (spi_hypertest_finalize):
2348 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2349 class. Also fixed spi_hypertext_interface_new() and
2350 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
2352 * libspi/hypertext.h:
2353 Removed pointless and duplicate AtkObject pointer from
2356 * libspi/keystrokelistener.c:
2357 Fixed incorrect type of keystroke_listener_parent_class,
2358 renamed keystroke_listener_object_finalize to
2359 spi_keystroke_listener_object_finalize.
2360 Fixed typo in signal declaration
2361 (spi_keystroke_listener_class_init).
2363 * libspi/registry.c:
2364 Added funcsions spi_listener_struct_new() and
2365 spi_listener_struct_free() to help with memory management issues.
2366 We also now use these methods instead of gnew + poking stuff into
2367 the struct, and to decrement listener counts/free the listeners
2368 when deregistering them.
2369 Fix more refcount bugs in getDesktop() and
2370 getDeviceEventController().
2373 De-ref the desktop after enumerating the applications. Explicitly
2374 decrement the refcounts on the created listeners on exit (using
2375 _unref for keystroke listeners, and via the
2376 deregisterGlobalEventListenerAll command for other event
2379 2001-11-27 Michael Meeks <michael@ximian.com>
2381 * cspi/spi-listener.h: fixup enum.
2383 2001-11-27 Michael Meeks <michael@ximian.com>
2385 * cspi/spi-listener-impl.c (cspi_event_listener_new),
2386 (cspi_keystroke_listener_new): Use the cspi variants.
2388 2001-11-26 Michael Meeks <michael@ximian.com>
2390 * test/keysynth-demo.c: fix 2 compile warnings, missing
2393 * test/simple-at.c (report_focussed_accessible),
2394 (report_focus_event, report_button_press),
2395 (check_property_change, is_command_key),
2396 (report_ordinary_key_event, report_command_key_event): upd.
2398 * util/mag_client.h: include pre-requisites.
2400 * libspi/accessibleeventlistener.c
2401 (spi_event_listener_object_finalize): free any lingering
2404 * libspi/keystrokelistener.c
2405 (keystroke_listener_object_finalize): ditto.
2407 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2408 callbacks, with cspi types.
2410 * cspi/spi_event.c (createAccessibleEventListener): chain to
2411 (AccessibleEventListener_addCallback): here.
2412 (createAccessibleKeystrokeListener): chain to
2413 (AccessibleKeystrokeListener_addCallback): here.
2415 * libspi/keystrokelistener.c
2416 (spi_keystroke_listener_class_init): add signal.
2417 (impl_key_event): emit the event.
2418 (boolean_handled_accumulator): impl.
2419 (marshal_BOOLEAN__POINTER): add, gack.
2421 * libspi/accessibleeventlistener.c
2422 (spi_event_listener_class_init): add signal.
2423 (impl_accessible_event_notify_event): emit the signal &
2424 make the loop efficient.
2425 (spi_event_listener_add_callback): prepend the callback.
2427 * libspi/accessibleeventlistener.h: add an 'event' signal,
2428 decl type on callback.
2430 * libspi/keystrokelistener.h: ditto.
2432 * cspi/spi-listener.h: make methods typesafe and
2433 make them use the new event typedefs.
2435 * test/simple-at.c (report_focussed_accessible):
2436 include mag_client.h
2437 Use *(void *)text_interface not the other thing.
2439 * configure.in: add gtk to registryd bits - since we use
2442 * util/magnifier.c: include libbonobo.h
2444 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2446 * test/keysynth-demo.c:
2447 Turned this into a simple scanning keyboard, to demonstrate the
2448 use of g_timeout_add () as a means of creating timers for
2449 scanning, and the use of GtkStyle for visually indicating when
2450 virtual keyboard elements are selected.
2452 keysynth-demo now listens to any keyboard keys with zero-valued
2453 keycodes (i.e. 'unused' keys) and interprets them as
2456 Reworked the shiftlatch code so that shift-down state isn't held
2457 for long periods (it's only synthesized immediately prior to
2458 the keysynth event it's modifying). Note that shiftlatch in this
2459 demo is a convenience, not intended to take the place of AccessX
2460 which is the better choice for getting 'sticky' modifier keys.
2462 * libspi/deviceeventcontroller.c:
2463 * at-bridge/bridge.c:
2464 * cspi/spi_registry.c:
2465 Removed some debug print stuff, and put other verbosity in #ifdef
2470 Implemented some more of the magnifier IDL for the simple
2471 magnifier: namely, getZoomRegionParams.
2472 Added mag_x and mag_y members to MagnifierData struct, aid of this
2474 Added GtkWindow::realize signal handler to magnifier, to keep it
2475 from receiving keyboard focus from the WM.
2477 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2479 * cspi/spi-private.h: my guess at what michael forgot
2480 before he ran off to NZ :-)
2482 2001-11-23 Michael Meeks <michael@ximian.com>
2484 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2485 comment out non existant method invoke so we link.
2487 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2488 use bonobo_exception_get_text for more friendly warnings.
2490 * cspi/spi.c (Obj_Add): move into spi_main & rename
2491 spi_object_add; kill spi.c
2493 * cspi/spi_registry.c
2494 (deregisterGlobalEventListener),
2495 (deregisterGlobalEventListenerAll),
2496 (registerGlobalEventListener): fix exception leaks.
2498 * cspi/spi_main.c (spi_exception): impl. helper, so we
2499 don't leak exceptions.
2501 * cspi/spi_selection.c
2502 (AccessibleSelection_deselectSelectedChild): return the
2505 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2506 (spi_registry): ditto.
2507 (SPI_init): guard against double inits.
2509 * cspi/*.c: use spi_ev (), and spi_registry () where
2510 appropriate - a temporary hack until we have something
2511 better. Use spi_object_add
2513 2001-11-22 Michael Meeks <michael@ximian.com>
2515 * cspi/Makefile.am: re organise, install the headers.
2517 * cspi/*.h: add G_BEGIN/END_DECLS
2519 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2522 Added non-preemptive keylistener for key events with no modifiers
2523 and shift-only modifier.
2525 * libspi/keystrokelistener.c:
2526 Removed some verbose diagnostics printout.
2528 * cspi/spi_registry.c:
2529 Fixed a bug that caused all key listeners to be registered as
2532 * libspi/deviceeventcontroller.c:
2533 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2534 for non-preemptive key masks.
2537 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2539 * docs/reference/idl/at-spi-idl-docs.sgml:
2540 * docs/reference/idl/at-spi-idl-sections.txt:
2541 * docs/reference/idl/at-spi-idl-overrides.txt:
2542 Added missing files.
2544 * docs/reference/Makefile.am:
2545 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2546 to scan the IDL files :-(
2551 Added .cvsignore files.
2553 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2555 * libspi/deviceeventcontroller.c:
2556 * libspi/keystrokelistener.c:
2558 * cspi/spi_registry.c:
2559 Added filters for KeySets, KeyEventSeq, and event types to key
2560 event dispatching, so listeners should only receive those events
2561 that they requested :-)
2563 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2568 * docs/reference:Makefile.am:
2569 * docs/reference/cspi:
2570 * docs/reference/cspi:Makefile.am:
2571 * docs/reference/cspi:tmpl:
2572 * docs/reference/cspi:tmpl:*.sgml:
2573 * docs/reference/idl:
2574 * docs/reference/idl:Makefile.am:
2575 * docs/reference/idl:at-spi-idl-sections.txt:
2576 * docs/reference/idl:at-spi-idl-docs.sgml:
2577 * docs/reference/idl:tmpl:
2578 * docs/reference/idl:tmpl:*.sgml:
2580 Restructured docs directory to allow separate 'reference' docs
2581 section, and forked idl and cspi docs. Added the sgml template
2582 files to CVS. Added the first sections/structural sgml for the
2585 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2587 * configure.in, libspi/Makefile.am: find libXtst.
2589 2001-11-21 Michael Meeks <michael@ximian.com>
2591 * test/accessx-gui.c: s/spi_value/value/ - doh.
2593 * libspi/base.[ch]: add.
2595 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2597 * idl/Accessible.idl:
2598 * idl/Application.idl:
2601 Started gtk-doc cleanup on IDL.
2603 * libspi/deviceeventcontroller.c:
2604 Added and connected non-preemptive key notification from the
2605 toolkits (in addition to the pre-emptive support from XServer
2606 which we had before, but which causes 'focus flashing'). Filters
2607 are presently limited to key modifiers and global/non-global,
2608 KeySets are presently ignored, as are KeyEvent masks.
2610 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2611 structs into the persistant structure rather than just storing
2612 pointers to things that might not persist across servant
2615 The XGrabKey call now does async keygrabs, because synchronous
2616 ones were deadlocking with GDK_event code in a very nasty way.
2618 Added boolean to internal method notify_keylisteners, to indicate
2619 whether the event came from the 'toolkit source' or the 'global
2620 (XServer) source' - this is used in the notification process to
2621 determine which listeners to send the event to.
2623 deviceeventcontroller.c is now warning-free.
2625 * libspi/registry.c:
2626 Fixed regression in application de-registration.
2627 Also fixed some really brain-dead weirdness having to do with
2628 event dispatching - event structs are now duplicated before being
2629 re-marshalled in the dispatch to listeners. This also fixes a
2630 Solaris build problem.
2633 2001-20-11 Michael Meeks <michael@ximian.com>
2636 (impl_accessibility_registry_deregister_global_event_listener):
2639 * libspi/deviceeventcontroller.c
2640 (spi_device_event_controller_check_key_event): return
2641 FALSE on no virtual method.
2643 * libspi/*..h: make includes work on a correctly pathed install.
2645 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2647 * libspi/application.h: kill unused ( and whacked out )
2648 gboolean *spi_application_set_id (AtkObject *app, long id);
2650 2001-20-11 Michael Meeks <michael@ximian.com>
2652 * libspi/*.[ch]: further convert to bonobo's type func
2653 macros, remove redundnant casts etc.
2655 * libspi/text.c s/accessibility_text/spi_text/g,
2656 re-order to de-cruft.
2658 * libspi/hypertext.c: re-order to kill a huge slew
2659 of redundant forward decls.
2661 * libspi/relation.c: ditto.
2663 * libspi/image.c: ditto.
2665 * */.cvsignore: update
2667 2001-20-11 Michael Meeks <michael@ximian.com>
2669 * libspi/deviceeventcontroller.c
2670 (_controller_register_with_devices): use g_getenv,
2671 kill stdlib.h include.
2673 * libspi/keystrokelistener.c
2674 (spi_keystroke_listener_get_type): kill
2675 (spi_keystroke_listener_class_init),
2676 (spi_keystroke_listener_init): rename to this.
2678 * libspi/text.c (impl_getAttributes): fix warning / bug.
2680 * libspi/*.[ch]: more headers, includes and over commenting.
2682 2001-20-11 Michael Meeks <michael@ximian.com>
2684 * libspi/*.[ch]: fixup headers, includes and over commenting.
2686 * libspi/image.c (impl__get_imageDescription): const
2687 correctness warning fix. remove redundant casting.
2689 * libspi/table.c (impl_getRowDescription): ditto.
2690 (impl_getColumnDescription): ditto.
2692 * libspi/libspi.h: add.
2694 2001-19-11 Michael Meeks <michael@ximian.com>
2696 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2698 * libspi/component.c (accessibility_component_get_type):
2699 rename to (spi_component_get_type): and macroify.
2700 (accessibility_component_init): rename to
2701 (spi_component_init): this
2702 (accessibility_component_class_init): rename to
2703 (spi_component_class_init): this
2705 * libspi/action.c (spi_action_get_type): kill, use the macro.
2707 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2710 * libspi/application.c (spi_application_object_event_listener),
2711 (impl_accessibility_application_register_object_event_listener):
2712 warning fixes / const understanding updates.
2714 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2717 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2719 * libspi/spi_accessible.c: Added docs and C bindings for
2720 AccessibleStateSet. (No implementations yet). Documentation
2721 coverage for C bindings now 100%. Made docs for event listeners
2726 boolean notifyListenersSync (in DeviceEventListener listener,
2727 in DeviceEvent event);
2729 oneway void notifyListenersAsync (in DeviceEventListener listener,
2730 in DeviceEvent event);
2732 Added DeviceEventListener and DeviceEvent structs (may deprecate
2733 KeyStroke and KeystrokeListener in favor of this generic
2734 event/listener framework for devices).
2736 * libspi/deviceeventcontroller.c:
2738 Changed some key listener code to take masks, etc., and paved the
2739 way for integration of toolkit/non-preemptive key events. Changed
2740 signatures of some internal methods.
2742 * at-bridge/bridge.c:
2743 Fixed regression connecting to interface signals, apparently
2744 caused by GTK+ changes.
2746 Added an internal bridge_state_listener to deal with
2747 property-change:accessible-state signals.
2749 Changed the key_listeners GList to store structs (including masks,
2750 etc.) instead of just CORBA_Objects (required for full
2751 implementation of key listener API).
2753 Connected the bridge to all currently supported Atk signals.
2754 Events now supported:
2755 object:property-change
2756 object:property-change:accessible-name
2757 object:property-change:accessible-state
2758 object:property-change:accessible-description
2759 object:property-change:accessible-parent
2760 object:property-change:accessible-value
2761 object:property-change:accessible-role
2762 object:property-change:accessible-table-caption
2763 object:property-change:accessible-table-column-description
2764 object:property-change:accessible-table-column-header
2765 object:property-change:accessible-table-row-description
2766 object:property-change:accessible-table-row-header
2767 object:property-change:accessible-table-summary
2768 object:children-changed
2769 object:visible-data-changed
2770 object:selection-changed
2771 object:text-selection-changed
2773 object:text-caret-moved
2775 object:row-reordered
2777 object:column-inserted
2778 object:column-reordered
2779 object:column-deleted
2780 object:model-changed
2782 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2784 * libspi/hyperlink.c,h:
2785 Fixed some broken stuff in hyperlink.
2787 * libspi/relation.h:
2788 * libspi/relation.c:
2789 * cspi/spi_accessible.c:
2790 Initial implementations of AccessibleRelation methods, and docs.
2792 * libspi/accessible.c:
2793 Fixed a bug that caused SEGV if an accessible
2794 object's description is NULL, and a client
2795 requests it. An empty string is now returned.
2797 * cspi/spi_editabletext.c:
2798 * cspi/spi_hypertext.c:
2800 * cspi/spi_hyperlink.c:
2804 Doc coverage now 95%.
2806 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2808 One last namespacing revision:
2809 * libspi/accessibleeventlistener.[ch]:
2810 Renamed SpiAccessibleEventListener to SpiEventListener,
2811 (no need for two namespaces ;-)
2813 And lots of documentation fixes:
2815 * docs/at-spi-docs.sgml:
2816 Fixed 'underscore vs. hyphen' bug that was preventing
2817 the gtk-doc API docs from being automatically generated.
2820 * cspi/spi-listener.h
2822 * cspi/spi_accessible.c
2824 * cspi/spi_application.c
2825 * cspi/spi_component.c
2826 * cspi/spi_editabletext.c
2828 * cspi/spi_hypertext.c
2830 * cspi/spi_registry.c
2831 * cspi/spi_selection.c
2835 * docs/at-spi-docs.sgml
2836 * docs/at-spi-sections.txt
2838 Added and fixed up gtk-doc documentation in cspi.
2840 Interfaces now (fully) documented (subject to revision and enhancement):
2842 Event Listener Support
2844 AccessibleApplication
2848 AccessibleEditableText
2855 AccessibleRelationSet
2860 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2862 * at-bridge/bridge.c:
2863 Initial work for toolkit-level key snooper connection by bridge.
2868 New typedefs and fixes to support new namespacing, and cleaner
2869 separation of cspi bindings from libspi bonobo implementation.
2870 Removed inconsistent and extraneous Spi* namespace prefix that
2871 had crept into cspi headers.
2872 Lots of comment fixes that sed had missed.
2874 * cspi/spi-roletypes.h:
2875 * cspi/spi-statetypes.h:
2876 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2877 to AccessibleRoleType.
2879 * libspi/accessibleeventlistener.h:
2880 Fixed minor namespacing weirdness.
2882 * libspi/deviceeventcontroller.c:
2883 Reordered some internal API for device listeners.
2884 Changed the key registry final boolean to 'is_system_global'
2885 rather than 'is_synchronous', which is more descriptive of its
2887 Added spi_device_event_controller_new().
2888 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2890 * libspi/keystrokelistener.[ch]:
2891 Namespaced KeystrokeListener to SpiKeystrokeListener.
2892 Changed uses of keymasks to use SPI_ prefix, and did other
2895 * libspi/keymasks.h:
2896 Namespaced keymask constants with SPI_ prefix.
2898 * libspi/registry.c:
2899 Some warning fixes, and knock-on fixes from namespace changes.
2902 Added rules for accessx-gui test program.
2904 * test/accessx-gui.c:
2905 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2906 utility. It doesn't actually use at-spi, but it's still cool and
2909 * test/keysynth-demo.c:
2913 Fixes so that these test clients work properly with the namespaced
2914 libraries. (Incompletely tested for technical reasons, fixes may follow)
2917 2001-13-11 Michael Meeks <michael@ximian.com>
2919 * libspi/application.c
2920 (impl_accessibility_application_get_version),
2921 (impl_accessibility_application_get_toolkit_name):
2923 (impl_accessibility_application_set_id),
2924 (impl_accessibility_application_get_id): remove
2925 redundant casting code.
2927 * libspi/action.c (impl_getDescription): fix warnings.
2929 * libspi/accessible.c
2930 (impl_accessibility_accessible_get_parent),
2931 (impl_accessibility_accessible_get_child_at_index),
2932 (impl_accessibility_accessible_get_state),
2933 (impl_accessibility_accessible_get_relation_set):
2934 warning fixes & include action.h
2936 2001-13-11 Michael Meeks <michael@ximian.com>
2938 * *.[ch] fix bits I screwed up:
2940 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2941 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2943 2001-13-11 Michael Meeks <michael@ximian.com>
2945 * *.[ch] Namespace libspi into spi_ and Spi.
2947 2001-13-11 Michael Meeks <michael@ximian.com>
2949 * Makefile.am: dist & install at-spi-1.0.pc
2951 * libspi/Makefile.am: install into at-spi-1.0
2953 * idl/Makefile.am (idldir): install into at-spi-1.0
2955 * at-spi-1.0.pc.in: add.
2957 * configure.in: build it.
2959 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2961 * test/keysynth-demo.c:
2962 Use a 'realize' signal-handler to set the WM properties for
2963 the virtual keyboard, rather than making it a "POPUP" type
2964 override-redirect window (thanks to anders carlsson for that
2967 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2970 * test/keysynth-demo.c:
2971 Added new test of key synthesis, which creates a simple
2972 (mouse-operated) onscreen keyboard. It inserts key events into
2973 the currently-focused window, thus it does not grab keyboard focus
2976 * cspi/spi_registry.c:
2977 Added C binding for AT-SPI generateKeyEvent.
2979 * libspi/deviceeventcontroller.c:
2980 Added call to XFilterEvent so that key listener works with XIM (we
2981 hope). Added event_synth_type to generateKeyEvent, so that we can
2982 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2983 synthesize a press/release pair for KeySyms.
2985 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2987 * libspi/Makefile.am:
2988 * registryd/Makefile.am:
2989 (temporary) hack to include libXtst in libspi and registryd.
2990 (Needed for keystroke synthesis, see below).
2993 Improved API for registerKeystrokeListener, in accordance with
2994 discussions with Gnopernicus team and X server research.
2996 * libspi/registry.c:
2997 * libspi/deviceeventcontroller.c:
2998 * libspi/accessible.c:
2999 * libspi/keystrokelistener.c:
3000 Changes and fixes to support keylisteners for potentially
3001 consumed key events (that is, 'passive grabs').
3002 Added implementation for generateKeyEvent() [untested].
3005 Changes to registerKeystrokeListener() API, as above.
3006 Added deregisterGlobalEventListenerAll(), and
3007 deregisterKeystrokeListener(), which are needed for clean exit of
3009 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3010 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3012 * cspi/spi_registry.c:
3013 Added implementations of function prototypes mentioned above.
3015 * registryd/registryd.c:
3016 Added the key listener event source as a g_timeout(), to allow
3017 receipt of key events that are not caught by GDK (since GDK
3018 doesn't support passive keygrabs, this was necessary).
3021 Changed to attach a keylistener to 'Alt' keys, and
3022 respond to the following keycommands: Alt-M (toggle magnifier);
3023 Alt-F (toggle speech); Alt-Q (quit).
3024 Added an exit routine to deregister the listeners, and a key
3025 listener that prints some key info to the console when a key
3026 matches the listener mask (and is thus received by the listener).
3028 * util/idl/Magnifier.idl:
3029 Changes to magnifier API to support multiple zoom regions,
3030 non-uniform scaling in x and y, markDirty, and a host of other
3031 features that would be useful to magnification.
3034 * util/mag_client.c:
3035 * util/mag_client.h:
3036 * util/mag_control.c:
3038 Source code changes to support the above IDL changes.
3041 As above, and also changes to use a (slower) generic conversion
3042 path for colormap conversions, since the fast RGB conversions have been
3043 reported to fail for 16-bit displays.
3045 2001-10-26 Michael Meeks <michael@ximian.com>
3047 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3049 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3051 * at-bridge/Makefile.am: fix LDFLAGS.
3053 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3055 * at-bridge/bridge.c:
3056 Re-worked listeners for toolkit events, now we have signal
3057 and property listeners. Added a private method
3058 register_atk_event_listeners(), which registers with the
3059 various atk and gtk signals we need to monitor in order to emit
3061 Added emission hook for AtkObject:property-change events, to
3062 support the 'property listeners'.
3063 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3066 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3067 which emit warnings and exit, respectively, if CORBA errors occur
3068 during remote calls, and we now use these methods to check most of
3069 our CORBA calls in the C bindings.
3071 * cspi/spi_accessible.c:
3072 Changed AccessibleSelection_refSelectedChild() to
3073 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3074 now increment refcounts.
3076 * cspi/spi_component.c:
3077 Fixed some long pointer casts (dangerous!) to pass pointers to
3078 CORBA_longs of the proper type to the CORBA stubs, and copy the
3079 data into the longs that were passed into the C bindings code.
3081 * at-bridge/bridge.c:
3083 * libspi/accessible.c:
3084 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3085 hyperlinks, AtkHyperlink is an object type.
3087 * libspi/application.c:
3088 Added various conversions to and from "generic" event types and
3089 atk-specific types; this is really part of the 'bridge'
3090 implementation but is valid for all AtkObject-based accessibility
3093 * libspi/editabletext.c:
3094 Fixed nasty bug wherein editable text's finalize method was
3095 unref'ing tha AtkObject reference that the text parent class was
3096 about to unref _again_. There was also a nasty inheritance bug
3097 that meant that the AccessibleEditableText class was corrupt.
3099 * libspi/selection.c:
3100 Provided implementations for some selection API that was broken.
3102 * idl/Application.idl:
3103 Added registerObjectEventListener () method.
3106 Fixed a number of return values that were Bonobo_Unknowns from
3107 bonobo_object_corba_objref(), which I
3108 forgot to dup before returning. Changed instances of
3109 bonobo_object_corba_objref (bonobo_object(o)) to
3110 BONOBO_OBJREF(o), for concision and clarity.
3112 <2001-10-13 Louise Miller <louise.miller@sun.com>
3114 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3115 idl/Event.idl, idl/Registry.idl
3116 Changed these files to include Bonobo_Unknown.idl instead
3119 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3121 * libspi/component.c libspi/component.h:
3122 Fixed typo. Added assertions for object checks in
3123 AccessibleComponent code.
3125 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3127 * idl/Accessible.idl:
3128 Added 'isEqual (Accessible *object)'
3129 method for Accessible. (Not Yet Implemented).
3132 Changed signature of registerKeystrokeListener() to
3133 take a KeySet and KeyEventSeq so that specific keys and event
3134 types could be requested for monitoring, and added a flag
3135 is_synchronous so that either synchronous or asynchronous
3136 notification could be requested. (However this is not all
3137 implemented yet). This also meant adding two new typedefs,
3138 KeyEventSeq and KeySet.
3141 Added two new relations, RELATION_TOOLTIP_FOR and
3142 RELATION_LEAFNODE_OF.
3145 Added new state, STATE_HAS_TOOLTIP.
3147 * libspi/text.c, editabletext.c:
3148 Added new assertions to all casts of bonobo-objects from
3149 CORBA servants, to prevent Text API calls on non-text objects.
3150 Changed suspect casts of int-pointer types, so that we
3151 always send a valid CORBA_long pointer to the CORBA APIs that use
3152 in/out long parameters. We then have to copy from the CORBA_long
3153 into the regular long or int for return to the C bindings, or
3154 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3157 * libspi/deviceeventcontroller.c:
3158 Cleaned these sources up.
3160 Changed return type for getCharacterAtOffset to
3161 CORBA_unsigned_long, to allow for 32-bit characters.
3164 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
3168 Fixed 'make dist' so that distro compiles...
3169 * libspi/keymasks.h:
3171 * cspi/spi-listener.c:
3172 KeystrokeListenerCB now returns a boolean.
3174 Added KeyEventType struct, and KeyStroke.
3175 Also added createKeystrokeListener(),
3176 KeystrokeListener_addCallback(),
3177 KeystrokeListener_removeCallback(), and added a keymask to
3178 registerKeystrokeListener().
3179 * cspi/spi_accessible.c:
3180 Changed numerous return types for interfaces from
3181 AccessibleComponent to Accessible<InterfaceName>; this was
3182 probably a cut-and-paste error.
3184 Implementations of new KeystrokeListener api (from spi.h,
3187 Changes to key modifier mapping.
3188 Created ControllerEventMask struct.
3189 Made DeviceEventController derive from Bonobo::Unknown.
3191 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3192 * libspi/deviceeventcontroller.c:
3193 Added a number of new internal (private) methods.
3194 * libspi/editabletext.c:
3195 * libspi/editabletext.h:
3196 Fixed a number of bugs related to the fact that
3197 editabletext inherits from text. Fixed the EditableText struct,
3198 the init() call, and use correct casts when calling Text methods
3199 from an EditableText object. Removed (duplicate) atko from the
3200 EditableText structure, we use the one in the parent Text
3201 structure via the casts mentioned above.
3202 * libspi/keystrokelistener.[ch]:
3203 * libspi/registry.c:
3204 Changes in support of keyboard handling (above).
3206 Keyboard handling, though partly functional, is still not
3207 recommended for at-spi client use as there is considerable
3208 work yet to be done.
3211 Changed some places where pointers to various int types
3212 are cast to be pointers to CORBA_long types and vice-versa:
3213 pointer casting is not safe so we pass pointers of the correct
3214 types and then cast the result before putting it into the target
3217 * libspi/text.h: minor typos corrected.
3219 We now speak not only the name of a Text element, but the
3220 first sentence of its content, when it receives focus.
3221 I also changed the text compression to 75% from 50%.
3222 * util/Accessibility_Util.server.in:
3223 Changed the default magnifier type to be a 3x vertical
3224 splitscreen magnifier (was previously a 2x horizontal one).
3226 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
3228 * libspi/keystrokelistener.h:
3229 * libspi/keystrokelistener.c:
3230 Initial functional implementations of KeystrokeListener.
3233 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
3235 Fixed string handling for NULL strings in libspi.
3236 Added spi_freeString to free strings returned by C bindings.
3238 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
3240 * libspi/keystrokelistener.h:
3241 * libspi/keystrokelistener.c:
3242 Began (no-op) implementations of KeystrokeListener
3244 * libspi/deviceeventcontroller.c:
3245 * libspi/deviceeventcontroller.h:
3246 Began creating implementations of DeviceEventController,
3247 to handle keystroke and mouse event listening and
3249 * libspi/accessible.c:
3250 Stubbed-in the implementations for
3251 Accessibility_Accessible_getState and
3252 Accessibility_Accessible_getRelationSet.
3253 * libspi/registry.c:
3254 Improved de-registration process and fixed some bugs,
3255 deregistration now works correctly.
3257 Added initialization of applications list (to NULL).
3259 Reduced speech compression from 0.5 to 0.7, for demo.
3260 Changed call to gdk_window_set_decorations()
3261 to gtk_window_set_decorated().
3262 * at-bridge/bridge.c:
3263 Bridge now deregisters when app exits, via
3264 registration of a cleanup function
3265 with the g_atexit() call.
3266 Required making 'app' static, renamed 'this_app'.
3267 Fixed broken use of bonobo_init, passing argv wrongly.
3269 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
3273 Created a new directory for
3274 accessibility-related utilities, primarily for
3275 testing and demo purposes, but with possible
3282 Onscreen magnifier utility that
3283 is implemented as a bonobo service.
3285 * util/mag_client.c:
3286 * util/mag_client.h:
3287 Client-side support (simple C bindings)
3288 for Magnification service
3290 * util/mag_control.c:
3291 Client program example for
3292 Magnification service
3294 * util/Accessibility_Magnifier.server.in:
3295 Bonobo-activation file for the
3296 Magnification service.
3299 * util/idl/Magnifier.idl:
3300 IDL defining the bonobo Magnification
3304 Modifications to use the bonobo-activated magnifier
3305 above, in place of trying to connect to an existing
3306 magnifier that uses socket-listening IPC.
3308 If env variable MAGNIFIER is set, a magnifier service
3309 will be started if one does not exist.
3311 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
3312 * at-bridge/bridge.c:
3313 applied patch from Marc to build and run
3314 against new glib and gtk+ (seemed like a change
3315 to bonobo_init signature was made ?)
3317 made festival-server support turned off by default.
3318 Added support for a simple magnifier (off by default)
3319 which will be added to a 'util' directory later.
3320 * at-bridge/Makefile.am:
3321 Changed "application.h" header from a 'source'
3322 to a 'dependency' of libat-bridge.
3324 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3332 Added interface implementation c files to list of
3333 includes so they are included in libcspi.
3336 Changed prototype of AccessibleAction_doAction to return a
3338 Changed prototype of AccessibleTable_getCaption to
3339 return an Accessible.
3340 Changed prototype of AccessibleTable_getSelectedRows
3341 and AccessibleTable_getSelectedColumns to
3342 return a long (returns the number of selected rows
3343 or columns respectively).
3344 Changed name of AccessibleText_refRunAttributes to
3345 AccessibleText_getAttributes.
3346 Changed prototype of AccessibleText_getCharacterExtents to
3347 return a void rather than a boolean.
3348 Added support for a AccessibleCoordType parameter
3349 specifying what type of coordinates are desired.
3350 Added an AccessibleCordType parameter to
3351 AccessibleText_getPointAtOffset.
3353 * cspi/spi_accessible.c:
3354 Added code to return the outstanding interfaces from
3355 Accessible_queryInterface.
3357 * cspi/spi_action.c:
3359 Corrected call to getNActions to call the c binding
3362 * cspi/spi_editabletext.c:
3364 Changed name from setRunAttributes to setAttributes.
3366 * cspi/spi_hyperlink.c:
3368 Changed call to getNAnchors to correctly call the c
3369 binding for an attribute.
3371 * cspi/spi_hypertext.c:
3373 Changed getImageDescription to correctly call the
3374 binding for an attribute.
3376 * cspi/spi_selection.c:
3377 Changed getNSelectedChildren to correctly call the c
3378 binding for the attribute.
3379 Changed refSelectedChild to getSelectedChild.
3383 Changed getCaption to return an Accessible.
3384 Fixed calls which retrieve attributes.
3385 Changed refAt to getAccessibleAt.
3386 Changed getNSelectedRows and getNSelectedColumns to
3390 Changed getCharacterExtents and getPointAtOffset to accept an
3391 AccessibleCoordType.
3393 Changed calls which retrieve attributes.
3394 Changed refRunAttributes to getAttributes.
3399 * idl/Hyperlink.idl:
3400 Changed n_anchors attribute to nAnchors to keep naming
3401 convention consistent.
3404 Made Table inherit from Bonobo::Unknown.
3405 Added nSelectedColumns and nSelectedRows attributes.
3408 Made Value inherit from Bonobo::Unknown.
3410 * libspi/hyperlink.c:
3411 Change for nAnchors attributte name change.
3413 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3421 Added interface implementation c files to list of
3422 includes so they are included in libcspi.
3425 Changed prototype of AccessibleAction_doAction to return a
3427 Changed prototype of AccessibleTable_getCaption to
3428 return an Accessible.
3429 Changed prototype of AccessibleTable_getSelectedRows
3430 and AccessibleTable_getSelectedColumns to
3431 return a long (returns the number of selected rows
3432 or columns respectively).
3433 Changed name of AccessibleText_refRunAttributes to
3434 AccessibleText_getAttributes.
3435 Changed prototype of AccessibleText_getCharacterExtents to
3436 return a void rather than a boolean.
3437 Added support for a AccessibleCoordType parameter
3438 specifying what type of coordinates are desired.
3439 Added an AccessibleCordType parameter to
3440 AccessibleText_getPointAtOffset.
3442 * cspi/spi_accessible.c:
3443 Added code to return the outstanding interfaces from
3444 Accessible_queryInterface.
3446 * cspi/spi_action.c:
3448 Corrected call to getNActions to call the c binding
3451 * cspi/spi_editabletext.c:
3453 Changed name from setRunAttributes to setAttributes.
3455 * cspi/spi_hyperlink.c:
3457 Changed call to getNAnchors to correctly call the c
3458 binding for an attribute.
3460 * cspi/spi_hypertext.c:
3462 Changed getImageDescription to correctly call the
3463 binding for an attribute.
3465 * cspi/spi_selection.c:
3466 Changed getNSelectedChildren to correctly call the c
3467 binding for the attribute.
3468 Changed refSelectedChild to getSelectedChild.
3472 Changed getCaption to return an Accessible.
3473 Fixed calls which retrieve attributes.
3474 Changed refAt to getAccessibleAt.
3475 Changed getNSelectedRows and getNSelectedColumns to
3479 Changed getCharacterExtents and getPointAtOffset to accept an
3480 AccessibleCoordType.
3482 Changed calls which retrieve attributes.
3483 Changed refRunAttributes to getAttributes.
3488 * idl/Hyperlink.idl:
3489 Changed n_anchors attribute to nAnchors to keep naming
3490 convention consistent.
3493 Made Table inherit from Bonobo::Unknown.
3494 Added nSelectedColumns and nSelectedRows attributes.
3497 Made Value inherit from Bonobo::Unknown.
3499 * libspi/hyperlink.c:
3500 Change for nAnchors attributte name change.
3503 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3505 implementations-- made server implementations own AtkObject pointers
3506 rather than their respective AtkInterrface pointers to fix
3507 refcounting. AtkHyperlink is still broken.
3509 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3510 * cspi/spi_accessible.c:
3511 Added method Accessible_Role_getName(),
3512 and requisite string array (role_names).
3513 Added conversion string_from_corba_strin() call
3514 to Accessible_getName and _getDescription.
3515 * libspi/accessible.c:
3516 Added implementation for Accessible_getRole()
3518 Added festival support, used if environment variable
3521 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3523 * at-bridge/bridge.c:
3524 Now allocate Accessibility_Event using
3525 Accessibility_Event__alloc() instead of g_new0().
3526 * libspi/accessibleeventlistener.c:
3527 Initialize AccessibleEventListener->callbacks to NULL.
3528 Fixed accessible__event_listener_init() param, changed to
3529 "AccessibleEventListener *" type.
3530 Changed a bonobo_object_release_unref() call to
3531 Accessibility_Accessible_unref().
3532 * libspi/listener.c:
3533 Changed Bonobo_Unknown_unref to (equivalent)
3534 Accessibility_Accessible_unref.
3535 * libspi/registry.c:
3536 Changed bonobo_object_release_unref to
3537 Accessibility_Accessible_unref.
3539 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3542 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3543 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3544 spi-util.c spi-util.h
3545 Implementations for C bindings to remaining accessibility
3548 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3551 changed return value of Action from void to boolean to
3552 bring in line with ATK.
3555 Changed getText funcions to return "out" start and end offsets.
3556 Changed getAttributes to take and offset and return the start
3557 and end offset of the attribute run.
3558 Changed getOffsetAtPoint and getCharacterExtents to take an
3559 enum describing whether coordinates are window or screen.
3562 libspi/action.c libspi/action.h libspi/editabletext.c
3563 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3564 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3565 libspi/image.h libspi/selection.c libspi/selection.h
3566 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3567 libspi/value.c libspi/value.h
3568 Added server implementations for outstanding ATK interfaces
3569 not yet implemented.
3571 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3574 Added (missing) getName() method.
3575 Made nActions an attribute.
3576 * idl/EditableText.idl:
3577 Changed order of params in setAttributes.
3578 * idl/Hyperlink.idl:
3579 Removed getAnchor, added getURI.
3581 Changed attributes to methods, for efficiency
3582 (so that getting extents can be done in one call)
3583 * idl/Selection.idl:
3584 Changed nSelectedChildren to attribute, and re-indented.
3585 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3587 * idl/Text.idl: reformatted to match our coding style.
3588 (temporarily?) removed getRowColumnAtOffset().
3589 Changed text selection API to support multi-select and
3590 non-contiguous selections, as in ATK.
3591 * idl/Value.idl: changed some methods to attributes.
3593 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3595 * libspi/listener.c(impl_notify_event):
3596 BonoboUnkown_unref the source instead
3597 of bonobo_object_release_unref - the ORB
3598 handles the releasing.
3600 * configure.in: require ORBit-2.3.94 for
3603 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3605 Tagged CVS repository 'EA_1_0'.
3606 * README.EARLY_ACCESS:
3607 Alphabetized acknowledgements list, and
3609 Listed some known dependencies of at-spi.
3611 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3613 * docs/at-spi-docs.sgml:
3614 * docs/at-spi-sections.txt:
3615 * docs/at-spi-overrides.txt: (Added zero-length file)
3616 Documentation improvements - gtk-doc should build
3617 docs for all implemented C bindings now.
3620 * cspi/spi.c: (New file)
3621 * cspi/spi_event.c: (New file)
3622 * cspi/spi_registry.c: (New file)
3623 * cspi/spi_accessible.c: (New file)
3624 * cspi/spi_application.c: (New file)
3625 * cspi/spi_component.c: (New file)
3626 Split spi_main.c into six parts, and included them from
3627 "spi.c". This is a bit of a hack, probably temporary,
3628 but required by gtk-doc, apparently.
3630 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3633 * docs/at-spi-docs.sgml:
3634 * docs/at-spi-sections.txt:
3636 Initial checkins/modifications for gtk-doc generation.
3639 Added (missing) interface query methods to Accessible's C binding.
3641 Added GenericInterface type definition.
3643 Added query for AccessibleComponent interface to focus event handler.
3644 Added printout of bounding box for focussed component.
3645 * libspi/component.c:
3646 Added partial implementation for AccessibleComponent to C binding.
3647 * idl/Application.idl:
3648 * libspi/registry.c:
3649 * libspi/listener.c:
3650 * libspi/application.c:
3651 * libspi/application.h:
3652 Changed "ID" attribute type from string to long.
3654 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3658 Made method naming consistent: methods taking object args
3659 start with uppercase, other methods (except those using
3660 acronyms) start with lowercase. Underscores delimit between
3661 object names and method names:
3662 SPI_init() - uppercase since it starts with an acronym.
3663 getDesktopCount () - lowercase start since no object param0.
3664 Accessible_getName() - uppercase object type name, studlyCaps method
3668 Added gtk-doc documentation for all currently implemented
3669 methods in the C bindings API.
3671 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3673 * Makefile.am : changed build order to build test last.
3676 Changed "createEventListener" to "CreateEventListener".
3677 * libspi/accessibleeventlistener.c :
3678 Bugfix for addition of callbacks.
3679 * test/Makefile.am :
3680 * test/simple-at.c :
3681 Added new test that uses the C bindings API.
3683 * libspi/listener.c :
3684 * libspi/registry.c :
3685 * libspi/accessibleeventlistener.c :
3686 * at-bridge/bridge.c :
3687 Renamed member "target" of Accessibility_Event to "source",
3688 which is more descriptive.
3691 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3695 * cspi/Makefile.am :
3696 Added makefile support for at-spi/cspi directory.
3699 * cspi/spi-listener.h : (NEW FILE)
3700 Added support for/use of spi-listener.h.
3702 C bindings now build successfully, with no warnings.
3703 * libspi/accessibleeventlistener.h : (NEW FILE)
3704 * libspi/accessibleeventlistener.c : (NEW FILE)
3705 * libspi/Makefile.am :
3706 Added new object type "AccessibleEventListener"
3707 which inherits from Listener, and allows attachment
3708 of in-process callbacks (so that a client with a listening
3709 object instance can add functionality to the local
3710 implementation, dynamically).
3712 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3714 * libspi/accessible.c:
3715 Add implementation for get_index_in_parent().
3717 Added #include of "spi-roletypes.h", and
3718 added enumerated type AccessibleCoordType.
3719 Added definition for KeystrokeListener (function type).
3722 * cspi/spi-statetypes.h :
3723 * cspi/spi-roletypes.h :
3725 Added these headers, used by spi.h.
3727 Added code (NOTE: not yet built by make).
3729 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3731 * libspi/Makefile.am: generate imodule
3732 at the same time as other idl compiler
3735 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3736 * libspi/registry.c :
3737 * libspi/application.c :
3738 * idl/Application.idl :
3739 Made registration with toolkit an application method,
3740 which is required since each app has its own toolkit static
3741 environment. Thus the bridge must register for
3742 notification of toolkit events from each application in turn.
3743 Toolkit notifications are now successfully registered for, and
3744 sent to the listening at client.
3746 Changed toolkit event string to use hyphens rather than underscores.
3747 * libspi/listener.c :
3748 listner now gives more info in debug mode - it reports the
3749 name of the event received, as well as the name of the source.
3752 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3754 * libspi/registry.c :
3755 added more implementation for toolkit events.
3756 Fixed bug such that toolkit event registrations
3757 (via atk) use the whole event name string, not
3759 Removed a useless call to an ORBit_ method.
3760 * at-bridge/bridge.c :
3761 Removed unused local sbuf[] variable.
3763 We now register for Gtk:GtkWidget:button_press_event
3764 events as well as "focus:" events.
3766 Add some more API from Registry.idl that was missing,
3767 for keystroke listening, keystroke and mouse event
3768 synthesis, and enumeration of accessible desktops.
3770 2001-08-16 Michael Meeks <michael@ximian.com>
3772 * configure.in: use AM_GLIB_GNU_GETTEXT.
3774 * Makefile.am (SUBDIRS): kill intl.
3776 2001-08-15 Michael Meeks <michael@ximian.com>
3778 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3780 * configure.in: upd.
3782 * configure.in: depend on a recent bonobo-activation that
3783 will find our server files ...
3785 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3787 * libspi/accessible.c : accessible_new() :
3788 Now we add the Component interface via bonobo_object_add_interface,
3789 if the contained AtkObject implements AtkComponent.
3790 * libspi/accessible.h : now include "component.h"
3791 * libspi/component.h :
3792 * libspi/component.c : added files - implementation of
3793 bonobo wrapper object for Accessibility/Component
3794 * libspi/listener.c :
3795 Added test code to check for Accessibility/Component:1.0
3796 interface and report whether it is implemented by the
3798 * libspi/registry.c :
3799 Now we check for not only the hash of the whole event
3800 string before relaying the event, we also check the
3801 "minor" event string (without the detail string).
3802 This allows event listeners to be registered against
3803 all events of a certain major+minor type, or just
3804 against a specific major+minor+detail type.
3805 * libspi/accessible.c :
3806 Added implementations for Accessible:get_parent(),
3807 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3808 * libspi/registry.c :
3809 * libspi/listener.c :
3810 Replaced calls to Accessibility_Accessible_ref() and
3811 Accessibility_Accessible_unref() with
3812 calls to bonobo_object_dup_ref() and
3813 bonobo_object_release_unref(), so that the CORBA object
3814 is dup-ed and released when relayed, as well as the bonobo object.
3816 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3818 * libspi/Makefile.am,
3819 registryd/Makefile.am,
3820 at-bridge/Makefile.am.
3821 test/Makefile.am, configure.in:
3822 reverse previous changes.
3824 * /idl/Image.idl: fix typo.
3826 * test/Makefile.am: put DEBUG_FLAGS
3829 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3831 * test/app.c: use argv[0] instead of
3834 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3836 * libspi/Makefile.am,
3837 registryd/Makefile.am,
3838 at-bridge/Makefile.am.
3839 test/Makefile.am, configure.in:
3840 cleanup, replace individual LIBS/CFLAGS with
3841 AT_COMMON_{LIBS|CFLAGS}.
3845 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3847 * configure.in, libspi/Makefile.am:
3848 Change IDL path checking for bonobo-activation
3851 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3853 * registryd/registry.c : separated event listeners to use
3854 3 separate lists (focus, window, toolkit). Began testing
3855 event names against hashes before relaying events.
3856 * test/at.c : now register for events of type "focus:"
3857 * test/app.c : now generate events of type "focus:"
3858 * at-bridge/bridge.c : register with ATK for focus events,
3859 and we now relay those focus events to any "focus:" listeners.
3860 This now works with the bridge as a GTK_MODULE when running test/at.
3861 * libspi/registry.c :
3862 * libspi/listener.c :
3863 now we ref event sources before propagating, and unref on receipt.
3864 * libspi/registry.c :
3865 some changes to internal structs, to support event typestring hashes.
3866 * text/app.c : changed the way the appname is generated.
3867 * cspi : added directory that will hold the C bindings library for
3868 non-CORBA/bonobo-savvy clients.
3869 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3870 * idl/Component.idl : added in parameter to indicate coord system for
3871 geometry-related calls.
3872 * idl/Hyperlink.idl : added readonly n_links attribute
3873 * idl/Image.idl : changed methods to attributes.
3875 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3877 * at-bridge/Makefile.am: link against
3878 ../libspi/libspi.la instead of -lspi.
3880 * at-spi/test/app.c: include
3881 bonobo-activation.h. Use a default appname
3882 if one is not provided.
3884 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3886 * idl/Registry.idl : temporarily changed register_Application
3887 to oneway, to work around issue with initial registration
3889 * idl/Application.idl : changed attribute "id" from readonly
3890 to read-write, since it needs to be assigned by Registry.
3891 * registryd/registryd.c : added call to set application id
3893 * registryd/registry.c : changed de-registration procedure to
3894 use CORBA_Object_hash() to find matching object ref in application
3895 lists and listener lists.
3896 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3897 began distinguishing between event types (work in progress).
3899 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3902 * libspi/application.c:
3903 Added implementations for get/set id, get_toolkitName,
3905 * registryd/registryd.c :
3909 Converted from use of OAF to bonobo-activation.
3910 * libspi/desktop.h :
3911 * libspi/desktop.c :
3913 Removed references to atksimpleobject, since base atkobject
3914 implementation now provides functionality we need.
3915 * libspi/atksimpleobject.c :
3916 * libspi/atksimpleobject.h :
3921 * at-bridge/Makefile.am
3922 * at-bridge/bridge.c
3925 Added directory "bridge" and contents, and added dependencies
3926 in Makefile.am/configure.in.
3927 Initial checkin of "at-bridge".
3928 This code is a GTK_MODULE which automatically registers
3929 GTK+ apps with the accessibility registry, using an object
3930 reference to the root ATK object.
3932 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3934 * po/Makefile.in.in: Remove. Again. If this
3935 doesn't get autogenerated - you need to update
3938 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3940 * po/Makefile.in.in: Add. Again.
3942 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3944 * libspi/accessible.c : added support for 'description' property.
3945 * libspi/accessible.c
3947 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3948 (since the two are now equivalent in libbonobo)
3956 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3957 Bonobo::Unknown as does Accessibility::Accessible.
3958 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3959 interface with Bonobo::Stream, since it was redundant with it.
3960 (The Stream returned by a StreamableContext object is expected to
3961 implement only a subset of Bonobo::Stream)
3963 2001-07-28 Anders Carlsson <andersca@gnome.org>
3965 * libspi/accessible.c (accessible_object_finalize): Change
3966 g_free to g_object_unref since the AtkObject is a GObject.
3968 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3970 * idl/Accessibility.idl: add new IDL files
3973 * idl/Action.idl: Definitions of actionable UI object
3974 * idl/Component.idl: Definitions of UI component geometry, etc.
3975 * idl/Hyperlink.idl: Defs of hyperlink behavior
3976 * idl/Image.idl: Def of accessible image
3977 * idl/Selection.idl: Definition of UI object with selectable children
3978 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3979 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3980 * idl/Text.idl: Interface defs for UI elements with complex textual content
3981 * idl/Value.idl: Definition of UI element that is a value controller or display
3983 2001-07-27 Michael Meeks <michael@ximian.com>
3985 * po/Makefile.in.in: remove autogenerated file from CVS.
3987 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3990 * idl/Registry.idl: include guard.
3992 * idl/Accessibility.idl: Add, and include all the other IDL
3995 * idl/*.idl: remove mass of pragmas etc.
3997 2001-07-26 Michael Meeks <michael@ximian.com>
3999 * registryd/Makefile.am (registryd_SOURCES): remove
4002 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4004 * libspi/.cvsignore, registryd/.cvsignore,
4005 test/.cvsignore: updated.
4007 * po/Makefile.in.in: gettext update.
4009 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4011 * initial CVS checkin
4013 2001-06-29 Michael Meeks <michael@ximian.com>
4015 * configure.in: add AM_CONFIG_HEADER to gen config.h