1 2002-05-11 Bill Haneman <bill.haneman@sun.com>
3 * registryd/registry.c:
4 Fixed quarking bug in event string parsing; now events with
5 detail parameters get matched correctly to listeners.
8 * util/idl/Magnifier.idl: remove.
10 * util/*.[ch]: Remove.
11 Magnification utilities and IDL are now in module gnome-mag.
13 2002-05-10 Bill Haneman <bill.haneman@sun.com>
15 * registryd/deviceeventcontroller.c:
16 Fixed bug in grab key conversion which was causing keycode grabs
17 to be converted to AnyKey grabs.
20 updated NEWS file to reflect recent spin-off of gnome-mag.
22 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
24 * cspi/spi_accessible.c: Added exception checks. Fixed completely
25 busted AccessibleStateSet_compare. Removed redundant casts.
27 * cspi/spi-action.c: Removed redundant casts.
29 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
31 * cspi/spi_component.c: Fixed typos and casting error.
33 * cspi/spi_editabletext.c: Removed redundant casts.
35 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
37 * cspi/spi_hypertext.c: Eliminated redundant casts.
39 * cspi/spi_image.c: Eliminated redundant casts.
41 * cspi/spi_registry.c: Eliminated redundant casts.
42 SPI_deregisterGlobalEventListenerAll () removed retval variable.
43 * cspi/spi_selection.c: Removed redundant casts.
44 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
45 handling. Screen geometry and text offsets were being returned as 0
46 on error which is technically valid-- changed these to return -1.
47 Added marshaller for text boundary types to fix bug with boundary
48 types being passed incorrectly to atk.
50 2002-05-09 Bill Haneman <bill.haneman@sun.com>
53 * cspi/spi_registry.c:
54 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
55 which was uncovered by the recent key changes.
57 2002-05-09 Bill Haneman <bill.haneman@sun.com>
59 * test/event-listener-test.c:
61 Added new test, "event-listener-test";
62 this code does two things; it benchmarks traversal time
63 for the accessible hierarchy for the first running accessible
64 app, and it connects listeners for all supported event types.
65 It is thus useful as an example event listener and for
66 diagnostics/debugging of event generation.
68 2002-05-08 Bill Haneman <bill.haneman@sun.com>
71 Removed unnecessary dependency on libutil.
74 Revved micro version: 0.13.1
76 2002-05-08 Bill Haneman <bill.haneman@sun.com>
79 Removed util/Makefile from targets.
82 Removed util subdir from SUBDIRS (temporarily,
83 pending removal of magnifier-only code
87 #ifdef-ed out magnifier dependencies, since
88 magnifier IDL, headers, and binary now live in
89 module gnome-mag and we don't want at-spi to depend
90 on gnome-mag. A magnifier demo which can run alongside
91 simple-at is forthcoming in the gnome-mag module.
93 NOTE: Split magnifier binary, IDL, and magnification
94 activation code from at-spi into module gnome-mag.
96 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
98 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
99 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
101 2002-05-03 Bill Haneman <bill.haneman@sun.com>
104 Revved to version 0.13.0
106 * idl/Accessibility_Registry.idl:
107 Changed definition of KeySet from sequence of longs to sequence of
108 KeyDefinitions, and added KeyDefinition struct.
109 Required for fix to bug 80616.
111 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
112 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
113 to use new definition (see above).
115 * registryd/deviceeventcontroller.c: handle_keygrab(),
116 spi_keyset_contains_key():
117 Changed to make use of new struct; this allows matching based on
118 string key-name, for instance "Tab". This also allows matching of
119 composed characters, non-alphanumeric characters in a way that
120 doesn't involve dependencies on X keysym codes directly, etc.
122 * test/key-listener-test.c:
123 Added test for Alt-Tab key using "string" specification of keyset,
124 and modified one of the tests to use a keycode-based keyset.
125 Thus this test both tests and demonstrates the creation and use of
126 keysets of three forms: specified via keycode array,
127 keysym array, and string array. (The string case only contains a
128 single string, i.e. a string array of length 1).
131 Turned on PRINT_TREE option by default. Also fixed a
132 string-freeing bug in the PRINT_TREE code.
133 Added a listener to window:minimize events.
135 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
137 * atk-bridge/bridge.c:
138 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
139 for window:activate and window:deactiveate
140 (atk_bridge_property_event_listener atk_bridge_signal_listener
141 atk_bridge_window_event_listener) Tidy debug code
143 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
145 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
146 Fixed handling for NULL return value from ATK.
148 * libspi/action.c libspi/component.c libspi/editabletext.
149 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
150 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
151 Removed redundant casts.
153 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
154 Fixed off by one bug.
156 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
157 function not present in idl)
159 2002-05-02 jacob berkman <jacob@ximian.com>
161 * atk-bridge/Makefile.am: make atk-bridge a real module
163 2002-04-26 Radek Doulik <rodo@ximian.com>
165 * libspi/stateset.c (spi_init_state_type_tables): fix size of
166 atk_state_types table
168 2002-04-22 jacob berkman <jacob@ximian.com>
171 * libspi/Makefile.am: add deps on the built files to help
172 automake, and don't version the ORBit typelib
174 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
176 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
177 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
178 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
179 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
180 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
181 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
182 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
183 libspi/accessible.h libspi/accessible.h libspi/base.h
184 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
185 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
186 libspi/relation.h libspi/remoteobject.h libspi/selection.h
187 libspi/spi-private.h libspi/statetset.h libspi/table.h
188 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
189 util/mag_client.h util/mag_control.c util/mag_image.c
190 util/mag_image.h util/magnifier.c util/magnifier.h:
191 Add missing file headers; standardize existing ones
193 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
195 * atk-bridge/bridge.c: Added window event support.
197 2002-04-18 Michael Meeks <michael@ximian.com>
199 * libspi/relation.c (impl_getNTargets): impl.
200 (impl_getTarget): impl.
202 * libspi/Makefile.am: fix stateset install.
204 2002-04-17 Bill Haneman <bill.haneman@sun.com>
207 Started putting useful info in this file.
209 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
211 * atk-bridge/bridge.c:
212 Propagate state-changed notifications to ATs
214 * cspi/spi_registry.c: update docs to reflect actual behavior of
217 2002-04-17 Bill Haneman <bill.haneman@sun.com>
220 Incremented version to 0.12.1
223 Add missing declaration for magnifier_exit,
224 used by mag_control.c - Forte compiler didn't like
225 the implicit redeclaration of the function :-(
228 2002-04-16 Bill Haneman <bill.haneman@sun.com>
231 Revved version to 0.12 due to API change (see below).
233 * cspi/spi-roletypes.h:
234 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
235 definition from the inline docs, and added docs
236 for SPI_ROLE_LAST_DEFINED.
239 * cspi/spi_streamablecontent.c:
240 Added missing seek_type parameter to
241 (so far unused) method,
242 AccessibleStreamableContent_seek().
243 [ RT approval JodyG. ]
246 Fixed docs for SPI_createAccessibleKeystrokeListener.
248 * cspi/spi_registry.c:
249 Fixed docs for SPI_KEYSET_ALL_KEYS.
251 * docs/reference/cspi/at-spi-cspi-sections.txt:
252 Added a number of missing APIs to SECTIONS.
254 2002-04-16 Bill Haneman <bill.haneman@sun.com>
256 * registryd/Makefile.am:
258 * cspi/bonobo/Makefile.am:
259 Add $(X_LIBS) to makefiles.
261 2002-04-15 Bill Haneman <bill.haneman@sun.com>
264 Revved version to 0.11.
266 * libspi/component.c:
267 Added implementation for grabFocus.
269 * idl/Accessibility_Component.idl
270 (Accessibility_Component_grabFocus):
271 Made this method return boolean to indicate success or failure, to
272 be consistent with cspi and the corresponding ATK method.
274 * idl/Accessibility_Selection.idl
275 (Accessibility_Selection_selectAll) :
276 Made these methods return boolean to indicate success or
277 failure, to be consistent with cspi and the corresponding ATK methods.
279 * idl/Accessibility_EditableText.idl
280 (Accessibility_EditableText_setTextContents,
281 Accessibility_EditableText_insertText,
282 Accessibility_EditableText_cutText,
283 Accessibility_EditableText_deleteText,
284 Accessibility_EditableText_pasteText):
285 Made these methods return boolean to indicate
288 * cspi/spi_editabletext.c:
289 Made these methods return booleans.
291 * libspi/selection.c:
292 * libspi/component.c:
293 * libspi/editabletext.c:
294 Connected the boolean returns from ATK
295 to the server-side code referenced above.
297 2002-04-14 Bill Haneman <bill.haneman@sun.com>
299 * idl/Accessibility_Table.idl: Added missing methods,
300 Accessibility_Table_addRowSelection,
301 Accessibility_Table_addColumnSelection,
302 Accessibility_Table_removeRowSelection,
303 Accessibility_Table_removeColumnSelection.
306 Added C wrappers for above IDL:
307 AccessibleTable_addRowSelection,
308 AccessibleTable_addColumnSelection,
309 AccessibleTable_removeRowSelection,
310 AccessibleTable_removeColumnSelection.
313 Added server-side implementation code for IDL above, connecting
314 to pre-existing ATK api.
316 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
318 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
320 * libspi/accessible.c: Added implementation fo
321 Accessibility_Accessible_get_state.
323 * libspi/libspi.h: Added stateset.h to the list of includes.
325 * libspi/stateset.c: Fixed broken implementation.
327 2002-04-13 Bill Haneman <bill.haneman@sun.com>
330 Added implementation code for Accessibility_Magnifier_exit ().
332 * util/mag_control.c:
333 Added test code for above method; you can
334 now kill an existing magnifier via
335 ./mag_control q, from the util directory.
337 * test/key-listener-test.c:
339 Added a new test, for our key listener API.
341 2002-04-11 Bill Haneman <bill.haneman@sun.com>
343 * test/app.c, test/keysynth-demo.c:
345 Replace use of snprintf with g_snprintf.
346 (fix for bugzilla 78249)
348 2002-03-27 Michael Meeks <michael@ximian.com>
352 * util/Makefile.am (INCLUDES): fix.
353 (DONT_DIST_SOURCE): don't distribute the
356 * libspi/Makefile.am (dist-hook): ditto.
358 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
360 * libspi/hypertext.c:
361 Fix warnings when yelp is used with atk-bridge
363 2002-03-21 Michael Meeks <michael@ximian.com>
365 * libspi/application.c (spi_application_new):
366 use spi_accessible_construct so we use the AtkObject
369 2002-03-19 Michael Meeks <michael@ximian.com>
371 * registryd/registry.c (desktop_remove_application),
372 (desktop_add_application): clean coding style.
374 * registryd/desktop.c (spi_desktop_remove_application),
375 (spi_desktop_add_application): kill re-enterency hazards.
376 (spi_desktop_dispose): remove bogus redundant cast
377 obscuring bug; fix bug too.
378 (spi_desktop_init): make the desktop object immortal.
380 2002-03-16 Bill Haneman <bill.haneman@sun.com>
383 Added a #define-guarded tree-traversal step
384 when enumerating the apps (diagnostic tool).
386 2002-03-15 Bill Haneman <bill.haneman@sun.com>
388 * idl/Accessibility_Role.idl:
389 Added ROLE_DRAWING_AREA which seemed to be missing from the
392 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
394 * cspi/spi-roletypes.h cspi/spi_accessible.c
395 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
398 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
399 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
400 AT when applications are added and removed from the desktop. This
401 reverts the previous broken implementation using the backing
402 AtkObject for the SpiDesktop.
404 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
406 * registryd/desktop.c: emit the "children-changed::add" and
407 "children-changed::remove" signals on the backing ATK object for
408 the desktop so AT can tell when applications are started and shut
411 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
413 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
415 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
417 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
419 * cspi/spi_accessible.c: Implemented c bindings for stateset support
421 * cspi/state-types.h: synched with IDL and ATK
423 2002-03-13 Bill Haneman <bill.haneman@sun.com>
425 * libspi/accessible.c
426 (impl_accessibility_accessible_get_child_at_index):
427 Change return value for g_return_if_fail ()
428 to CORBA_OBJECT_NIL instead of "0" (!)
430 * registryd/Makefile.am:
431 * registryd/Accessibility_Register.server.in:
432 Changed name of executable, "registryd",
433 to something more informative:
436 2002-03-13 Michael Meeks <michael@ximian.com>
438 * atk-bridge/bridge.c (atk_bridge_init): don't register
439 if we're in a bonobo-component, rather than a bonobo app.
441 2002-03-13 Michael Meeks <michael@ximian.com>
443 * atk-bridge/bridge.c (gtk_module_init): split
444 out body to (atk_bridge_init): here, since otherwise
445 we get symbol conflicts and oddness when invoked
446 from (gnome_accessibility_module_init): here (upd.)
448 2002-03-11 Bill Haneman <bill.haneman@sun.com>
451 New file. Explicitly allow "build sheriff" putbacks provided
452 they are tested on Solaris.
454 * docs/reference/cspi/Makefile.am:
455 Added '-' to the "cp" command for index.sgml.
456 ("patch by thomasvs, soon coming to a GUADEC near you")
459 Incremented version number (0.9.0) for new release.
460 Changed macro that checks for popt, to better detect
461 obsolete versions of popt.
464 Added X_LIBS to AC_SUBST, for applications
465 that call Xlib API directly.
468 2002-03-07 Bill Haneman <bill.haneman@sun.com>
471 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
474 Fix regression caused by hard-coding major
475 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
478 * test/test-simple.c (test_editable_text),
479 (test_test): revert previous change (error was
480 a regression in gail which is now fixed).
482 2002-03-04 Michael Meeks <michael@ximian.com>
484 * test/test-simple.c (test_editable_text),
485 (test_text): pass G_MAXINT instead of '-1' for
486 whole string - is this a good thing !?
488 * cspi/spi_accessible.c
489 (Accessible_getRelationSet): fix crasher bug
490 overwriting the end of the array.
492 * test/test-simple.c (validate_accessible): free,
493 not g_free returned relation set.
495 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
497 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
498 implemented stateset support
500 * idl/Accessibility_State.idl: Made necessary changes to
501 the IDL to support state sets.
503 2002-02-12 Bill Haneman <bill.haneman@sun.com>
505 * registryd/deviceeventcontroller.c:
506 Added implementation for generateMouseEvent.
508 * cspi/spi_registry.c:
509 Connected new implementation for generateMouseEvent
512 2002-02-12 Bill Haneman <bill.haneman@sun.com>
515 Incremented revision (but no change in public API
516 outside of 'utils', which are not installed public yet.)
518 * libspi/component.c:
519 Changed to use atk_component API for layers and
520 mdi_zorder, instead of deprecated atk_object API.
522 Magnification Utility Enhancements:
525 Added implementation of createZoomRegion, clearAllZoomRegions,
526 resizeZoomRegion. Added new commandline argument
527 "--no-initial-region". Note that clearAllZoomRegions doesn't
528 unmap the old '0' region as it should (yet), and the other
529 methods only work when creating/resizing a single region,
531 (Code for multiple region support will be added later.)
534 Now we raise the magnifier window each time it's refreshed;
535 this will help keep it on top.
538 Added simple wrappers for above, used by mag_control.
539 For general use, it's recommended to use the bonobo magnifier
540 control API directly instead of using these wrappers.
543 Moved ZoomRegionData from magnifier.c to this file.
545 * util/mag_control.c:
546 Added some code to exercise new IDL implementations.
548 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
550 * libspi/text.c: Provide implementation for getAttributes.
552 2002-02-04 Bill Haneman <bill.haneman@sun.com>
555 Incremented revision.
557 * test/test-simple.c:
558 Replaced use of deprecated g_main_iteration with
559 g_main_context_iteration.
561 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
564 Incremented revision for desktop alpha 2.
566 2002-01-28 Mark McLoughlin <mark@skynet.ie>
568 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
571 * test/simple-at.c: include netinet/in.h.
573 2002-01-24 Mark McLoughlin <mark@skynet.ie>
575 * cspi/spi_accessible.c: (Accessible_getRelationSet):
576 use NULL, not CORBA_OBJECT_NIL.
578 * libspi/accessible.c:
579 (impl_accessibility_accessible_get_relation_set):
580 allocate the sequence correctly.
582 * libspi/remoteobject.h: kill spi_remote_object_new.
584 * test/test-simple.c: (validate_accessible): add code
585 to test relation sets, now all we need is to figure
586 out how to excercise this code path :/
588 2002-01-18 Michael Meeks <michael@ximian.com>
591 (key_listener_cb): consume the key.
592 (test_keylisteners): update.
593 (main): wait for any pending unrefs on events.
595 * registryd/deviceeventcontroller.c
596 (spi_controller_update_key_grabs): only re-issue the
597 grab on a key release.
598 (spi_device_event_controller_forward_key_event):
599 refresh the keygrabs before we notify the listeners,
600 to reduce the X ungrab / re-grab race.
601 (spi_controller_register_with_devices): remove
602 XSelectInput - we do that with the gdk_window_ call.
603 (_spi_controller_device_error_handler): return a value.
604 s/GDK_DISPLAY/spi_get_display/
606 2002-01-17 Michael Meeks <michael@ximian.com>
608 * registryd/deviceeventcontroller.c
609 (_deregister_keygrab): don't blow out the later
612 * test/test-simple.c (test_keylisteners): do a
613 more intelligent validation.
615 2002-01-14 Michael Meeks <michael@ximian.com>
617 * atk-bridge/bridge.c
618 (gnome_accessibility_module_init),
619 (gnome_accessibility_module_shutdown): impl.
620 (gtk_module_init): protect vs. double inits.
621 (add_signal_listener): impl.
622 (spi_atk_bridge_state_event_listener): kill
623 (deregister_application): split out of
624 (spi_atk_bridge_exit_func): here.
626 2002-01-18 Bill Haneman <bill.haneman@sun.com>
629 Added caret tracking when using magnifier, and
630 now use text bounds for focus tracking of text elements, rather than
631 the component bounds - this is helpful for short text fields in long
632 table cells, at high magnification.
634 2002-01-16 Bill Haneman <bill.haneman@sun.com>
636 * registryd/deviceeventcontroller.c:
637 Regression fix for keylistener de-registration; global keygrabs
638 were not being released when deregisterKeystrokeListener was
639 called in cspi, since
640 Accessibility_DeviceEventController_deregisterKeystrokeListener
641 was called with a zero-length keyset. That is because the cspi
642 method, SPI_deregisterKeystrokeListener, does not take a keyset
643 parameter but instead should remove all the key grabs held be a
645 The code in impl_deregister_keystroke_listener was changed to copy
646 the keylist from the listener instance previously registered with
647 the DeviceEventController before releasing the grabs.
649 * registryd/registry.c:
650 * registryd/deviceeventcontroller.c:
651 * libspi/spi-private.h:
653 Changed spelling of "re-enterant" to "re-entrant" globally.
655 2002-01-16 Bill Haneman <bill.haneman@sun.com>
657 * test/test-simple.c:
658 Changed key listeners test - the test was slightly mis-using the
659 (admittedly poorly documented) SPI_generateKeyboardEvent API.
660 It now uses '=' as the key event listened to and generated,
661 relying on a keysym match rather than assuming that keycode 33
662 is always equal to keysym '!'.
664 2002-01-15 Bill Haneman <bill.haneman@sun.com>
667 Changed simple-at to use a specific keyset, rather than
668 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
669 manager, desktop, etc.
671 2002-01-11 Bill Haneman <bill.haneman@sun.com>
673 * registryd/deviceeventcontroller.c:
674 Replaced standard X error handler with a special handler that
675 is non-fatal for failed keygrabs. This works around
676 problems with keygrab clashes sometimes observed on
678 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
679 mouse handling code as yet).
681 2002-01-11 Bill Haneman <bill.haneman@sun.com>
684 Incremented revision for desktop alpha release.
687 Fixed a couple of the more glaring errors (still not
690 2002-01-11 Michael Meeks <michael@ximian.com>
692 * registryd/deviceeventcontroller.c
693 (spi_device_event_controller_forward_key_event): kill
694 XUngrabKey / XKeyGrab race.
695 (spi_controller_grab_keyboard): rename to
696 (spi_controller_update_key_grabs): this, and deal
697 with incremental adding / removing grabs more
699 (_register_keygrab): ensure we're not pending a remove.
700 (spi_grab_mask_free): impl.
701 (spi_controller_register_global_keygrabs): split out
703 (handle_keygrab): impl.
704 (_deregister_keygrab): impl.
705 (spi_controller_deregister_global_keygrabs): impl.
706 (spi_controller_update_key_grabs): re-issue the grab if
707 we just recieved a notification.
709 * test/test-simple.c (key_listener_cb): remove debug.
711 * registryd/deviceeventcontroller.c
712 (spi_controller_register_device_listener): after
713 registering a global keygrab, actualy register it !
714 don't wait for a timeout; doh !
716 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
717 to make it more readable / manipulable.
718 s/grabmask/grab_mask/ s/refcount/ref_count/
719 s/keyval/key_val/ s/modmask/mod_mask
721 2002-01-08 Michael Meeks <michael@ximian.com>
723 * registryd/deviceeventcontroller.c
724 (spi_controller_register_with_devices): use gdk calls to
726 (global_filter_fn): implement the filter.
727 (spi_device_event_controller_check_key_event): rename to
728 (spi_device_event_controller_forward_key_event): this & upd.
729 (spi_get_display): replace with GDK_DISPLAY.
731 * registryd/deviceeventcontroller.c
732 (spi_controller_deregister_device_listener): unroll into
733 (impl_deregister_keystroke_listener): here to simplify.
734 (spi_controller_register_global_keygrabs): split cut and
735 paste (!) out into (_register_keygrab): here, shorter & sweeter.
736 (spi_controller_deregister_device_listener): remove.
737 (impl_register_mouse_listener): remove, no mouse listener
738 support in at-spi-1.0
740 * registryd/registry.c
741 (_device_event_controller_hook): kill.
742 (spi_registry_init): upd.
744 * registryd/deviceeventcontroller.c
745 (spi_device_event_controller_class_init): upd.
746 (spi_check_key_event): merge into.
747 (spi_device_event_controller_check_key_event):
748 here and kill strange static ev init, don't leak
749 the x_event - nor dynamicaly allocate it.
751 * registryd/registry-main.c (main): re-direct
752 timeout to remove strange vtable mess.
754 * registryd/deviceeventcontroller.c
755 (remove_listener_cb): impl.
756 (spi_controller_deregister_device_listener):
757 fix re-enterancy hazard.
759 2002-01-07 Michael Meeks <michael@ximian.com>
761 * registryd/deviceeventcontroller.c
762 (spi_device_event_controller_new): upd.
763 (impl_notify_listeners_sync): upd. debug.
764 (spi_notify_keylisteners): fix re-enterancy hazards,
765 prettify, remove O(n*n) iteration.
766 (spi_controller_grab_keyboard): fix iteration.
767 (spi_check_key_event): re-format to suit coding style.
768 Clean all the warnings - we're warning free.
770 * registryd/deviceeventcontroller.h:
771 * registryd/registry.h: make mutualy referential with
772 typesafe forward references instead of (!) void pointer
775 2002-01-11 Michael Meeks <michael@ximian.com>
777 * cspi/spi_accessible.c (role_names): add a role name
778 to sync this array with the enum; and make the regression
781 2002-01-10 Michael Meeks <michael@ximian.com>
783 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
784 allow expansion of enumeration & kill warning.
786 * test/test-simple.c (key_listener_cb): impl.
787 (test_keylisteners): impl.
789 * cspi/spi-listener.h: make listener signatures const
790 on the provided (const) events.
792 * test/keysynth-demo.c: upd. to const events.
794 * test/simple-at.c: ditto.
796 2002-01-11 Bill Haneman <bill.haneman@sun.com>
799 Rev the version to 0.5 (the previous tarball was named 0.4,
800 even though the micro number was 3), so we need to rev upwards
801 again for beta2/"desktop-alpha"
804 Checked in a demo script, which requires editing before use!
805 Proceed with caution.
808 Fixed typo in header which was redefining SPI_ACTION_CLASS.
810 * cspi/spi_accessible.c:
811 Add a couple of missing enum initializations, and fix some enum
814 * cspi/spi_registry.c:
815 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
817 * docs/reference/cspi/at-spi-cspi-sections.txt:
818 Remove/fix a couple of broken document references.
821 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
822 as Alt-Control to listen for commands, since on some systems
823 Control-Alt may already be grabbed.
825 2002-01-10 Bill Haneman <bill.haneman@sun.com>
828 Update version number to 0.4 for Beta2.
830 * libspi/accessible.c, libspi/accessible.h:
831 Expose spi_accessible_construct, to enable libgail-gnome
832 construction from spi_accessible subtype.
835 Workaround for bug in some non-gnome-compliant window managers
836 which made magnifier resize improperly.
838 2002-01-09 Bill Haneman <bill.haneman@sun.com>
840 * libspi/accessible.c: (spi_accessible_new) :
841 Move the test for SPI_IS_REMOTE_OBJECT to
842 spi_accessible_new_return, fixing a bug and compile time warning.
844 2002-01-08 Michael Meeks <michael@ximian.com>
846 * registryd/registry.c (parse_event_type): remove strndup.
848 * libspi/Makefile.am (libspi_la_SOURCES): remove
849 sources already included in the headers section.
851 * libspi/util.c: add.
853 * libspi/spi-private.h: add.
855 * registryd/registry.c: update to moved list iterators.
857 2002-01-05 Michael Meeks <michael@ximian.com>
859 * test/simple-at.c (main): upd. auto-module set to atk-bridge
861 * test/test-simple.c (main): ditto.
863 2002-01-04 Michael Meeks <michael@ximian.com>
865 * libspi/accessible.c (spi_accessible_new): remove 2nd,
868 * registryd/registry.c
869 (get_listener_list): impl.
870 (impl_accessibility_registry_register_global_event_listener):
871 re-impl. to simplify using ~, remove dodgy const cast off.
872 (parse_event_type): constify.
873 (impl_accessibility_registry_deregister_global_event_listener_all):
874 re-write, more efficiency and simplicity, kill re-enterancy
876 (compare_listener_corbaref, compare_corba_objects),
877 (compare_listener_quarks): define out.
878 (impl_accessibility_registry_deregister_global_event_listener):
879 re-write for effiency, and nail re-enterancy hazard.
880 (impl_accessibility_registry_get_desktop_list): impl.
881 (re_enterant_list_delete_link): impl.
882 (re_enterant_list_foreach): impl.
883 (remove_listener_cb): impl.
884 (_registry_notify_listeners): kill.
885 (notify_listeners_cb): impl.
887 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
888 (SPI_getDesktopList): impl.
890 * test/test-simple.c (test_desktop): test the methods.
892 2002-01-03 Michael Meeks <michael@ximian.com>
894 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
895 keystrings since we free them
896 (SPI_freeAccessibleKeySet): in here.
898 * libspi/accessible.c (spi_accessible_new): kill warning,
899 wonder what is going on with the constructor here.
901 2002-03-01 Bill Haneman <bill.haneman@sun.com>
903 * libspi/accessible.c (spi_accessible_new ()) :
904 Added check to see if AtkObject is an SpiRemoteObject before
905 creating an SpiAccessible.
907 2002-05-01 Bill Haneman <bill.haneman@sun.com>
909 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
910 Enable keygrabs using the Control modifier, now that they are
911 working properly (they were previously disabled).
914 Change the command keygrab for this demo to "Control+Alt", so as
915 to conflict with fewer other key commands on the system; this
916 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
918 Removed a pointlessly-chatty keylistener for unshifted keys
919 (shifted keys are still reported).
921 2002-02-01 Bill Haneman <bill.haneman@sun.com>
923 * libspi/remoteobject.h:
924 * libspi/remoteobject.c:
925 Added definitions for special AtkObject subtype, required for
926 support of remote components (specifically, used by BonoboControl
927 accessibility implementation).
929 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
931 * cspi/spi.h: synched relation types with ATK
933 * cspi/spi_accessible.c: Added implementations of
934 AcccessibleRelation_* methods
936 * idl/Accessibility_Relation.idl: added getRelationTypeName
937 method. Synched known relation types with ATK. Allowed for
938 relation type extension with the RELATION_EXTENDED type.
940 * libspi/relation.c: Provided implementations for
941 AccessibleRelation methods.
943 2002-01-01 Bill Haneman <bill.haneman@sun.com>
945 API tweaks for today's API 'freeze'.
948 Added placeholder functions to allow future compatible expansion
949 of the IDL interfaces.
951 * idl/Accessibility_Registry.idl:
952 Changed generateKeyEvent to generateKeyboardEvent. Changed
953 signature of this method to accept an optional keystring in
954 parameter (for complex text input synthesis) and changed use of
955 simple 'boolean' parameter in registerKeystrokeListener to a
956 struct, EventListenerMode.
958 * cspi/spi_accessible.c:
960 * cspi/spi_streamablecontent.c:
961 Added references to AccessibleStreamableContent interface, and
962 definition and implementation of AccessibleStreamableContent
965 * cspi/spi_registry.c:
967 Changed generateKeyEvent API to generateKeyboardEvent,
968 taking a new (optional) keystring parameter to support complex
973 Renamed directory (to better reflect its actual purpose, bridging
974 from at-spi to ATK). The .so module is also now named
977 * idl/Accessibility_Hypertext.idl:
978 * libspi/accessible.c:
979 * libspi/hypertext.h:
980 * libspi/hypertext.c:
981 Changed Accessibility_Hypertext to *not* derive from
984 * cspi/spi_registry.c:
985 Added list of legal event type names for 'window' events, which
986 completes the registry event API.
988 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
990 * at-bridge/bridge.c: Added registration for separate
991 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
992 signals. If either of the first two parameters to the generic
993 bridge signal handler are ints, they are passed on as event
994 details. This allows an AT to determine what text was inserted.
996 2001-12-21 Bill Haneman <bill.haneman@sun.com>
998 * registryd/deviceeventcontroller.c:
999 Fixed regressions in generateKeyEvent caused by the removal of
1000 gdk_init from registryd; we now use pure X calls to connect to the
1001 display, which makes sense because deviceeventcontroller already
1002 uses a fair bit of X API (should eventually be migrated to a
1003 'portability layer').
1005 * registryd/desktop.c:
1006 Fixed minor regression in spi_desktop_init, changed the way the
1007 desktop name is being set to work with new spi_base API
1008 (gobject-based, rather than AtkObject-based).
1010 * registryd/Makefile.am:
1011 Minor revision of makefile to use XTST_LIBS variable rather than
1012 hard-wiring the Xtst LD_ADD element.
1014 * test/keysynth-demo.c:
1015 Tweaked an output message; added initialization of the
1016 'keystrings' member of the "switch listener" key_set.
1018 * libspi/relation.c:
1019 Squashed compile-time warning.
1021 * libspi/accessible.c:
1022 Cosmetic and formatting fixes, renamed a static method.
1024 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1026 * libspi/accessible.c
1028 * libspi/application.c
1031 * libspi/component.c
1032 * libspi/editabletext.c
1033 * libspi/hyperlink.c
1034 * libspi/hypertext.c
1036 * libspi/selection.c
1040 * registryd/desktop.c:
1041 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1043 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1045 * idl/Accessibility_Registry.idl:
1046 Added boolean member 'is_text' to DeviceEvent. This is for the
1047 use of key events, and helps prevent ambiguity between composed
1048 key strings and keysym names, since both may potentially be
1049 returned in the 'event_string' member.
1051 * at-bridge/bridge.c:
1052 * registryd/deviceeventcontroller.c:
1053 Use the 'is_text' member when notifying device event listeners.
1054 Knon issue: composed characters are not dealt with correctly by
1055 the global key listener implementation yet.
1057 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1059 * at-bridge/bridge.c:
1060 Namespaced local static methods to spi_atk_bridge_* where
1061 previously named bridge_*, and spi_* elsewhere.
1063 * at-bridge/bridge.c:
1064 * cspi/bonobo/cspi-bonobo-listener.c:
1065 Added demarshalling/conversion for string member of
1066 Accessibility_DeviceEvent to AccessibleKeystroke.
1068 * registryd/deviceeventcontroller.c:
1069 Added code to fill the Accessibility_DeviceEvent key string value
1070 member for global key events (i.e. from XGrabKey), to match
1071 behavior of Accessibility_DeviceEvent from the toolkit key events
1072 from the bridge. Fixed timestamp in global key event notifications.
1075 Added printout of key event's string value to
1076 report_ordinary_key_event, for demo/debugging purposes.
1078 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1080 * idl/Accessibility_Registry.idl:
1081 Removed Accessibility_KeyStroke structure in favor of generic
1082 Accessibility_DeviceEvent structure.
1083 Changed Accessibility_ControllerEventMask from a struct to an
1086 * at-bridge/bridge.c:
1087 Changed APIs to use DeviceEvent structure as above, and removed
1088 bogus casting between these event structures.
1090 * cspi/spi-listener.h:
1091 Added keystring member of AccessibleKeystroke structure, to enable
1092 matching on event "names" rather than only hardware codes and
1096 Added keystrings member of AccessibleKeySet struct, to allow
1097 matching on event names (as above).
1098 Added declarations for SPI_createAccessibleKeySet and
1099 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1100 event modmasks directly as unsigned ints rather than structs with
1101 refcounts, in the DeviceEventController methods.
1103 * cspi/spi_registry.c:
1104 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1106 * cspi/spi-roletypes.h:
1107 Added documentation of newly added SPI Roles.
1109 * cspi/bonobo/cspi-bonobo-listener.c:
1110 Changes in support of API changes above.
1112 * libspi/accessible.c:
1113 Converted APIs to use DeviceEvent structure (see IDL changes
1116 * registryd/deviceeventcontroller.c:
1117 Added DEControllerGrabMask structure to track keygrabs not only by
1118 modmask but by keyset as well; this allows us to do "global"
1119 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1120 grabbing on AnyKey and then filtering after-the-fact.
1121 Bugfixes for event filtration mean that we don't get false matches
1122 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1124 * registryd/deviceeventcontroller.c:
1125 Namespaced a number of static methods to use spi_ prefix. Major
1126 revision to internals of global (i.e. X) key grabs.
1128 * registryd/deviceeventcontroller.h:
1129 Removed keymask_list and added keygrabs_list to
1130 SpiDeviceEventController struct.
1133 Added use of SPI_createAccessibleKeySet API when creating a
1134 listener for only one key. Attach a listener to "shift spacebar
1135 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1136 X key event names to SPI key event names, so that listeners are
1137 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1139 * test/keysynth-demo.c:
1140 Changed (incorrect) use of X key event names (KeyPressed,
1141 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1144 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1146 * libspi/accessible.c:
1147 Convert all AtkRole enumerations to Accessibility_Role enums when
1148 getting a role from an AtkObject.
1150 * cspi/spi_accessible.c:
1151 Complete the conversion of Accessibility_Role enums at runtime to
1152 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1153 role enums correctly match those given in spi-roletypes.h.
1154 Re-synchronize the local names list for AccessibleRole_getName ().
1155 AccessibleRole_getName is now deprecated, since it duplicates the
1156 more reliable Accessible_getRoleName.
1157 Added some role types from Accessibility_Role.idl.
1159 * idl/Accessibility_Role.idl:
1160 Added some role types used by AtkRole.
1162 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1165 * cspi/spi_registry.c:
1167 * cspi/cspi-bonobo-listener.c:
1168 Namespaced all methods that did not begin with an "SPI_" or
1169 "Accessible" prefix to "SPI_".
1172 Homogenized internal function namespace to "cspi_" for statics.
1175 Patched tests to use the new CSPI API.
1177 * docs/reference/cspi/at-spi-cspi-sections.txt:
1178 Updated docs to reflect namespace changes, and added a number of
1179 methods to the documentation.
1181 * registryd/registry.c:
1182 Changed use of strings and string hashes in listener event
1183 matching and parse_event_string to use GQuark, which is guaranteed
1186 * registryd/registry.h:
1187 Squashed annoying warning.
1189 * idl/Accessibility_Role.idl:
1190 Extended range of available Accessibility_Role values.
1192 * cspi/spi_accessible.c:
1193 Re-ordered role names.
1195 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1197 * idl/Accessibility_Value.idl:
1198 Revert use of union back to CORBA_double, since the double type is
1199 more efficient and can contain the other types without loss of
1202 * idl/Accessibility_Accessible.idl:
1203 Added method Accessibility:Accessible:getRoleName, to complement
1204 Accessibility:Accessible:getRole.
1206 * cspi/spi_accessible.c:
1208 Added C binding for above, Accessible_getRoleName (), and changed
1209 signature of Accessible_getRole () to return an AccessibleRole.
1211 * cspi/spi-roletypes.h:
1212 Changed AccessibleRole_getName to return a char * instead of a
1213 const char *. This method is now at least temporarily deprecated
1214 in favor of asking Accessibles for their RoleNames directly.
1217 Revert to match Accessibility_Value.idl;
1221 Change signature of AccessibleValue methods to use double rather
1225 * cspi/spi_accessible.c:
1226 Changed Accessible_getRole to return an AccessibleRole enum rather
1227 than a UTF-8 string. The UTF-8 string can still be obtained via
1228 AccessibleRole_getName ().
1230 * test/test-simple.c:
1231 Add test_action. Small fixup to match API change to Accessible_getRole.
1234 Bugfix for get_action_from_servant ().
1236 2001-12-11 Michael Meeks <michael@ximian.com>
1238 * libspi/libspi.h: remove registry.h and
1239 desktop.h, deviceeventcontroller.h
1241 * libspi/Makefile.am: remove registry.[ch],
1242 desktop.[ch], deviceeventcontroller.[ch]
1244 * registryd/Makefile.am: add registry.[ch],
1245 desktop.[ch], rename registryd.c to registry-main.c.
1246 add deviceeventcontroller.[ch]
1248 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1251 Replace setenv() call with putenv ().
1253 * libspi/component.c:
1254 Bugfix in AccessibleComponent_getExtents (),
1257 2001-12-11 Michael Meeks <michael@ximian.com>
1259 * libspi/image.c (impl_getImageExtents): impl.
1260 (spi_image_class_init): upd.
1263 (AccessibleImage_getImageDescription): fix daft bug
1266 * test/test-simple.c (global_listener_cb): update
1267 to only quit if not --poke
1268 (main): catch --poke.
1269 (validate_accessible): upd. dumping, call test_image
1272 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1275 * idl/Accessibility.idl: update all IDL includes.
1277 * idl/*.idl - rename to namespace - this sucks, blame
1278 mjs' bad decision for oafd.
1280 * test/test-simple.c (create_test_window): add more tests.
1281 (create_tree): split this out.
1282 (validate_accessible): bugfix.
1284 2001-12-11 Michael Meeks <michael@ximian.com>
1286 * cspi/bonobo/cspi-bonobo-listener.c:
1287 (cspi_kestroke_listener_unref),
1288 (cspi_event_listener_unref): impl. undoing previous
1289 homenous environment - for Bill.
1291 * cspi/spi_table.c (long_seq_to_array): use
1294 * cspi/spi_main.c: split out all bonoboish bits into
1297 * cspi/spi-impl.h: upd. typedefs.
1299 * cspi/spi_registry.c: update to lowlevel API,
1300 return booleans to indicate success in some places.
1302 * cspi/spi_event.c: update to lowlevel API.
1304 * cspi/bonobo/Makefile.am: add.
1306 * cspi/bonobo/cspi-lowlevel.h: add
1308 * cspi/bonobo/cspi-bonobo.c: add
1310 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1312 * cspi/Makefile.am: remove spi-listener-impl.[ch],
1313 (SUBDIRS): add bonobo, link in the libs.
1315 * cspi/spi-util.c: kill this file.
1317 * TODO: merge in my bits.
1319 2001-12-11 Michael Meeks <michael@ximian.com>
1321 * test/test-simple.c (test_value, test_table, main):
1322 remove unused variables causing warnings.
1324 * configure.in: cleanup checks - require gail.
1326 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1329 Changed Value interface to use SValue (scalars) rather than
1330 assuming all values are floats. This allows floats, doubles,
1331 longs, shorts, and unsigned values to be manipulated.
1332 Introduced Accessibility:SValue union.
1335 Updated to use new API above, and to work correctly with GValues
1336 of different types in AtkValue.
1339 Updated to use new API above. cspi's API is as yet unchanged.
1342 Updated the Value revision action item.
1344 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1346 * test/test-simple.c:
1347 Added test_table (GtkTreeView widget in test window to follow).
1348 Un-commented test_value, added GtkRange widget.
1349 Added GtkTreeView widget with GtkListStore. It passes regression
1350 test but leaks one SPI object for some reason.
1353 Fixed bug in impl__set_currentValue.
1355 2001-12-10 Michael Meeks <michael@ximian.com>
1357 * cspi/spi_text.c: audit for exception handling,
1358 tolerating NULL object references safely etc.
1360 * cspi/spi_value.c: ditto.
1362 * cspi/spi_table.c (AccessibleTable_getSummary),
1363 (AccessibleTable_getAccessibleAt),
1364 (AccessibleTable_getRowHeader),
1365 (AccessibleTable_getColumnHeader),
1366 (AccessibleTable_getCaption): fix bugs hidden by
1368 (long_seq_to_array): impl.
1369 (AccessibleTable_getSelectedRows),
1370 (AccessibleTable_getSelectedColumns): use it.
1372 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1375 Added a TODO list (rough and short for now).
1377 * cspi/spi_hyperlink.c:
1378 * cspi/spi_hypertext.c:
1379 Fixed macro name typos, and remove use of obsolete macro in
1380 AccessibleHyperlink_getLink.
1382 * cspi/spi_action.c:
1383 * cspi/spi_accessible.c:
1384 * cspi/spi_application.c:
1385 * cspi/spi_component.c:
1386 * cspi/spi_selection.c:
1389 Documentation fixes (removed return values from ref/unref methods).
1391 2001-12-10 Michael Meeks <michael@ximian.com>
1393 * cspi/spi_action.c: audit for exception handling,
1394 tolerating NULL object references safely etc.
1396 * cspi/spi_accessible.c: ditto.
1398 * cspi/spi_component.c: ditto.
1400 * cspi/spi_editabletext.c: ditto.
1402 * cspi/spi_hyperlink.c: ditto.
1404 * cspi/spi_hypertext.c: ditto.
1406 * cspi/spi_image.c: ditto.
1408 * cspi/spi_selection.c: ditto.
1410 2001-12-10 Michael Meeks <michael@ximian.com>
1412 * configure.in: use cspi/libspi.pc.in instead.
1414 * Makefile.am (pkgconfig_DATA): upd. to match.
1416 * test/simple-at.c (report_focus_event): kill hacks around
1417 bad return values, use putenv not setenv
1419 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1420 fire ChildGone - I killed it.
1422 * libspi/component.c
1423 (impl_accessibility_component_get_extents): remove
1426 * idl/Accessible.idl: kill ChildGone exception.
1428 * cspi/*.[ch]: kill int return from ref / unref.
1430 * cspi/spi_main.c (cspi_object_add_check): fold into
1431 (cspi_object_add): here.
1433 * cspi/spi_component.c (AccessibleComponent_getExtents):
1434 handle exceptions elegantly.
1436 * cspi/spi-private.h (cspi_check_ev_return),
1437 (cspi_return_if_fail): impl.
1439 * cspi/spi_accessible.c: use extensively.
1440 (AccessibleStateSet_equals): add direct compare check.
1442 * cspi/spi_selection.c: tolerate NULL objs, and check
1443 exceptions before return.
1445 * cspi/spi-util.c (cspi_warn_ev): rename to
1446 (cspi_check_ev): this & don't pass ev in; no point.
1448 2001-12-10 Michael Meeks <michael@ximian.com>
1450 * test/test-simple.c: use putenv not setenv
1451 (get_environment_vars): more chatty if you're not using
1454 * test/simple-at.c: do the setenv so more people see the
1457 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1459 * libspi/registry.c:
1460 Changed check of CORBA_environment on notification to be a warning
1461 instead of an error for the moment, since we can recover from this
1462 error when caused by a queued notification from a dead app.
1465 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1466 used by all current implementors of AtkValue), and coerce to
1467 CORBA_float. (Proper general case fix may require change to Value.idl).
1469 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1473 * cspi/spi_accessible.c:
1474 Documentation fixes: added user_data params to documentation for
1475 listeners and callbacks.
1477 * cspi/spi_accessible.c:
1478 Changed AccessibleStateSet_compare to return a
1479 StateSet rather than return the difference set into a third parameter.
1482 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1485 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1486 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1490 Remove subdirectory po from SUBDIRS for now.
1492 * at-bridge/bridge.c:
1493 Beefed up a couple of debug printouts.
1494 One-line fix for signal notification name formatting.
1496 * libspi/accessible.c:
1497 Added assertion to spi_accessible_new ().
1499 * libspi/application.c:
1500 Put #ifdef qualifiers around a printf.
1503 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1505 * registryd/Makefile.am:
1507 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1508 INTLTOOL_SERVER_RULE macro.
1511 Added an event listener for several ATK signals, for
1512 testing and debugging. Removed a few g_warnings.
1513 Added test output if focussed item implements the Value interface.
1515 * test/test-simple.c:
1516 Added test_value () function (known not to pass at the moment, so
1517 not actually called yet.
1519 2001-12-08 Michael Meeks <michael@ximian.com>
1521 * at-bridge/bridge.c (bridge_focus_tracker),
1522 (emit_eventv): fix the same ref. leak.
1523 (register_atk_event_listeners): don't leak.
1525 * cspi/spi-listener-impl.c (cspi_event): more
1526 protection from client code.
1528 * test/test-simple.c (test_desktop): unref the app.
1530 * test/Makefile.am: upd. TESTS.
1532 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1534 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1536 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1538 * cspi/spi_registry.c: constify in strings.
1539 (deregisterGlobalEventListenerAll): don't release the ref.
1541 * cspi/spi.h: start removing redundant / conflicting
1542 gtkdoc comments, making the API readable at a glance :-)
1544 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1546 * test/keysynth-demo.c (keysynth_exit, main): upd.
1548 * test/simple-at.c (main, simple_at_exit): upd.
1550 * test/test-simple.c (unutterable_horror): kill.
1551 (utterable_normal_derefs): kill.
1552 (main): upd & do a setenv before gtk_init, so that we
1553 can use memprof - and to save the pain of remembering
1554 this, if we're running under memprof - don't exit.
1556 * cspi/spi_main.c (SPI_exit): return exit status
1558 (SPI_event_quit): impl.
1559 (SPI_event_main): simplify.
1560 (cspi_is_gnome_app): kill.
1561 (SPI_init): kill isGNOMEapp arg.
1563 * at-bridge/bridge.c (register_atk_event_listeners):
1564 re-instate the unref.
1565 (bridge_exit_func): don't re-activate the registry,
1566 protect vs. theoretical re-entry, use the
1567 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1568 assert a clean shutdown - for regression tests.
1570 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1572 * configure.in: Comment out dummy i18n support for now,
1573 otherwise it fails to build.
1574 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1575 EXTRA_DIST. They are missing in tarball.
1577 2001-12-07 Michael Meeks <michael@ximian.com>
1579 * util/magnifier.c: kill bonobo activation reg. race.
1581 * libspi/component.c
1582 (impl_accessibility_component_get_extents): make it match
1585 * libspi/registry.c (_registry_notify_listeners):
1586 re-remove X headers & reconcile conflicts.
1587 (spi_listener_struct_free): bad conflict resolve.
1588 (impl_accessibility_registry_register_application):
1589 more bad merging fixed.
1590 (impl_accessibility_registry_deregister_application): ditto.
1591 (spi_registry_new): ditto.
1592 (spi_registry_init): don't have an applications field.
1594 [ merge fixups2 branch to here ]
1595 2001-12-07 Michael Meeks <michael@ximian.com>
1597 * test/simple-at.c (report_focus_event),
1598 (report_focussed_accessible): remove g_warning debug.
1600 2001-12-07 Michael Meeks <michael@ximian.com>
1602 * test/test-simple.c (validate_tree): comment out some checks.
1603 (test_desktop): app now not registered idly - horay.
1605 2001-12-07 Michael Meeks <michael@ximian.com>
1607 * cspi/spi_registry.c
1608 (registerAccessibleKeystrokeListener): clean, stop it leaking
1609 great swathes of memory, and device event controller references.
1610 ensure we always pass valid sequences.
1611 (deregisterAccessibleKeystrokeListener): ditto.
1612 (generateKeyEvent): upd.
1614 * at-bridge/bridge.c (bridge_key_listener): handle
1615 registry dead exception gracefully.
1616 (bridge_focus_tracker, emit_eventv): free ev.
1618 * test/simple-at.c (report_focus_event): fix polarity.
1620 * libspi/application.c (notify_listeners): kill the ev
1621 argument, and make sure we init the ev we use.
1622 (spi_application_object_event_listener): split out a chunk
1623 (get_atk_object_ref): here & fixup.
1624 (reverse_lookup_name_for_toolkit_event): make const.
1625 (spi_application_toolkit_event_listener): fixup, kill leaks
1628 * at-bridge/bridge.c (register_atk_event_listeners):
1629 don't unref the noop object - causes grief.
1631 * libspi/registry.c: remove the X headers.
1632 turn off the debug churn.
1634 * libspi/accessible.c (spi_accessible_new_return): only
1635 release the ref if we are supposed to [doh]
1637 * test/simple-at.c (report_button_press, report_focus_event):
1638 guard vs. unexpected exit.
1640 * at-bridge/bridge.c (gtk_module_init): prune printf.
1641 (bridge_exit_func): fix app unref.
1643 * libspi/Makefile.am: don't install registry or desktop.h
1645 * libspi/*.h: update includes.
1647 * libspi/application.h: don't include ourself, or
1648 other redundant headers.
1650 2001-12-06 Michael Meeks <michael@ximian.com>
1652 * libspi/accessible.c
1653 (get_accessible_from_servant): impl.
1654 Upd. all CORBA impl.s to use it killing cut and paste.
1656 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1658 (SPI_init): register atexit cleanup handler here.
1660 2001-12-06 Michael Meeks <michael@ximian.com>
1662 * at-bridge/bridge.c (gtk_module_init): g_error on
1663 activation exception
1665 2001-12-06 Michael Meeks <michael@ximian.com>
1667 * at-bridge/bridge.c (gtk_module_init): some sort of
1668 confusing merge clash - reverted.
1669 (bridge_idle_init): ditto.
1671 * test/test-simple.c (main, utterable_normal_derefs):
1672 merge from Bill - somehow not committed.
1674 2001-12-06 Michael Meeks <michael@ximian.com>
1676 * libspi/value.c (spi_value_class_init): upd.
1677 (spi_value_finalize): kill.
1679 * libspi/table.c (spi_table_finalize): kill.
1680 (spi_table_interface_new): upd.
1681 (spi_table_class_init): upd.
1682 (get_table_from_servant): impl.
1683 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1685 * libspi/selection.c (spi_selection_finalize): kill.
1686 (spi_selection_interface_new): upd.
1687 (spi_selection_class_init): upd.
1688 (get_selection_from_servant): impl.
1689 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1691 * libspi/relation.c (spi_relation_finalize): kill.
1692 (spi_relation_class_init, spi_relation_new): upd
1694 * libspi/image.c (spi_image_finalize): kill.
1695 (spi_image_class_init): upd.
1696 (spi_image_interface_new): upd.
1697 (get_image_from_servant): impl.
1698 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1700 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1701 (spi_hyperlink_finalize): kill.
1702 (spi_hyperlink_new): upd.
1703 (get_hyperlink_from_servant): impl.
1704 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1706 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1707 (spi_hypertext_finalize): kill.
1708 (spi_hypertext_class_init): upd.
1709 (get_hypertext_from_servant): impl.
1710 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1712 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1713 (spi_editable_text_interface_new): upd.
1714 (get_editable_text_from_servant): impl.
1715 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1717 * libspi/text.c (get_text_from_servant): impl.
1718 All impls - update to use it killing more cut and paste,
1719 also fix bad string returns on duff args ( a somewhat
1720 impossible case to handle - but hey ).
1721 (spi_text_construct): impl.
1722 (spi_text_interface_new): upd.
1723 (spi_text_object_finalize): kill.
1725 * libspi/component.c
1726 (accessibility_component_object_finalize): kill.
1727 (spi_component_class_init): upd.
1728 (get_component_from_servant): impl. helper to kill cut & paste.
1729 (impl_accessibility_component_contains):
1730 (impl_accessibility_component_get_accessible_at_point):
1731 (impl_accessibility_component_get_position):
1732 (impl_accessibility_component_get_extents):
1733 (impl_accessibility_component_get_mdi_z_order):
1734 (impl_accessibility_component_get_layer):
1735 (spi_component_interface_new): upd.
1737 * libspi/action.c (spi_action_finalize): kill.
1738 (spi_action_class_init): upd. inherit from SpiObject.
1739 (spi_action_interface_new): upd.
1740 (get_action_from_servant): impl. helper to reduce cut & paste.
1741 (impl_getKeyBinding, impl_getName, impl_doAction),
1742 (impl_getDescription): Use it everywhere.
1744 * cspi/spi_main.c (get_live_refs): a pointer hash.
1745 (spi_object_hash, spi_object_equal): comment out.
1746 There are issues with CORBA object hashing that need
1749 * libspi/application.c (spi_application_init),
1750 (spi_application_new): upd.
1752 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1753 (spi_accessible_class_init): upd.
1754 s/accessible/object/ in epv methods.
1756 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1758 * at-bridge/bridge.c:
1759 Reorder the bridge initialization into the bridge gtk_module_init,
1760 an immediate call to bridge_register_app, and an idle_add for
1761 register_atk_event_listeners (the only code that *must* wait until
1762 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1763 the activation, creates the application's Accessible object, and
1764 queues the bridge_idle_init function. Restored call to
1765 Accessibility_Registry_deregisterApplication().
1766 Prior to making this call we obtain a new reference to the
1767 registry, which is a temporary hack that helps us handle apps that
1768 shut down the bonobo mainloop before we get there.
1770 * libspi/registry.c:
1771 Fix string leakage in debug block, and don't segv if a an app
1772 dies before its event notifications have been propagated.
1775 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1776 as stopgap measure until we get proper exception handling when
1777 objects die during or before interrogation.
1781 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1782 Also changed default value of is_gnome_app to TRUE.
1785 * test/keysynth-demo.c:
1786 Changed use of SPI_init and SPI_event_main to reflect API change above.
1789 Made report_focus_event check the warning value from getName
1790 before reporting on focussed accessible; simplifies handling of
1791 notifications from dead objects.
1793 * test/test-simple.c: (Changes not in this patch since source is
1796 2001-12-05 Michael Meeks <michael@ximian.com>
1798 * registryd/registryd.c (main): protect against
1799 bonobo-activation startup race condition.
1801 * cspi/spi_main.c (cspi_object_add_check): cope
1802 with the exception elegantly.
1804 * idl/Accessible.idl: decl. ChildGone
1806 * libspi/desktop.c (spi_desktop_dispose): impl.
1807 (spi_desktop_class_init): upd.
1808 (spi_desktop_add_application),
1809 (spi_desktop_remove_application),
1810 (abnormal_application_termination): impl.
1811 (impl_desktop_get_child_at_index): re-impl.
1814 (impl_accessibility_registry_deregister_application),
1815 (impl_accessibility_registry_register_application):
1816 kill excessive debug clutter.
1818 * test/test-simple.c (test_misc): test some NULL
1819 tolerance. (main): upd.
1821 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1822 implements no interfaces - so let's not crash.
1824 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1826 * libspi/accessible.c (spi_accessible_new_return): impl.
1827 helper to calm the cut and paste, to cope with
1828 NULL AtkObjects effectively and efficiently, and to kill
1829 the referencing bugs.
1831 * libspi/table.c (impl_getAccessibleAt),
1832 (impl_getRowHeader, impl_getColumnHeader): upd.
1834 * libspi/hyperlink.c (impl_getObject): upd.
1836 * libspi/accessible.c
1837 (impl_accessibility_accessible_get_child_at_index): upd.
1839 * libspi/component.c
1840 (impl_accessibility_component_get_accessible_at_point): upd.
1842 * test/test-simple.c (test_editable_text, test_text): impl.
1845 * cspi/spi_editabletext.c
1846 (AccessibleEditableText_insertText): constify.
1848 * test/test-simple.c (focus_me): make more robust.
1850 * libspi/accessible.c: remove some printfs in methods that
1851 we test and work fine, so we can get a clean tree dump.
1853 * test/test-simple.c (validate_accessible),
1854 (validate_tree): make tree dumping pretty too.
1856 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1857 it builds without debug on.
1859 * test/test-simple.c (validate_accessible): fix the most
1862 * cspi/spi_main.c (spi_object_release): leave the nicely
1863 blanked memory around if in debug mode.
1865 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1867 [committed to fixups2]
1868 2001-12-05 Michael Meeks <michael@ximian.com>
1870 * libspi/editabletext.c
1871 (spi_editable_text_class_init): g_type_class_peek_parent,
1872 not interface peek - so we finalize cleanly.
1874 * libspi/accessible.c (spi_accessible_new): kill debug.
1876 * test/test-simple.c (validate_accessible): fix ref.
1877 leak, print strings before freeing them; sigh, comment a
1878 chunk out due to strangeness.
1879 (validate_tree): unref the child after use.
1881 * cspi/spi_component.c (AccessibleComponent_getLayer):
1882 add missing break statement, switch on zlayer not the
1883 uninitialized retval.
1885 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1886 before (possibly re-entering) remote unref.
1888 * test/simple-at.c (main): unref the desktop.
1890 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1893 * cspi/spi_main.c (cspi_accessible_is_a): here to
1894 isolate bonobo API usage more.
1896 * libspi/registry.c (impl_accessibility_registry_register_application):
1897 prune bogus comment.
1899 2001-12-04 Michael Meeks <michael@ximian.com>
1901 * test/test-simple.c (validate_tree): upd.
1902 IndexInParent check to make it more lucid.
1903 (validate_accessible): dump the tree.
1905 * libspi/accessible.c (de_register_public_ref),
1906 (get_public_refs): impl.
1907 (spi_accessible_new): make more efficient & intuitive.
1908 Now IndexInParent check works.
1910 2001-12-04 Michael Meeks <michael@ximian.com>
1912 * cspi/spi-util.h: remove.
1914 * cspi/spi.h: move SPI_freeString here
1916 * libspi/component.c (impl_accessibility_component_get_layer):
1918 (impl_accessibility_component_get_mdi_z_order): ditto,
1919 return -1 on error - is this ok ?
1921 * test/test-simple.c (test_application): impl.
1923 * cspi/spi_accessible.c (Accessible_getApplication),
1924 (Accessible_isApplication): impl.
1926 * libspi/registry.c (spi_listener_struct_free): release
1927 the CORBA reference too.
1929 * libspi/accessible.c
1930 (impl_accessibility_accessible_get_parent): fix ref leak.
1932 * libspi/registry.c (spi_registry_new): make the registry
1933 immortal - we don't want it to go away ever.
1935 * libspi/application.c
1936 (spi_accessible_application_finalize): impl. cleanup.
1938 * cspi/spi_registry.c
1939 (deregisterGlobalEventListenerAll),
1940 (deregisterGlobalEventListener),
1941 (deregisterAccessibleKeystrokeListener): fix ref leak.
1943 * cspi/spi_main.c (SPI_init): remove redundant ref.
1945 * test/test-simple.c (unutterable_horror): impl. to force a
1950 (impl_accessibility_registry_deregister_application): release
1951 the application when we de-register it.
1953 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1954 until we have the infastructure to get it right.
1956 2001-12-03 Michael Meeks <michael@ximian.com>
1958 * libspi/Makefile.am: only build eventlistener.[ch]
1960 * libspi/accessible.c
1961 (impl_accessibility_accessible_get_child_at_index): don't leak.
1963 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1964 before we hit the idle handler.
1966 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1967 debugging than exit.
1969 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1971 * libspi/listener.c (impl_notify_event): check source
1972 not NIL before unref.
1974 * libspi/registry.c (impl_registry_notify_event): ditto.
1976 * libspi/eventlistener.c
1977 (impl_accessible_event_notify_event): unref the source.
1979 * libspi/accessibleeventlistener.c
1980 (impl_accessible_event_notify_event): unref the source.
1982 * idl/Event.idl: remove 'hash_id' attribute - of no
1985 * libspi/application.c (notify_listeners): upd list
1987 (spi_application_object_event_listener),
1988 (spi_application_toolkit_event_listener): upd to do correct
1992 (_registry_notify_listeners): update.
1993 (parse_event_type): this method also leaks like a sieve.
1994 (impl_accessibility_registry_deregister_global_event_listener):
1995 fix ETYPE_WINDOW case.
1997 * libspi/application.c
1998 (impl_accessibility_application_register_object_event_listener):
2001 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2003 * libspi/hypertext.c (impl_getLink): ditto.
2005 * cspi/spi_main.c (cspi_object_add): remove
2006 bogus CORBA_Object_duplicate.
2008 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2011 * cspi/spi_accessible.c
2012 (Accessible_getRelationSet): fix leak / referencing issue.
2014 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2015 (cspi_object_add, cspi_object_unref): upd.
2016 (spi_object_release, get_live_refs): impl.
2017 (cspi_cleanup): simplify.
2019 * *.[ch]: s/boolean/SpiBoolean/
2021 * cspi/spi_accessible.c (role_names): actualy order so it
2022 corresponds with the enum !
2024 * test/test-simple.c (test_roles): check some role strings
2025 vs. enums to detect offset errors.
2027 2001-12-01 Michael Meeks <michael@ximian.com>
2029 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2031 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2033 (Accessible_getChildAtIndex): use cspi_add_check so we
2034 check the ev before using a (possibly) invalid value.
2036 * libspi/accessible.c
2037 (impl_accessibility_accessible_get_parent): don't segv
2040 * at-bridge/bridge.c (gtk_module_init): upd.
2041 (bridge_property_event_listener): don't leak strings
2043 (bridge_state_event_listener),
2044 (bridge_property_event_listener): don't use a static
2045 buffer in case of recursive event emission &
2046 re-enterancy - split out the swathe of cut and paste
2048 (emit_eventv): and fix 2 ref leaks here & comply to the
2050 (bridge_register_app): rename to
2051 (bridge_idle_init): this and kill arg parsing, split
2052 various inits & bonobo-activation registration to module
2053 init time, kill referencing error.
2054 (bridge_exit_func): fix the same leak.
2055 (bridge_focus_tracker): don't leak event structures
2057 (bridge_signal_listener): more leakage and cut & paste
2059 (bridge_key_listener): return the result - FIXME is
2060 this polarity correct ?
2061 (accessibility_keystroke_from_atk_key_event): rename
2062 (accessibility_init_keystroke_from_atk_key_event): and stop
2064 (gtk_module_init): return a value - not that it is checked by
2066 (bridge_key_listener): register my horror at casting between
2067 IDL defined structs.
2068 (bridge_get_registry): kill - not used.
2070 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2072 * test/test-simple.c (test_roles): impl.
2073 (test_desktop, validate_accessible, validate_tree): impl.
2075 * cspi/spi_accessible.c (role_names): fixup bogus
2076 MAX_ROLES setup, make constants const for efficient linkage
2077 (AccessibleRole_getName): conform to coding style, make
2080 2001-11-30 Michael Meeks <michael@ximian.com>
2082 * cspi/spi.h: add missing prototype.
2084 * libspi/registry.c (spi_listener_struct_new): fix sig.
2086 * test/Makefile.am: add test-simple
2088 * test/test-simple.c: add
2090 * test/test.sh: add.
2092 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2094 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2095 do it straight - since otherwise we often get an activation race.
2097 [ work before Bill duplicated a chunk of it ... ]
2098 2001-11-30 Michael Meeks <michael@ximian.com>
2100 * libspi/keystrokelistener.c
2101 (spi_keystroke_listener_class_init): fixup arg
2104 * libspi/eventlistener.c
2105 (spi_event_listener_class_init): ditto.
2107 * tests/test.sh: add.
2109 * cspi/spi-listener-impl.h: update macros.
2111 * cspi/spi-listener-impl.c
2112 (cspi_event_listener_remove_callback): add
2113 correct pre-conditions.
2115 * cspi/spi_main.c (SPI_exit): guard vs. double
2116 exits, exit the mainloop nicely.
2117 (SPI_event_main): make more sense.
2118 (SPI_init): move the atexit evilness here so we
2119 always do it (yuck).
2120 (SPI_event_main): upd.
2122 * test/simple-at.c: update for listener changes.
2124 * registryd/registryd.c (main): prune kruft.
2126 * libspi/libspi.h: upd.
2128 * libspi/eventlistener.[ch]: rename broken macros.
2130 * libspi/accessibleeventlistener.[ch]: remove.
2132 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2134 * test/test-simple.c: Add - automated tests.
2136 * cspi/spi-listener-impl.c (cspi_event),
2137 (cspi_key_event): add user_data to invoke.
2138 (cspi_keystroke_listener_finalize): impl.
2139 (cspi_keystroke_listener_class_init): upd.
2142 (createAccessibleEventListener),
2143 (AccessibleEventListener_addCallback),
2144 (createAccessibleKeystrokeListener),
2145 (AccessibleKeystrokeListener_addCallback): upd.
2147 * libspi/deviceeventcontroller.c
2148 (spi_device_event_controller_check_key_event): add public proto.
2151 (impl_accessibility_registry_deregister_global_event_listener):
2152 always init listeners.
2153 (_registry_notify_listeners): yes it is.
2155 * cspi/spi-listener-impl.c (cspi_key_event):
2157 (cspi_event_listener_finalize): impl.
2158 (cspi_event_listener_class_init): hook up.
2159 (event_handler_new, event_handler_free),
2160 (event_list_remove_by_callback): impl.
2161 (cspi_event_listener_remove_callback),
2162 (cspi_keystroke_listener_remove_callback),
2163 (cspi_keystroke_listener_add_callback),
2164 (cspi_event_listener_add_callback): upd.
2166 * libspi/keystrokelistener.c
2167 (keystroke_listener_object_finalize): kill
2168 (spi_keystroke_listener_class_init): upd.
2169 (spi_keystroke_listener_add_callback),
2170 (spi_keystroke_listener_remove_callback): kill,
2172 (impl_key_event): prune drasticaly.
2174 * libspi/eventlistener.c
2175 (spi_event_listener_add_callback),
2176 (spi_event_listener_remove_callback): kill, use
2178 (impl_accessible_event_notify_event): upd.
2179 (spi_event_listener_object_finalize): remove.
2181 * libspi/Makefile.am: use eventlistener.[ch]
2183 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2185 * libspi/registry.c (_registry_notify_listeners):
2186 Changed listener loop iteration to use preferred convention.
2187 Got rid of string memory leaks caused be calling g_strconcat
2188 inside function calls.
2190 * libspi/registry.c (parse_event_type):
2191 Stopped g_strconcat memory leaks, free the g_strsplit return,
2192 g_strdup the split pieces when used, etc.
2194 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2197 Change method 'compare' to return a 'difference set' rather than
2198 taking a StateSet as an out parameter (more Java-friendly).
2200 * idl/Accessible.idl:
2201 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2203 * idl/Component.idl:
2205 Changed methods 'getExtents' and 'getImageExtents' in these
2206 interfaces to return a BoundingBox structure.
2207 (getPosition and getSize are redundant and possibly should be
2208 removed, rather than creating a corresponding Point struct.)
2210 * cspi/spi_component.c:
2211 Modify implementation of getExtents to reflect the above IDL
2216 Add (missing) AccessibleImage_getExtents () API.
2218 * docs/reference/cspi/at-spi-cspi-sections.txt:
2219 Added AccessibleImage_getImageExtents () to docs.
2221 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2223 * idl/Component.idl:
2224 Added two methods, getLayer () and getMDIZOrder (), to reflect
2225 the new ATK methods atk_object_get_layer and
2226 atk_object_get_mdi_z_order. (Which arguably should be part of the
2227 AtkComponent API and AtkObject). Also added an enum,
2228 ComponentLayer, for the first method's return value.
2230 * libspi/component.c:
2231 Added implementations for these methods.
2233 * cspi/spi_component.c:
2235 Added cspi binding methods for above,
2236 AccessibleComponent_getLayer() and
2237 AccessibleComponent_getMDIZOrder().
2238 Added cspi enum 'AccessibleComponentLayer'.
2240 * docs/reference/cspi/at-spi-cspi-sections.txt:
2241 Added above methods to docs.
2245 Changed typedef for 'boolean' type (and all references to it) to
2246 SPIBoolean, to avoid keyword clashes with C++.
2249 Changed usages of 'boolean' to SPIBoolean.
2251 * test/keysynth-demo.c:
2252 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2253 app), except where SPIBoolean is required by the callbacks API.
2255 2001-12-02 Bill Haneman <bill.haneman@sun.com>
2257 * cspi/spi_registry.c:
2258 Removed obsolete X event loop for passive keygrabs (which now
2261 * registryd/registryd.c:
2262 Removed unnecessary call to gdk_init() [cruft]. This also allows
2263 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2266 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2268 * docs/reference/cspi:
2269 Included docs for SPI_freeString in generated documentation.
2272 Renamed spi_freeString to SPI_freeString, for consistency. Added
2273 documentation for this function.
2276 Renamed spi_freeString to SPI_freeString, for consistency.
2277 Removed obsolete method declaration string_from_corba_string.
2279 * test/keysynth-demo.c:
2280 Small tweak to comments.
2283 Stopped leaking the strings returned from CSPI.
2285 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2287 Merged Michael's branch (see his ChangeLog entries below).
2289 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2290 bridge is alive, release on exit.
2292 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2293 Fix type check macro.
2296 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2299 Added is_gnome_app static, and method cspi_is_gnome_app(),
2300 so we can call the appropriate shutdown routine at exit in SPI_exit.
2302 * cspi/spi_main.c (cspi_object_ref):
2303 Duplicate the corba object passed in, since we're keeping it around.
2305 * cspi/SPI_exit.c, cspi_cleanup:
2306 Moved the releasing of the live refs to its own function, so we
2307 can put it in g_atexit (). Call the appropriate shutdown API
2308 depending on whethe calling client is a gnome app or not
2309 (bonobo_main_quit or CORBA_ORB_shutdown).
2311 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2312 Unref the listener when this method is called, after
2313 deregistration. Updated the API docs to note this behavior.
2315 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2316 Bugfixes: Ref the bonobo object when returning a parent or child
2317 reference, or an AccessibleRelation. Generally made sure
2318 BonoboObject refcount is incremented whenever we return an
2321 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2322 Fixed typo/bug in signal declaration.
2324 * libspi/accessibleeventlistener.h:
2327 * libspi/application.c (spi_application_new):
2328 Fixed leak in initialization.
2331 Remembered to increment bonobo-object refcount when returning
2332 children (applications) from desktop object.
2333 Added (empty) finalize method.
2335 * libspi/deviceeventcontroller.c:
2336 Hold a ref to listeners inside DEControllerKeyListeners.
2337 Added dec_key_listener_free() method. Use prepend instead of
2338 append in key_listener list. Fixed some refcount madness and
2339 leaks in the listener registration/deregistration - deregistration
2340 now calls dec_key_listener_free() on listeners, and on the
2341 temporarily constructed dec_key_listener() used to perform the search/match.
2343 * libspi/hypertext.c (spi_hypertest_finalize):
2344 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2345 class. Also fixed spi_hypertext_interface_new() and
2346 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
2348 * libspi/hypertext.h:
2349 Removed pointless and duplicate AtkObject pointer from
2352 * libspi/keystrokelistener.c:
2353 Fixed incorrect type of keystroke_listener_parent_class,
2354 renamed keystroke_listener_object_finalize to
2355 spi_keystroke_listener_object_finalize.
2356 Fixed typo in signal declaration
2357 (spi_keystroke_listener_class_init).
2359 * libspi/registry.c:
2360 Added funcsions spi_listener_struct_new() and
2361 spi_listener_struct_free() to help with memory management issues.
2362 We also now use these methods instead of gnew + poking stuff into
2363 the struct, and to decrement listener counts/free the listeners
2364 when deregistering them.
2365 Fix more refcount bugs in getDesktop() and
2366 getDeviceEventController().
2369 De-ref the desktop after enumerating the applications. Explicitly
2370 decrement the refcounts on the created listeners on exit (using
2371 _unref for keystroke listeners, and via the
2372 deregisterGlobalEventListenerAll command for other event
2375 2001-11-27 Michael Meeks <michael@ximian.com>
2377 * cspi/spi-listener.h: fixup enum.
2379 2001-11-27 Michael Meeks <michael@ximian.com>
2381 * cspi/spi-listener-impl.c (cspi_event_listener_new),
2382 (cspi_keystroke_listener_new): Use the cspi variants.
2384 2001-11-26 Michael Meeks <michael@ximian.com>
2386 * test/keysynth-demo.c: fix 2 compile warnings, missing
2389 * test/simple-at.c (report_focussed_accessible),
2390 (report_focus_event, report_button_press),
2391 (check_property_change, is_command_key),
2392 (report_ordinary_key_event, report_command_key_event): upd.
2394 * util/mag_client.h: include pre-requisites.
2396 * libspi/accessibleeventlistener.c
2397 (spi_event_listener_object_finalize): free any lingering
2400 * libspi/keystrokelistener.c
2401 (keystroke_listener_object_finalize): ditto.
2403 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2404 callbacks, with cspi types.
2406 * cspi/spi_event.c (createAccessibleEventListener): chain to
2407 (AccessibleEventListener_addCallback): here.
2408 (createAccessibleKeystrokeListener): chain to
2409 (AccessibleKeystrokeListener_addCallback): here.
2411 * libspi/keystrokelistener.c
2412 (spi_keystroke_listener_class_init): add signal.
2413 (impl_key_event): emit the event.
2414 (boolean_handled_accumulator): impl.
2415 (marshal_BOOLEAN__POINTER): add, gack.
2417 * libspi/accessibleeventlistener.c
2418 (spi_event_listener_class_init): add signal.
2419 (impl_accessible_event_notify_event): emit the signal &
2420 make the loop efficient.
2421 (spi_event_listener_add_callback): prepend the callback.
2423 * libspi/accessibleeventlistener.h: add an 'event' signal,
2424 decl type on callback.
2426 * libspi/keystrokelistener.h: ditto.
2428 * cspi/spi-listener.h: make methods typesafe and
2429 make them use the new event typedefs.
2431 * test/simple-at.c (report_focussed_accessible):
2432 include mag_client.h
2433 Use *(void *)text_interface not the other thing.
2435 * configure.in: add gtk to registryd bits - since we use
2438 * util/magnifier.c: include libbonobo.h
2440 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2442 * test/keysynth-demo.c:
2443 Turned this into a simple scanning keyboard, to demonstrate the
2444 use of g_timeout_add () as a means of creating timers for
2445 scanning, and the use of GtkStyle for visually indicating when
2446 virtual keyboard elements are selected.
2448 keysynth-demo now listens to any keyboard keys with zero-valued
2449 keycodes (i.e. 'unused' keys) and interprets them as
2452 Reworked the shiftlatch code so that shift-down state isn't held
2453 for long periods (it's only synthesized immediately prior to
2454 the keysynth event it's modifying). Note that shiftlatch in this
2455 demo is a convenience, not intended to take the place of AccessX
2456 which is the better choice for getting 'sticky' modifier keys.
2458 * libspi/deviceeventcontroller.c:
2459 * at-bridge/bridge.c:
2460 * cspi/spi_registry.c:
2461 Removed some debug print stuff, and put other verbosity in #ifdef
2466 Implemented some more of the magnifier IDL for the simple
2467 magnifier: namely, getZoomRegionParams.
2468 Added mag_x and mag_y members to MagnifierData struct, aid of this
2470 Added GtkWindow::realize signal handler to magnifier, to keep it
2471 from receiving keyboard focus from the WM.
2473 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2475 * cspi/spi-private.h: my guess at what michael forgot
2476 before he ran off to NZ :-)
2478 2001-11-23 Michael Meeks <michael@ximian.com>
2480 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2481 comment out non existant method invoke so we link.
2483 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2484 use bonobo_exception_get_text for more friendly warnings.
2486 * cspi/spi.c (Obj_Add): move into spi_main & rename
2487 spi_object_add; kill spi.c
2489 * cspi/spi_registry.c
2490 (deregisterGlobalEventListener),
2491 (deregisterGlobalEventListenerAll),
2492 (registerGlobalEventListener): fix exception leaks.
2494 * cspi/spi_main.c (spi_exception): impl. helper, so we
2495 don't leak exceptions.
2497 * cspi/spi_selection.c
2498 (AccessibleSelection_deselectSelectedChild): return the
2501 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2502 (spi_registry): ditto.
2503 (SPI_init): guard against double inits.
2505 * cspi/*.c: use spi_ev (), and spi_registry () where
2506 appropriate - a temporary hack until we have something
2507 better. Use spi_object_add
2509 2001-11-22 Michael Meeks <michael@ximian.com>
2511 * cspi/Makefile.am: re organise, install the headers.
2513 * cspi/*.h: add G_BEGIN/END_DECLS
2515 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2518 Added non-preemptive keylistener for key events with no modifiers
2519 and shift-only modifier.
2521 * libspi/keystrokelistener.c:
2522 Removed some verbose diagnostics printout.
2524 * cspi/spi_registry.c:
2525 Fixed a bug that caused all key listeners to be registered as
2528 * libspi/deviceeventcontroller.c:
2529 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2530 for non-preemptive key masks.
2533 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2535 * docs/reference/idl/at-spi-idl-docs.sgml:
2536 * docs/reference/idl/at-spi-idl-sections.txt:
2537 * docs/reference/idl/at-spi-idl-overrides.txt:
2538 Added missing files.
2540 * docs/reference/Makefile.am:
2541 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2542 to scan the IDL files :-(
2547 Added .cvsignore files.
2549 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2551 * libspi/deviceeventcontroller.c:
2552 * libspi/keystrokelistener.c:
2554 * cspi/spi_registry.c:
2555 Added filters for KeySets, KeyEventSeq, and event types to key
2556 event dispatching, so listeners should only receive those events
2557 that they requested :-)
2559 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2564 * docs/reference:Makefile.am:
2565 * docs/reference/cspi:
2566 * docs/reference/cspi:Makefile.am:
2567 * docs/reference/cspi:tmpl:
2568 * docs/reference/cspi:tmpl:*.sgml:
2569 * docs/reference/idl:
2570 * docs/reference/idl:Makefile.am:
2571 * docs/reference/idl:at-spi-idl-sections.txt:
2572 * docs/reference/idl:at-spi-idl-docs.sgml:
2573 * docs/reference/idl:tmpl:
2574 * docs/reference/idl:tmpl:*.sgml:
2576 Restructured docs directory to allow separate 'reference' docs
2577 section, and forked idl and cspi docs. Added the sgml template
2578 files to CVS. Added the first sections/structural sgml for the
2581 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2583 * configure.in, libspi/Makefile.am: find libXtst.
2585 2001-11-21 Michael Meeks <michael@ximian.com>
2587 * test/accessx-gui.c: s/spi_value/value/ - doh.
2589 * libspi/base.[ch]: add.
2591 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2593 * idl/Accessible.idl:
2594 * idl/Application.idl:
2597 Started gtk-doc cleanup on IDL.
2599 * libspi/deviceeventcontroller.c:
2600 Added and connected non-preemptive key notification from the
2601 toolkits (in addition to the pre-emptive support from XServer
2602 which we had before, but which causes 'focus flashing'). Filters
2603 are presently limited to key modifiers and global/non-global,
2604 KeySets are presently ignored, as are KeyEvent masks.
2606 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2607 structs into the persistant structure rather than just storing
2608 pointers to things that might not persist across servant
2611 The XGrabKey call now does async keygrabs, because synchronous
2612 ones were deadlocking with GDK_event code in a very nasty way.
2614 Added boolean to internal method notify_keylisteners, to indicate
2615 whether the event came from the 'toolkit source' or the 'global
2616 (XServer) source' - this is used in the notification process to
2617 determine which listeners to send the event to.
2619 deviceeventcontroller.c is now warning-free.
2621 * libspi/registry.c:
2622 Fixed regression in application de-registration.
2623 Also fixed some really brain-dead weirdness having to do with
2624 event dispatching - event structs are now duplicated before being
2625 re-marshalled in the dispatch to listeners. This also fixes a
2626 Solaris build problem.
2629 2001-20-11 Michael Meeks <michael@ximian.com>
2632 (impl_accessibility_registry_deregister_global_event_listener):
2635 * libspi/deviceeventcontroller.c
2636 (spi_device_event_controller_check_key_event): return
2637 FALSE on no virtual method.
2639 * libspi/*..h: make includes work on a correctly pathed install.
2641 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2643 * libspi/application.h: kill unused ( and whacked out )
2644 gboolean *spi_application_set_id (AtkObject *app, long id);
2646 2001-20-11 Michael Meeks <michael@ximian.com>
2648 * libspi/*.[ch]: further convert to bonobo's type func
2649 macros, remove redundnant casts etc.
2651 * libspi/text.c s/accessibility_text/spi_text/g,
2652 re-order to de-cruft.
2654 * libspi/hypertext.c: re-order to kill a huge slew
2655 of redundant forward decls.
2657 * libspi/relation.c: ditto.
2659 * libspi/image.c: ditto.
2661 * */.cvsignore: update
2663 2001-20-11 Michael Meeks <michael@ximian.com>
2665 * libspi/deviceeventcontroller.c
2666 (_controller_register_with_devices): use g_getenv,
2667 kill stdlib.h include.
2669 * libspi/keystrokelistener.c
2670 (spi_keystroke_listener_get_type): kill
2671 (spi_keystroke_listener_class_init),
2672 (spi_keystroke_listener_init): rename to this.
2674 * libspi/text.c (impl_getAttributes): fix warning / bug.
2676 * libspi/*.[ch]: more headers, includes and over commenting.
2678 2001-20-11 Michael Meeks <michael@ximian.com>
2680 * libspi/*.[ch]: fixup headers, includes and over commenting.
2682 * libspi/image.c (impl__get_imageDescription): const
2683 correctness warning fix. remove redundant casting.
2685 * libspi/table.c (impl_getRowDescription): ditto.
2686 (impl_getColumnDescription): ditto.
2688 * libspi/libspi.h: add.
2690 2001-19-11 Michael Meeks <michael@ximian.com>
2692 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2694 * libspi/component.c (accessibility_component_get_type):
2695 rename to (spi_component_get_type): and macroify.
2696 (accessibility_component_init): rename to
2697 (spi_component_init): this
2698 (accessibility_component_class_init): rename to
2699 (spi_component_class_init): this
2701 * libspi/action.c (spi_action_get_type): kill, use the macro.
2703 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2706 * libspi/application.c (spi_application_object_event_listener),
2707 (impl_accessibility_application_register_object_event_listener):
2708 warning fixes / const understanding updates.
2710 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2713 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2715 * libspi/spi_accessible.c: Added docs and C bindings for
2716 AccessibleStateSet. (No implementations yet). Documentation
2717 coverage for C bindings now 100%. Made docs for event listeners
2722 boolean notifyListenersSync (in DeviceEventListener listener,
2723 in DeviceEvent event);
2725 oneway void notifyListenersAsync (in DeviceEventListener listener,
2726 in DeviceEvent event);
2728 Added DeviceEventListener and DeviceEvent structs (may deprecate
2729 KeyStroke and KeystrokeListener in favor of this generic
2730 event/listener framework for devices).
2732 * libspi/deviceeventcontroller.c:
2734 Changed some key listener code to take masks, etc., and paved the
2735 way for integration of toolkit/non-preemptive key events. Changed
2736 signatures of some internal methods.
2738 * at-bridge/bridge.c:
2739 Fixed regression connecting to interface signals, apparently
2740 caused by GTK+ changes.
2742 Added an internal bridge_state_listener to deal with
2743 property-change:accessible-state signals.
2745 Changed the key_listeners GList to store structs (including masks,
2746 etc.) instead of just CORBA_Objects (required for full
2747 implementation of key listener API).
2749 Connected the bridge to all currently supported Atk signals.
2750 Events now supported:
2751 object:property-change
2752 object:property-change:accessible-name
2753 object:property-change:accessible-state
2754 object:property-change:accessible-description
2755 object:property-change:accessible-parent
2756 object:property-change:accessible-value
2757 object:property-change:accessible-role
2758 object:property-change:accessible-table-caption
2759 object:property-change:accessible-table-column-description
2760 object:property-change:accessible-table-column-header
2761 object:property-change:accessible-table-row-description
2762 object:property-change:accessible-table-row-header
2763 object:property-change:accessible-table-summary
2764 object:children-changed
2765 object:visible-data-changed
2766 object:selection-changed
2767 object:text-selection-changed
2769 object:text-caret-moved
2771 object:row-reordered
2773 object:column-inserted
2774 object:column-reordered
2775 object:column-deleted
2776 object:model-changed
2778 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2780 * libspi/hyperlink.c,h:
2781 Fixed some broken stuff in hyperlink.
2783 * libspi/relation.h:
2784 * libspi/relation.c:
2785 * cspi/spi_accessible.c:
2786 Initial implementations of AccessibleRelation methods, and docs.
2788 * libspi/accessible.c:
2789 Fixed a bug that caused SEGV if an accessible
2790 object's description is NULL, and a client
2791 requests it. An empty string is now returned.
2793 * cspi/spi_editabletext.c:
2794 * cspi/spi_hypertext.c:
2796 * cspi/spi_hyperlink.c:
2800 Doc coverage now 95%.
2802 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2804 One last namespacing revision:
2805 * libspi/accessibleeventlistener.[ch]:
2806 Renamed SpiAccessibleEventListener to SpiEventListener,
2807 (no need for two namespaces ;-)
2809 And lots of documentation fixes:
2811 * docs/at-spi-docs.sgml:
2812 Fixed 'underscore vs. hyphen' bug that was preventing
2813 the gtk-doc API docs from being automatically generated.
2816 * cspi/spi-listener.h
2818 * cspi/spi_accessible.c
2820 * cspi/spi_application.c
2821 * cspi/spi_component.c
2822 * cspi/spi_editabletext.c
2824 * cspi/spi_hypertext.c
2826 * cspi/spi_registry.c
2827 * cspi/spi_selection.c
2831 * docs/at-spi-docs.sgml
2832 * docs/at-spi-sections.txt
2834 Added and fixed up gtk-doc documentation in cspi.
2836 Interfaces now (fully) documented (subject to revision and enhancement):
2838 Event Listener Support
2840 AccessibleApplication
2844 AccessibleEditableText
2851 AccessibleRelationSet
2856 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2858 * at-bridge/bridge.c:
2859 Initial work for toolkit-level key snooper connection by bridge.
2864 New typedefs and fixes to support new namespacing, and cleaner
2865 separation of cspi bindings from libspi bonobo implementation.
2866 Removed inconsistent and extraneous Spi* namespace prefix that
2867 had crept into cspi headers.
2868 Lots of comment fixes that sed had missed.
2870 * cspi/spi-roletypes.h:
2871 * cspi/spi-statetypes.h:
2872 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2873 to AccessibleRoleType.
2875 * libspi/accessibleeventlistener.h:
2876 Fixed minor namespacing weirdness.
2878 * libspi/deviceeventcontroller.c:
2879 Reordered some internal API for device listeners.
2880 Changed the key registry final boolean to 'is_system_global'
2881 rather than 'is_synchronous', which is more descriptive of its
2883 Added spi_device_event_controller_new().
2884 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2886 * libspi/keystrokelistener.[ch]:
2887 Namespaced KeystrokeListener to SpiKeystrokeListener.
2888 Changed uses of keymasks to use SPI_ prefix, and did other
2891 * libspi/keymasks.h:
2892 Namespaced keymask constants with SPI_ prefix.
2894 * libspi/registry.c:
2895 Some warning fixes, and knock-on fixes from namespace changes.
2898 Added rules for accessx-gui test program.
2900 * test/accessx-gui.c:
2901 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2902 utility. It doesn't actually use at-spi, but it's still cool and
2905 * test/keysynth-demo.c:
2909 Fixes so that these test clients work properly with the namespaced
2910 libraries. (Incompletely tested for technical reasons, fixes may follow)
2913 2001-13-11 Michael Meeks <michael@ximian.com>
2915 * libspi/application.c
2916 (impl_accessibility_application_get_version),
2917 (impl_accessibility_application_get_toolkit_name):
2919 (impl_accessibility_application_set_id),
2920 (impl_accessibility_application_get_id): remove
2921 redundant casting code.
2923 * libspi/action.c (impl_getDescription): fix warnings.
2925 * libspi/accessible.c
2926 (impl_accessibility_accessible_get_parent),
2927 (impl_accessibility_accessible_get_child_at_index),
2928 (impl_accessibility_accessible_get_state),
2929 (impl_accessibility_accessible_get_relation_set):
2930 warning fixes & include action.h
2932 2001-13-11 Michael Meeks <michael@ximian.com>
2934 * *.[ch] fix bits I screwed up:
2936 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2937 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2939 2001-13-11 Michael Meeks <michael@ximian.com>
2941 * *.[ch] Namespace libspi into spi_ and Spi.
2943 2001-13-11 Michael Meeks <michael@ximian.com>
2945 * Makefile.am: dist & install at-spi-1.0.pc
2947 * libspi/Makefile.am: install into at-spi-1.0
2949 * idl/Makefile.am (idldir): install into at-spi-1.0
2951 * at-spi-1.0.pc.in: add.
2953 * configure.in: build it.
2955 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2957 * test/keysynth-demo.c:
2958 Use a 'realize' signal-handler to set the WM properties for
2959 the virtual keyboard, rather than making it a "POPUP" type
2960 override-redirect window (thanks to anders carlsson for that
2963 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2966 * test/keysynth-demo.c:
2967 Added new test of key synthesis, which creates a simple
2968 (mouse-operated) onscreen keyboard. It inserts key events into
2969 the currently-focused window, thus it does not grab keyboard focus
2972 * cspi/spi_registry.c:
2973 Added C binding for AT-SPI generateKeyEvent.
2975 * libspi/deviceeventcontroller.c:
2976 Added call to XFilterEvent so that key listener works with XIM (we
2977 hope). Added event_synth_type to generateKeyEvent, so that we can
2978 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2979 synthesize a press/release pair for KeySyms.
2981 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2983 * libspi/Makefile.am:
2984 * registryd/Makefile.am:
2985 (temporary) hack to include libXtst in libspi and registryd.
2986 (Needed for keystroke synthesis, see below).
2989 Improved API for registerKeystrokeListener, in accordance with
2990 discussions with Gnopernicus team and X server research.
2992 * libspi/registry.c:
2993 * libspi/deviceeventcontroller.c:
2994 * libspi/accessible.c:
2995 * libspi/keystrokelistener.c:
2996 Changes and fixes to support keylisteners for potentially
2997 consumed key events (that is, 'passive grabs').
2998 Added implementation for generateKeyEvent() [untested].
3001 Changes to registerKeystrokeListener() API, as above.
3002 Added deregisterGlobalEventListenerAll(), and
3003 deregisterKeystrokeListener(), which are needed for clean exit of
3005 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3006 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3008 * cspi/spi_registry.c:
3009 Added implementations of function prototypes mentioned above.
3011 * registryd/registryd.c:
3012 Added the key listener event source as a g_timeout(), to allow
3013 receipt of key events that are not caught by GDK (since GDK
3014 doesn't support passive keygrabs, this was necessary).
3017 Changed to attach a keylistener to 'Alt' keys, and
3018 respond to the following keycommands: Alt-M (toggle magnifier);
3019 Alt-F (toggle speech); Alt-Q (quit).
3020 Added an exit routine to deregister the listeners, and a key
3021 listener that prints some key info to the console when a key
3022 matches the listener mask (and is thus received by the listener).
3024 * util/idl/Magnifier.idl:
3025 Changes to magnifier API to support multiple zoom regions,
3026 non-uniform scaling in x and y, markDirty, and a host of other
3027 features that would be useful to magnification.
3030 * util/mag_client.c:
3031 * util/mag_client.h:
3032 * util/mag_control.c:
3034 Source code changes to support the above IDL changes.
3037 As above, and also changes to use a (slower) generic conversion
3038 path for colormap conversions, since the fast RGB conversions have been
3039 reported to fail for 16-bit displays.
3041 2001-10-26 Michael Meeks <michael@ximian.com>
3043 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3045 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3047 * at-bridge/Makefile.am: fix LDFLAGS.
3049 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3051 * at-bridge/bridge.c:
3052 Re-worked listeners for toolkit events, now we have signal
3053 and property listeners. Added a private method
3054 register_atk_event_listeners(), which registers with the
3055 various atk and gtk signals we need to monitor in order to emit
3057 Added emission hook for AtkObject:property-change events, to
3058 support the 'property listeners'.
3059 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3062 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3063 which emit warnings and exit, respectively, if CORBA errors occur
3064 during remote calls, and we now use these methods to check most of
3065 our CORBA calls in the C bindings.
3067 * cspi/spi_accessible.c:
3068 Changed AccessibleSelection_refSelectedChild() to
3069 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3070 now increment refcounts.
3072 * cspi/spi_component.c:
3073 Fixed some long pointer casts (dangerous!) to pass pointers to
3074 CORBA_longs of the proper type to the CORBA stubs, and copy the
3075 data into the longs that were passed into the C bindings code.
3077 * at-bridge/bridge.c:
3079 * libspi/accessible.c:
3080 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3081 hyperlinks, AtkHyperlink is an object type.
3083 * libspi/application.c:
3084 Added various conversions to and from "generic" event types and
3085 atk-specific types; this is really part of the 'bridge'
3086 implementation but is valid for all AtkObject-based accessibility
3089 * libspi/editabletext.c:
3090 Fixed nasty bug wherein editable text's finalize method was
3091 unref'ing tha AtkObject reference that the text parent class was
3092 about to unref _again_. There was also a nasty inheritance bug
3093 that meant that the AccessibleEditableText class was corrupt.
3095 * libspi/selection.c:
3096 Provided implementations for some selection API that was broken.
3098 * idl/Application.idl:
3099 Added registerObjectEventListener () method.
3102 Fixed a number of return values that were Bonobo_Unknowns from
3103 bonobo_object_corba_objref(), which I
3104 forgot to dup before returning. Changed instances of
3105 bonobo_object_corba_objref (bonobo_object(o)) to
3106 BONOBO_OBJREF(o), for concision and clarity.
3108 <2001-10-13 Louise Miller <louise.miller@sun.com>
3110 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3111 idl/Event.idl, idl/Registry.idl
3112 Changed these files to include Bonobo_Unknown.idl instead
3115 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3117 * libspi/component.c libspi/component.h:
3118 Fixed typo. Added assertions for object checks in
3119 AccessibleComponent code.
3121 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3123 * idl/Accessible.idl:
3124 Added 'isEqual (Accessible *object)'
3125 method for Accessible. (Not Yet Implemented).
3128 Changed signature of registerKeystrokeListener() to
3129 take a KeySet and KeyEventSeq so that specific keys and event
3130 types could be requested for monitoring, and added a flag
3131 is_synchronous so that either synchronous or asynchronous
3132 notification could be requested. (However this is not all
3133 implemented yet). This also meant adding two new typedefs,
3134 KeyEventSeq and KeySet.
3137 Added two new relations, RELATION_TOOLTIP_FOR and
3138 RELATION_LEAFNODE_OF.
3141 Added new state, STATE_HAS_TOOLTIP.
3143 * libspi/text.c, editabletext.c:
3144 Added new assertions to all casts of bonobo-objects from
3145 CORBA servants, to prevent Text API calls on non-text objects.
3146 Changed suspect casts of int-pointer types, so that we
3147 always send a valid CORBA_long pointer to the CORBA APIs that use
3148 in/out long parameters. We then have to copy from the CORBA_long
3149 into the regular long or int for return to the C bindings, or
3150 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3153 * libspi/deviceeventcontroller.c:
3154 Cleaned these sources up.
3156 Changed return type for getCharacterAtOffset to
3157 CORBA_unsigned_long, to allow for 32-bit characters.
3160 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
3164 Fixed 'make dist' so that distro compiles...
3165 * libspi/keymasks.h:
3167 * cspi/spi-listener.c:
3168 KeystrokeListenerCB now returns a boolean.
3170 Added KeyEventType struct, and KeyStroke.
3171 Also added createKeystrokeListener(),
3172 KeystrokeListener_addCallback(),
3173 KeystrokeListener_removeCallback(), and added a keymask to
3174 registerKeystrokeListener().
3175 * cspi/spi_accessible.c:
3176 Changed numerous return types for interfaces from
3177 AccessibleComponent to Accessible<InterfaceName>; this was
3178 probably a cut-and-paste error.
3180 Implementations of new KeystrokeListener api (from spi.h,
3183 Changes to key modifier mapping.
3184 Created ControllerEventMask struct.
3185 Made DeviceEventController derive from Bonobo::Unknown.
3187 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3188 * libspi/deviceeventcontroller.c:
3189 Added a number of new internal (private) methods.
3190 * libspi/editabletext.c:
3191 * libspi/editabletext.h:
3192 Fixed a number of bugs related to the fact that
3193 editabletext inherits from text. Fixed the EditableText struct,
3194 the init() call, and use correct casts when calling Text methods
3195 from an EditableText object. Removed (duplicate) atko from the
3196 EditableText structure, we use the one in the parent Text
3197 structure via the casts mentioned above.
3198 * libspi/keystrokelistener.[ch]:
3199 * libspi/registry.c:
3200 Changes in support of keyboard handling (above).
3202 Keyboard handling, though partly functional, is still not
3203 recommended for at-spi client use as there is considerable
3204 work yet to be done.
3207 Changed some places where pointers to various int types
3208 are cast to be pointers to CORBA_long types and vice-versa:
3209 pointer casting is not safe so we pass pointers of the correct
3210 types and then cast the result before putting it into the target
3213 * libspi/text.h: minor typos corrected.
3215 We now speak not only the name of a Text element, but the
3216 first sentence of its content, when it receives focus.
3217 I also changed the text compression to 75% from 50%.
3218 * util/Accessibility_Util.server.in:
3219 Changed the default magnifier type to be a 3x vertical
3220 splitscreen magnifier (was previously a 2x horizontal one).
3222 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
3224 * libspi/keystrokelistener.h:
3225 * libspi/keystrokelistener.c:
3226 Initial functional implementations of KeystrokeListener.
3229 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
3231 Fixed string handling for NULL strings in libspi.
3232 Added spi_freeString to free strings returned by C bindings.
3234 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
3236 * libspi/keystrokelistener.h:
3237 * libspi/keystrokelistener.c:
3238 Began (no-op) implementations of KeystrokeListener
3240 * libspi/deviceeventcontroller.c:
3241 * libspi/deviceeventcontroller.h:
3242 Began creating implementations of DeviceEventController,
3243 to handle keystroke and mouse event listening and
3245 * libspi/accessible.c:
3246 Stubbed-in the implementations for
3247 Accessibility_Accessible_getState and
3248 Accessibility_Accessible_getRelationSet.
3249 * libspi/registry.c:
3250 Improved de-registration process and fixed some bugs,
3251 deregistration now works correctly.
3253 Added initialization of applications list (to NULL).
3255 Reduced speech compression from 0.5 to 0.7, for demo.
3256 Changed call to gdk_window_set_decorations()
3257 to gtk_window_set_decorated().
3258 * at-bridge/bridge.c:
3259 Bridge now deregisters when app exits, via
3260 registration of a cleanup function
3261 with the g_atexit() call.
3262 Required making 'app' static, renamed 'this_app'.
3263 Fixed broken use of bonobo_init, passing argv wrongly.
3265 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
3269 Created a new directory for
3270 accessibility-related utilities, primarily for
3271 testing and demo purposes, but with possible
3278 Onscreen magnifier utility that
3279 is implemented as a bonobo service.
3281 * util/mag_client.c:
3282 * util/mag_client.h:
3283 Client-side support (simple C bindings)
3284 for Magnification service
3286 * util/mag_control.c:
3287 Client program example for
3288 Magnification service
3290 * util/Accessibility_Magnifier.server.in:
3291 Bonobo-activation file for the
3292 Magnification service.
3295 * util/idl/Magnifier.idl:
3296 IDL defining the bonobo Magnification
3300 Modifications to use the bonobo-activated magnifier
3301 above, in place of trying to connect to an existing
3302 magnifier that uses socket-listening IPC.
3304 If env variable MAGNIFIER is set, a magnifier service
3305 will be started if one does not exist.
3307 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
3308 * at-bridge/bridge.c:
3309 applied patch from Marc to build and run
3310 against new glib and gtk+ (seemed like a change
3311 to bonobo_init signature was made ?)
3313 made festival-server support turned off by default.
3314 Added support for a simple magnifier (off by default)
3315 which will be added to a 'util' directory later.
3316 * at-bridge/Makefile.am:
3317 Changed "application.h" header from a 'source'
3318 to a 'dependency' of libat-bridge.
3320 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3328 Added interface implementation c files to list of
3329 includes so they are included in libcspi.
3332 Changed prototype of AccessibleAction_doAction to return a
3334 Changed prototype of AccessibleTable_getCaption to
3335 return an Accessible.
3336 Changed prototype of AccessibleTable_getSelectedRows
3337 and AccessibleTable_getSelectedColumns to
3338 return a long (returns the number of selected rows
3339 or columns respectively).
3340 Changed name of AccessibleText_refRunAttributes to
3341 AccessibleText_getAttributes.
3342 Changed prototype of AccessibleText_getCharacterExtents to
3343 return a void rather than a boolean.
3344 Added support for a AccessibleCoordType parameter
3345 specifying what type of coordinates are desired.
3346 Added an AccessibleCordType parameter to
3347 AccessibleText_getPointAtOffset.
3349 * cspi/spi_accessible.c:
3350 Added code to return the outstanding interfaces from
3351 Accessible_queryInterface.
3353 * cspi/spi_action.c:
3355 Corrected call to getNActions to call the c binding
3358 * cspi/spi_editabletext.c:
3360 Changed name from setRunAttributes to setAttributes.
3362 * cspi/spi_hyperlink.c:
3364 Changed call to getNAnchors to correctly call the c
3365 binding for an attribute.
3367 * cspi/spi_hypertext.c:
3369 Changed getImageDescription to correctly call the
3370 binding for an attribute.
3372 * cspi/spi_selection.c:
3373 Changed getNSelectedChildren to correctly call the c
3374 binding for the attribute.
3375 Changed refSelectedChild to getSelectedChild.
3379 Changed getCaption to return an Accessible.
3380 Fixed calls which retrieve attributes.
3381 Changed refAt to getAccessibleAt.
3382 Changed getNSelectedRows and getNSelectedColumns to
3386 Changed getCharacterExtents and getPointAtOffset to accept an
3387 AccessibleCoordType.
3389 Changed calls which retrieve attributes.
3390 Changed refRunAttributes to getAttributes.
3395 * idl/Hyperlink.idl:
3396 Changed n_anchors attribute to nAnchors to keep naming
3397 convention consistent.
3400 Made Table inherit from Bonobo::Unknown.
3401 Added nSelectedColumns and nSelectedRows attributes.
3404 Made Value inherit from Bonobo::Unknown.
3406 * libspi/hyperlink.c:
3407 Change for nAnchors attributte name change.
3409 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3417 Added interface implementation c files to list of
3418 includes so they are included in libcspi.
3421 Changed prototype of AccessibleAction_doAction to return a
3423 Changed prototype of AccessibleTable_getCaption to
3424 return an Accessible.
3425 Changed prototype of AccessibleTable_getSelectedRows
3426 and AccessibleTable_getSelectedColumns to
3427 return a long (returns the number of selected rows
3428 or columns respectively).
3429 Changed name of AccessibleText_refRunAttributes to
3430 AccessibleText_getAttributes.
3431 Changed prototype of AccessibleText_getCharacterExtents to
3432 return a void rather than a boolean.
3433 Added support for a AccessibleCoordType parameter
3434 specifying what type of coordinates are desired.
3435 Added an AccessibleCordType parameter to
3436 AccessibleText_getPointAtOffset.
3438 * cspi/spi_accessible.c:
3439 Added code to return the outstanding interfaces from
3440 Accessible_queryInterface.
3442 * cspi/spi_action.c:
3444 Corrected call to getNActions to call the c binding
3447 * cspi/spi_editabletext.c:
3449 Changed name from setRunAttributes to setAttributes.
3451 * cspi/spi_hyperlink.c:
3453 Changed call to getNAnchors to correctly call the c
3454 binding for an attribute.
3456 * cspi/spi_hypertext.c:
3458 Changed getImageDescription to correctly call the
3459 binding for an attribute.
3461 * cspi/spi_selection.c:
3462 Changed getNSelectedChildren to correctly call the c
3463 binding for the attribute.
3464 Changed refSelectedChild to getSelectedChild.
3468 Changed getCaption to return an Accessible.
3469 Fixed calls which retrieve attributes.
3470 Changed refAt to getAccessibleAt.
3471 Changed getNSelectedRows and getNSelectedColumns to
3475 Changed getCharacterExtents and getPointAtOffset to accept an
3476 AccessibleCoordType.
3478 Changed calls which retrieve attributes.
3479 Changed refRunAttributes to getAttributes.
3484 * idl/Hyperlink.idl:
3485 Changed n_anchors attribute to nAnchors to keep naming
3486 convention consistent.
3489 Made Table inherit from Bonobo::Unknown.
3490 Added nSelectedColumns and nSelectedRows attributes.
3493 Made Value inherit from Bonobo::Unknown.
3495 * libspi/hyperlink.c:
3496 Change for nAnchors attributte name change.
3499 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3501 implementations-- made server implementations own AtkObject pointers
3502 rather than their respective AtkInterrface pointers to fix
3503 refcounting. AtkHyperlink is still broken.
3505 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3506 * cspi/spi_accessible.c:
3507 Added method Accessible_Role_getName(),
3508 and requisite string array (role_names).
3509 Added conversion string_from_corba_strin() call
3510 to Accessible_getName and _getDescription.
3511 * libspi/accessible.c:
3512 Added implementation for Accessible_getRole()
3514 Added festival support, used if environment variable
3517 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3519 * at-bridge/bridge.c:
3520 Now allocate Accessibility_Event using
3521 Accessibility_Event__alloc() instead of g_new0().
3522 * libspi/accessibleeventlistener.c:
3523 Initialize AccessibleEventListener->callbacks to NULL.
3524 Fixed accessible__event_listener_init() param, changed to
3525 "AccessibleEventListener *" type.
3526 Changed a bonobo_object_release_unref() call to
3527 Accessibility_Accessible_unref().
3528 * libspi/listener.c:
3529 Changed Bonobo_Unknown_unref to (equivalent)
3530 Accessibility_Accessible_unref.
3531 * libspi/registry.c:
3532 Changed bonobo_object_release_unref to
3533 Accessibility_Accessible_unref.
3535 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3538 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3539 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3540 spi-util.c spi-util.h
3541 Implementations for C bindings to remaining accessibility
3544 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3547 changed return value of Action from void to boolean to
3548 bring in line with ATK.
3551 Changed getText funcions to return "out" start and end offsets.
3552 Changed getAttributes to take and offset and return the start
3553 and end offset of the attribute run.
3554 Changed getOffsetAtPoint and getCharacterExtents to take an
3555 enum describing whether coordinates are window or screen.
3558 libspi/action.c libspi/action.h libspi/editabletext.c
3559 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3560 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3561 libspi/image.h libspi/selection.c libspi/selection.h
3562 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3563 libspi/value.c libspi/value.h
3564 Added server implementations for outstanding ATK interfaces
3565 not yet implemented.
3567 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3570 Added (missing) getName() method.
3571 Made nActions an attribute.
3572 * idl/EditableText.idl:
3573 Changed order of params in setAttributes.
3574 * idl/Hyperlink.idl:
3575 Removed getAnchor, added getURI.
3577 Changed attributes to methods, for efficiency
3578 (so that getting extents can be done in one call)
3579 * idl/Selection.idl:
3580 Changed nSelectedChildren to attribute, and re-indented.
3581 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3583 * idl/Text.idl: reformatted to match our coding style.
3584 (temporarily?) removed getRowColumnAtOffset().
3585 Changed text selection API to support multi-select and
3586 non-contiguous selections, as in ATK.
3587 * idl/Value.idl: changed some methods to attributes.
3589 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3591 * libspi/listener.c(impl_notify_event):
3592 BonoboUnkown_unref the source instead
3593 of bonobo_object_release_unref - the ORB
3594 handles the releasing.
3596 * configure.in: require ORBit-2.3.94 for
3599 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3601 Tagged CVS repository 'EA_1_0'.
3602 * README.EARLY_ACCESS:
3603 Alphabetized acknowledgements list, and
3605 Listed some known dependencies of at-spi.
3607 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3609 * docs/at-spi-docs.sgml:
3610 * docs/at-spi-sections.txt:
3611 * docs/at-spi-overrides.txt: (Added zero-length file)
3612 Documentation improvements - gtk-doc should build
3613 docs for all implemented C bindings now.
3616 * cspi/spi.c: (New file)
3617 * cspi/spi_event.c: (New file)
3618 * cspi/spi_registry.c: (New file)
3619 * cspi/spi_accessible.c: (New file)
3620 * cspi/spi_application.c: (New file)
3621 * cspi/spi_component.c: (New file)
3622 Split spi_main.c into six parts, and included them from
3623 "spi.c". This is a bit of a hack, probably temporary,
3624 but required by gtk-doc, apparently.
3626 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3629 * docs/at-spi-docs.sgml:
3630 * docs/at-spi-sections.txt:
3632 Initial checkins/modifications for gtk-doc generation.
3635 Added (missing) interface query methods to Accessible's C binding.
3637 Added GenericInterface type definition.
3639 Added query for AccessibleComponent interface to focus event handler.
3640 Added printout of bounding box for focussed component.
3641 * libspi/component.c:
3642 Added partial implementation for AccessibleComponent to C binding.
3643 * idl/Application.idl:
3644 * libspi/registry.c:
3645 * libspi/listener.c:
3646 * libspi/application.c:
3647 * libspi/application.h:
3648 Changed "ID" attribute type from string to long.
3650 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3654 Made method naming consistent: methods taking object args
3655 start with uppercase, other methods (except those using
3656 acronyms) start with lowercase. Underscores delimit between
3657 object names and method names:
3658 SPI_init() - uppercase since it starts with an acronym.
3659 getDesktopCount () - lowercase start since no object param0.
3660 Accessible_getName() - uppercase object type name, studlyCaps method
3664 Added gtk-doc documentation for all currently implemented
3665 methods in the C bindings API.
3667 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3669 * Makefile.am : changed build order to build test last.
3672 Changed "createEventListener" to "CreateEventListener".
3673 * libspi/accessibleeventlistener.c :
3674 Bugfix for addition of callbacks.
3675 * test/Makefile.am :
3676 * test/simple-at.c :
3677 Added new test that uses the C bindings API.
3679 * libspi/listener.c :
3680 * libspi/registry.c :
3681 * libspi/accessibleeventlistener.c :
3682 * at-bridge/bridge.c :
3683 Renamed member "target" of Accessibility_Event to "source",
3684 which is more descriptive.
3687 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3691 * cspi/Makefile.am :
3692 Added makefile support for at-spi/cspi directory.
3695 * cspi/spi-listener.h : (NEW FILE)
3696 Added support for/use of spi-listener.h.
3698 C bindings now build successfully, with no warnings.
3699 * libspi/accessibleeventlistener.h : (NEW FILE)
3700 * libspi/accessibleeventlistener.c : (NEW FILE)
3701 * libspi/Makefile.am :
3702 Added new object type "AccessibleEventListener"
3703 which inherits from Listener, and allows attachment
3704 of in-process callbacks (so that a client with a listening
3705 object instance can add functionality to the local
3706 implementation, dynamically).
3708 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3710 * libspi/accessible.c:
3711 Add implementation for get_index_in_parent().
3713 Added #include of "spi-roletypes.h", and
3714 added enumerated type AccessibleCoordType.
3715 Added definition for KeystrokeListener (function type).
3718 * cspi/spi-statetypes.h :
3719 * cspi/spi-roletypes.h :
3721 Added these headers, used by spi.h.
3723 Added code (NOTE: not yet built by make).
3725 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3727 * libspi/Makefile.am: generate imodule
3728 at the same time as other idl compiler
3731 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3732 * libspi/registry.c :
3733 * libspi/application.c :
3734 * idl/Application.idl :
3735 Made registration with toolkit an application method,
3736 which is required since each app has its own toolkit static
3737 environment. Thus the bridge must register for
3738 notification of toolkit events from each application in turn.
3739 Toolkit notifications are now successfully registered for, and
3740 sent to the listening at client.
3742 Changed toolkit event string to use hyphens rather than underscores.
3743 * libspi/listener.c :
3744 listner now gives more info in debug mode - it reports the
3745 name of the event received, as well as the name of the source.
3748 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3750 * libspi/registry.c :
3751 added more implementation for toolkit events.
3752 Fixed bug such that toolkit event registrations
3753 (via atk) use the whole event name string, not
3755 Removed a useless call to an ORBit_ method.
3756 * at-bridge/bridge.c :
3757 Removed unused local sbuf[] variable.
3759 We now register for Gtk:GtkWidget:button_press_event
3760 events as well as "focus:" events.
3762 Add some more API from Registry.idl that was missing,
3763 for keystroke listening, keystroke and mouse event
3764 synthesis, and enumeration of accessible desktops.
3766 2001-08-16 Michael Meeks <michael@ximian.com>
3768 * configure.in: use AM_GLIB_GNU_GETTEXT.
3770 * Makefile.am (SUBDIRS): kill intl.
3772 2001-08-15 Michael Meeks <michael@ximian.com>
3774 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3776 * configure.in: upd.
3778 * configure.in: depend on a recent bonobo-activation that
3779 will find our server files ...
3781 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3783 * libspi/accessible.c : accessible_new() :
3784 Now we add the Component interface via bonobo_object_add_interface,
3785 if the contained AtkObject implements AtkComponent.
3786 * libspi/accessible.h : now include "component.h"
3787 * libspi/component.h :
3788 * libspi/component.c : added files - implementation of
3789 bonobo wrapper object for Accessibility/Component
3790 * libspi/listener.c :
3791 Added test code to check for Accessibility/Component:1.0
3792 interface and report whether it is implemented by the
3794 * libspi/registry.c :
3795 Now we check for not only the hash of the whole event
3796 string before relaying the event, we also check the
3797 "minor" event string (without the detail string).
3798 This allows event listeners to be registered against
3799 all events of a certain major+minor type, or just
3800 against a specific major+minor+detail type.
3801 * libspi/accessible.c :
3802 Added implementations for Accessible:get_parent(),
3803 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3804 * libspi/registry.c :
3805 * libspi/listener.c :
3806 Replaced calls to Accessibility_Accessible_ref() and
3807 Accessibility_Accessible_unref() with
3808 calls to bonobo_object_dup_ref() and
3809 bonobo_object_release_unref(), so that the CORBA object
3810 is dup-ed and released when relayed, as well as the bonobo object.
3812 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3814 * libspi/Makefile.am,
3815 registryd/Makefile.am,
3816 at-bridge/Makefile.am.
3817 test/Makefile.am, configure.in:
3818 reverse previous changes.
3820 * /idl/Image.idl: fix typo.
3822 * test/Makefile.am: put DEBUG_FLAGS
3825 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3827 * test/app.c: use argv[0] instead of
3830 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3832 * libspi/Makefile.am,
3833 registryd/Makefile.am,
3834 at-bridge/Makefile.am.
3835 test/Makefile.am, configure.in:
3836 cleanup, replace individual LIBS/CFLAGS with
3837 AT_COMMON_{LIBS|CFLAGS}.
3841 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3843 * configure.in, libspi/Makefile.am:
3844 Change IDL path checking for bonobo-activation
3847 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3849 * registryd/registry.c : separated event listeners to use
3850 3 separate lists (focus, window, toolkit). Began testing
3851 event names against hashes before relaying events.
3852 * test/at.c : now register for events of type "focus:"
3853 * test/app.c : now generate events of type "focus:"
3854 * at-bridge/bridge.c : register with ATK for focus events,
3855 and we now relay those focus events to any "focus:" listeners.
3856 This now works with the bridge as a GTK_MODULE when running test/at.
3857 * libspi/registry.c :
3858 * libspi/listener.c :
3859 now we ref event sources before propagating, and unref on receipt.
3860 * libspi/registry.c :
3861 some changes to internal structs, to support event typestring hashes.
3862 * text/app.c : changed the way the appname is generated.
3863 * cspi : added directory that will hold the C bindings library for
3864 non-CORBA/bonobo-savvy clients.
3865 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3866 * idl/Component.idl : added in parameter to indicate coord system for
3867 geometry-related calls.
3868 * idl/Hyperlink.idl : added readonly n_links attribute
3869 * idl/Image.idl : changed methods to attributes.
3871 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3873 * at-bridge/Makefile.am: link against
3874 ../libspi/libspi.la instead of -lspi.
3876 * at-spi/test/app.c: include
3877 bonobo-activation.h. Use a default appname
3878 if one is not provided.
3880 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3882 * idl/Registry.idl : temporarily changed register_Application
3883 to oneway, to work around issue with initial registration
3885 * idl/Application.idl : changed attribute "id" from readonly
3886 to read-write, since it needs to be assigned by Registry.
3887 * registryd/registryd.c : added call to set application id
3889 * registryd/registry.c : changed de-registration procedure to
3890 use CORBA_Object_hash() to find matching object ref in application
3891 lists and listener lists.
3892 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3893 began distinguishing between event types (work in progress).
3895 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3898 * libspi/application.c:
3899 Added implementations for get/set id, get_toolkitName,
3901 * registryd/registryd.c :
3905 Converted from use of OAF to bonobo-activation.
3906 * libspi/desktop.h :
3907 * libspi/desktop.c :
3909 Removed references to atksimpleobject, since base atkobject
3910 implementation now provides functionality we need.
3911 * libspi/atksimpleobject.c :
3912 * libspi/atksimpleobject.h :
3917 * at-bridge/Makefile.am
3918 * at-bridge/bridge.c
3921 Added directory "bridge" and contents, and added dependencies
3922 in Makefile.am/configure.in.
3923 Initial checkin of "at-bridge".
3924 This code is a GTK_MODULE which automatically registers
3925 GTK+ apps with the accessibility registry, using an object
3926 reference to the root ATK object.
3928 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3930 * po/Makefile.in.in: Remove. Again. If this
3931 doesn't get autogenerated - you need to update
3934 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3936 * po/Makefile.in.in: Add. Again.
3938 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3940 * libspi/accessible.c : added support for 'description' property.
3941 * libspi/accessible.c
3943 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3944 (since the two are now equivalent in libbonobo)
3952 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3953 Bonobo::Unknown as does Accessibility::Accessible.
3954 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3955 interface with Bonobo::Stream, since it was redundant with it.
3956 (The Stream returned by a StreamableContext object is expected to
3957 implement only a subset of Bonobo::Stream)
3959 2001-07-28 Anders Carlsson <andersca@gnome.org>
3961 * libspi/accessible.c (accessible_object_finalize): Change
3962 g_free to g_object_unref since the AtkObject is a GObject.
3964 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3966 * idl/Accessibility.idl: add new IDL files
3969 * idl/Action.idl: Definitions of actionable UI object
3970 * idl/Component.idl: Definitions of UI component geometry, etc.
3971 * idl/Hyperlink.idl: Defs of hyperlink behavior
3972 * idl/Image.idl: Def of accessible image
3973 * idl/Selection.idl: Definition of UI object with selectable children
3974 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3975 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3976 * idl/Text.idl: Interface defs for UI elements with complex textual content
3977 * idl/Value.idl: Definition of UI element that is a value controller or display
3979 2001-07-27 Michael Meeks <michael@ximian.com>
3981 * po/Makefile.in.in: remove autogenerated file from CVS.
3983 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3986 * idl/Registry.idl: include guard.
3988 * idl/Accessibility.idl: Add, and include all the other IDL
3991 * idl/*.idl: remove mass of pragmas etc.
3993 2001-07-26 Michael Meeks <michael@ximian.com>
3995 * registryd/Makefile.am (registryd_SOURCES): remove
3998 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4000 * libspi/.cvsignore, registryd/.cvsignore,
4001 test/.cvsignore: updated.
4003 * po/Makefile.in.in: gettext update.
4005 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4007 * initial CVS checkin
4009 2001-06-29 Michael Meeks <michael@ximian.com>
4011 * configure.in: add AM_CONFIG_HEADER to gen config.h