1 2002-05-29 Bill Haneman <bill.haneman@sun.com>
3 * configure.in: Fixed bug in AC_OUTPUT that was
4 causing path substitution in Accessibility_Registry.server
7 2002-05-23 Bill Haneman <bill.haneman@sun.com>
9 * text/screen-review-test.c:
11 New method which attempts a best-guess at clipping
12 text from components (like Java labels) which don't
13 actually implement AccessibleText. This inaccurate
14 clip is based on the assumption that the label is
15 justified left-and-right, and monospaced.
16 (text_chunk_get_clipped_string):
17 We now call guess_string_clip() for text-containing
18 components that don't implement AccessibleText.
20 * test/screen-review-test.c:
21 (review_buffer_get_text_chunk):
22 We now pull "name" from labels if they do not implement
23 AccessibleText (i.e. for Java labels).
24 (get_screen_review_line_at):
25 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
28 Replaceded AC_OUTPUT target
29 registryd/Accessibility_Registry.server with
30 registryd/Accessibility_Registry.server.in.
32 * registryd/Accessibility_Registry.server.in:
33 Removed (this is now a Makefile target).
35 * registryd/Accessibility_Registry.server.in.in:
36 Added (source for target above). We now use $(libexecdir) as
37 prefix for the executable at-spi-registryd.
39 * registry/Makefile.am:
40 Now install at-spi-registryd into $(libexecdir), and build .server
41 file with path (see above).
43 2002-05-22 Bill Haneman <bill.haneman@sun.com>
45 * test/screen-review-test.c:
46 (text_chunk_get_clipped_string):
47 We now check to see if words fall within clip bounds
48 before resorting to character-by-character clip bounds testing.
50 * TODO: Added a section for "2.2 Proposed API Additions".
52 2002-05-21 Bill Haneman <bill.haneman@sun.com>
54 * test/screen-review-test.c:
56 Added a screen review benchmarking and test program to test
59 * cspi/spi_accessible.c:
61 Made some of the debug strings passed to cspi_check_ev a
64 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
66 * test/screen-review-test.c: Fix crashes in debug statements
68 2002-05-20 Bill Haneman <bill.haneman@sun.com>
70 * test/screen-review-test.c: Added this file.
72 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
74 * atk-bridge/bridge.c: changed "object:state-change" to
75 "object:state-changed" to match docs.
77 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
79 * atk-bridge/bridge.c: Hooked up state-change event details.
81 2002-05-11 Bill Haneman <bill.haneman@sun.com>
83 * registryd/registry.c:
84 Fixed quarking bug in event string parsing; now events with
85 detail parameters get matched correctly to listeners.
88 * util/idl/Magnifier.idl: remove.
90 * util/*.[ch]: Remove.
91 Magnification utilities and IDL are now in module gnome-mag.
93 2002-05-10 Bill Haneman <bill.haneman@sun.com>
95 * registryd/deviceeventcontroller.c:
96 Fixed bug in grab key conversion which was causing keycode grabs
97 to be converted to AnyKey grabs.
100 updated NEWS file to reflect recent spin-off of gnome-mag.
102 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
104 * cspi/spi_accessible.c: Added exception checks. Fixed completely
105 busted AccessibleStateSet_compare. Removed redundant casts.
107 * cspi/spi-action.c: Removed redundant casts.
109 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
111 * cspi/spi_component.c: Fixed typos and casting error.
113 * cspi/spi_editabletext.c: Removed redundant casts.
115 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
117 * cspi/spi_hypertext.c: Eliminated redundant casts.
119 * cspi/spi_image.c: Eliminated redundant casts.
121 * cspi/spi_registry.c: Eliminated redundant casts.
122 SPI_deregisterGlobalEventListenerAll () removed retval variable.
123 * cspi/spi_selection.c: Removed redundant casts.
124 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
125 handling. Screen geometry and text offsets were being returned as 0
126 on error which is technically valid-- changed these to return -1.
127 Added marshaller for text boundary types to fix bug with boundary
128 types being passed incorrectly to atk.
130 2002-05-09 Bill Haneman <bill.haneman@sun.com>
133 * cspi/spi_registry.c:
134 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
135 which was uncovered by the recent key changes.
137 2002-05-09 Bill Haneman <bill.haneman@sun.com>
139 * test/event-listener-test.c:
141 Added new test, "event-listener-test";
142 this code does two things; it benchmarks traversal time
143 for the accessible hierarchy for the first running accessible
144 app, and it connects listeners for all supported event types.
145 It is thus useful as an example event listener and for
146 diagnostics/debugging of event generation.
148 2002-05-08 Bill Haneman <bill.haneman@sun.com>
151 Removed unnecessary dependency on libutil.
154 Revved micro version: 0.13.1
156 2002-05-08 Bill Haneman <bill.haneman@sun.com>
159 Removed util/Makefile from targets.
162 Removed util subdir from SUBDIRS (temporarily,
163 pending removal of magnifier-only code
167 #ifdef-ed out magnifier dependencies, since
168 magnifier IDL, headers, and binary now live in
169 module gnome-mag and we don't want at-spi to depend
170 on gnome-mag. A magnifier demo which can run alongside
171 simple-at is forthcoming in the gnome-mag module.
173 NOTE: Split magnifier binary, IDL, and magnification
174 activation code from at-spi into module gnome-mag.
176 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
178 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
179 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
181 2002-05-03 Bill Haneman <bill.haneman@sun.com>
184 Revved to version 0.13.0
186 * idl/Accessibility_Registry.idl:
187 Changed definition of KeySet from sequence of longs to sequence of
188 KeyDefinitions, and added KeyDefinition struct.
189 Required for fix to bug 80616.
191 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
192 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
193 to use new definition (see above).
195 * registryd/deviceeventcontroller.c: handle_keygrab(),
196 spi_keyset_contains_key():
197 Changed to make use of new struct; this allows matching based on
198 string key-name, for instance "Tab". This also allows matching of
199 composed characters, non-alphanumeric characters in a way that
200 doesn't involve dependencies on X keysym codes directly, etc.
202 * test/key-listener-test.c:
203 Added test for Alt-Tab key using "string" specification of keyset,
204 and modified one of the tests to use a keycode-based keyset.
205 Thus this test both tests and demonstrates the creation and use of
206 keysets of three forms: specified via keycode array,
207 keysym array, and string array. (The string case only contains a
208 single string, i.e. a string array of length 1).
211 Turned on PRINT_TREE option by default. Also fixed a
212 string-freeing bug in the PRINT_TREE code.
213 Added a listener to window:minimize events.
215 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
217 * atk-bridge/bridge.c:
218 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
219 for window:activate and window:deactiveate
220 (atk_bridge_property_event_listener atk_bridge_signal_listener
221 atk_bridge_window_event_listener) Tidy debug code
223 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
225 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
226 Fixed handling for NULL return value from ATK.
228 * libspi/action.c libspi/component.c libspi/editabletext.
229 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
230 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
231 Removed redundant casts.
233 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
234 Fixed off by one bug.
236 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
237 function not present in idl)
239 2002-05-02 jacob berkman <jacob@ximian.com>
241 * atk-bridge/Makefile.am: make atk-bridge a real module
243 2002-04-26 Radek Doulik <rodo@ximian.com>
245 * libspi/stateset.c (spi_init_state_type_tables): fix size of
246 atk_state_types table
248 2002-04-22 jacob berkman <jacob@ximian.com>
251 * libspi/Makefile.am: add deps on the built files to help
252 automake, and don't version the ORBit typelib
254 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
256 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
257 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
258 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
259 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
260 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
261 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
262 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
263 libspi/accessible.h libspi/accessible.h libspi/base.h
264 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
265 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
266 libspi/relation.h libspi/remoteobject.h libspi/selection.h
267 libspi/spi-private.h libspi/statetset.h libspi/table.h
268 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
269 util/mag_client.h util/mag_control.c util/mag_image.c
270 util/mag_image.h util/magnifier.c util/magnifier.h:
271 Add missing file headers; standardize existing ones
273 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
275 * atk-bridge/bridge.c: Added window event support.
277 2002-04-18 Michael Meeks <michael@ximian.com>
279 * libspi/relation.c (impl_getNTargets): impl.
280 (impl_getTarget): impl.
282 * libspi/Makefile.am: fix stateset install.
284 2002-04-17 Bill Haneman <bill.haneman@sun.com>
287 Started putting useful info in this file.
289 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
291 * atk-bridge/bridge.c:
292 Propagate state-changed notifications to ATs
294 * cspi/spi_registry.c: update docs to reflect actual behavior of
297 2002-04-17 Bill Haneman <bill.haneman@sun.com>
300 Incremented version to 0.12.1
303 Add missing declaration for magnifier_exit,
304 used by mag_control.c - Forte compiler didn't like
305 the implicit redeclaration of the function :-(
308 2002-04-16 Bill Haneman <bill.haneman@sun.com>
311 Revved version to 0.12 due to API change (see below).
313 * cspi/spi-roletypes.h:
314 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
315 definition from the inline docs, and added docs
316 for SPI_ROLE_LAST_DEFINED.
319 * cspi/spi_streamablecontent.c:
320 Added missing seek_type parameter to
321 (so far unused) method,
322 AccessibleStreamableContent_seek().
323 [ RT approval JodyG. ]
326 Fixed docs for SPI_createAccessibleKeystrokeListener.
328 * cspi/spi_registry.c:
329 Fixed docs for SPI_KEYSET_ALL_KEYS.
331 * docs/reference/cspi/at-spi-cspi-sections.txt:
332 Added a number of missing APIs to SECTIONS.
334 2002-04-16 Bill Haneman <bill.haneman@sun.com>
336 * registryd/Makefile.am:
338 * cspi/bonobo/Makefile.am:
339 Add $(X_LIBS) to makefiles.
341 2002-04-15 Bill Haneman <bill.haneman@sun.com>
344 Revved version to 0.11.
346 * libspi/component.c:
347 Added implementation for grabFocus.
349 * idl/Accessibility_Component.idl
350 (Accessibility_Component_grabFocus):
351 Made this method return boolean to indicate success or failure, to
352 be consistent with cspi and the corresponding ATK method.
354 * idl/Accessibility_Selection.idl
355 (Accessibility_Selection_selectAll) :
356 Made these methods return boolean to indicate success or
357 failure, to be consistent with cspi and the corresponding ATK methods.
359 * idl/Accessibility_EditableText.idl
360 (Accessibility_EditableText_setTextContents,
361 Accessibility_EditableText_insertText,
362 Accessibility_EditableText_cutText,
363 Accessibility_EditableText_deleteText,
364 Accessibility_EditableText_pasteText):
365 Made these methods return boolean to indicate
368 * cspi/spi_editabletext.c:
369 Made these methods return booleans.
371 * libspi/selection.c:
372 * libspi/component.c:
373 * libspi/editabletext.c:
374 Connected the boolean returns from ATK
375 to the server-side code referenced above.
377 2002-04-14 Bill Haneman <bill.haneman@sun.com>
379 * idl/Accessibility_Table.idl: Added missing methods,
380 Accessibility_Table_addRowSelection,
381 Accessibility_Table_addColumnSelection,
382 Accessibility_Table_removeRowSelection,
383 Accessibility_Table_removeColumnSelection.
386 Added C wrappers for above IDL:
387 AccessibleTable_addRowSelection,
388 AccessibleTable_addColumnSelection,
389 AccessibleTable_removeRowSelection,
390 AccessibleTable_removeColumnSelection.
393 Added server-side implementation code for IDL above, connecting
394 to pre-existing ATK api.
396 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
398 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
400 * libspi/accessible.c: Added implementation fo
401 Accessibility_Accessible_get_state.
403 * libspi/libspi.h: Added stateset.h to the list of includes.
405 * libspi/stateset.c: Fixed broken implementation.
407 2002-04-13 Bill Haneman <bill.haneman@sun.com>
410 Added implementation code for Accessibility_Magnifier_exit ().
412 * util/mag_control.c:
413 Added test code for above method; you can
414 now kill an existing magnifier via
415 ./mag_control q, from the util directory.
417 * test/key-listener-test.c:
419 Added a new test, for our key listener API.
421 2002-04-11 Bill Haneman <bill.haneman@sun.com>
423 * test/app.c, test/keysynth-demo.c:
425 Replace use of snprintf with g_snprintf.
426 (fix for bugzilla 78249)
428 2002-03-27 Michael Meeks <michael@ximian.com>
432 * util/Makefile.am (INCLUDES): fix.
433 (DONT_DIST_SOURCE): don't distribute the
436 * libspi/Makefile.am (dist-hook): ditto.
438 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
440 * libspi/hypertext.c:
441 Fix warnings when yelp is used with atk-bridge
443 2002-03-21 Michael Meeks <michael@ximian.com>
445 * libspi/application.c (spi_application_new):
446 use spi_accessible_construct so we use the AtkObject
449 2002-03-19 Michael Meeks <michael@ximian.com>
451 * registryd/registry.c (desktop_remove_application),
452 (desktop_add_application): clean coding style.
454 * registryd/desktop.c (spi_desktop_remove_application),
455 (spi_desktop_add_application): kill re-enterency hazards.
456 (spi_desktop_dispose): remove bogus redundant cast
457 obscuring bug; fix bug too.
458 (spi_desktop_init): make the desktop object immortal.
460 2002-03-16 Bill Haneman <bill.haneman@sun.com>
463 Added a #define-guarded tree-traversal step
464 when enumerating the apps (diagnostic tool).
466 2002-03-15 Bill Haneman <bill.haneman@sun.com>
468 * idl/Accessibility_Role.idl:
469 Added ROLE_DRAWING_AREA which seemed to be missing from the
472 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
474 * cspi/spi-roletypes.h cspi/spi_accessible.c
475 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
478 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
479 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
480 AT when applications are added and removed from the desktop. This
481 reverts the previous broken implementation using the backing
482 AtkObject for the SpiDesktop.
484 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
486 * registryd/desktop.c: emit the "children-changed::add" and
487 "children-changed::remove" signals on the backing ATK object for
488 the desktop so AT can tell when applications are started and shut
491 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
493 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
495 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
497 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
499 * cspi/spi_accessible.c: Implemented c bindings for stateset support
501 * cspi/state-types.h: synched with IDL and ATK
503 2002-03-13 Bill Haneman <bill.haneman@sun.com>
505 * libspi/accessible.c
506 (impl_accessibility_accessible_get_child_at_index):
507 Change return value for g_return_if_fail ()
508 to CORBA_OBJECT_NIL instead of "0" (!)
510 * registryd/Makefile.am:
511 * registryd/Accessibility_Register.server.in:
512 Changed name of executable, "registryd",
513 to something more informative:
516 2002-03-13 Michael Meeks <michael@ximian.com>
518 * atk-bridge/bridge.c (atk_bridge_init): don't register
519 if we're in a bonobo-component, rather than a bonobo app.
521 2002-03-13 Michael Meeks <michael@ximian.com>
523 * atk-bridge/bridge.c (gtk_module_init): split
524 out body to (atk_bridge_init): here, since otherwise
525 we get symbol conflicts and oddness when invoked
526 from (gnome_accessibility_module_init): here (upd.)
528 2002-03-11 Bill Haneman <bill.haneman@sun.com>
531 New file. Explicitly allow "build sheriff" putbacks provided
532 they are tested on Solaris.
534 * docs/reference/cspi/Makefile.am:
535 Added '-' to the "cp" command for index.sgml.
536 ("patch by thomasvs, soon coming to a GUADEC near you")
539 Incremented version number (0.9.0) for new release.
540 Changed macro that checks for popt, to better detect
541 obsolete versions of popt.
544 Added X_LIBS to AC_SUBST, for applications
545 that call Xlib API directly.
548 2002-03-07 Bill Haneman <bill.haneman@sun.com>
551 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
554 Fix regression caused by hard-coding major
555 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
558 * test/test-simple.c (test_editable_text),
559 (test_test): revert previous change (error was
560 a regression in gail which is now fixed).
562 2002-03-04 Michael Meeks <michael@ximian.com>
564 * test/test-simple.c (test_editable_text),
565 (test_text): pass G_MAXINT instead of '-1' for
566 whole string - is this a good thing !?
568 * cspi/spi_accessible.c
569 (Accessible_getRelationSet): fix crasher bug
570 overwriting the end of the array.
572 * test/test-simple.c (validate_accessible): free,
573 not g_free returned relation set.
575 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
577 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
578 implemented stateset support
580 * idl/Accessibility_State.idl: Made necessary changes to
581 the IDL to support state sets.
583 2002-02-12 Bill Haneman <bill.haneman@sun.com>
585 * registryd/deviceeventcontroller.c:
586 Added implementation for generateMouseEvent.
588 * cspi/spi_registry.c:
589 Connected new implementation for generateMouseEvent
592 2002-02-12 Bill Haneman <bill.haneman@sun.com>
595 Incremented revision (but no change in public API
596 outside of 'utils', which are not installed public yet.)
598 * libspi/component.c:
599 Changed to use atk_component API for layers and
600 mdi_zorder, instead of deprecated atk_object API.
602 Magnification Utility Enhancements:
605 Added implementation of createZoomRegion, clearAllZoomRegions,
606 resizeZoomRegion. Added new commandline argument
607 "--no-initial-region". Note that clearAllZoomRegions doesn't
608 unmap the old '0' region as it should (yet), and the other
609 methods only work when creating/resizing a single region,
611 (Code for multiple region support will be added later.)
614 Now we raise the magnifier window each time it's refreshed;
615 this will help keep it on top.
618 Added simple wrappers for above, used by mag_control.
619 For general use, it's recommended to use the bonobo magnifier
620 control API directly instead of using these wrappers.
623 Moved ZoomRegionData from magnifier.c to this file.
625 * util/mag_control.c:
626 Added some code to exercise new IDL implementations.
628 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
630 * libspi/text.c: Provide implementation for getAttributes.
632 2002-02-04 Bill Haneman <bill.haneman@sun.com>
635 Incremented revision.
637 * test/test-simple.c:
638 Replaced use of deprecated g_main_iteration with
639 g_main_context_iteration.
641 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
644 Incremented revision for desktop alpha 2.
646 2002-01-28 Mark McLoughlin <mark@skynet.ie>
648 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
651 * test/simple-at.c: include netinet/in.h.
653 2002-01-24 Mark McLoughlin <mark@skynet.ie>
655 * cspi/spi_accessible.c: (Accessible_getRelationSet):
656 use NULL, not CORBA_OBJECT_NIL.
658 * libspi/accessible.c:
659 (impl_accessibility_accessible_get_relation_set):
660 allocate the sequence correctly.
662 * libspi/remoteobject.h: kill spi_remote_object_new.
664 * test/test-simple.c: (validate_accessible): add code
665 to test relation sets, now all we need is to figure
666 out how to excercise this code path :/
668 2002-01-18 Michael Meeks <michael@ximian.com>
671 (key_listener_cb): consume the key.
672 (test_keylisteners): update.
673 (main): wait for any pending unrefs on events.
675 * registryd/deviceeventcontroller.c
676 (spi_controller_update_key_grabs): only re-issue the
677 grab on a key release.
678 (spi_device_event_controller_forward_key_event):
679 refresh the keygrabs before we notify the listeners,
680 to reduce the X ungrab / re-grab race.
681 (spi_controller_register_with_devices): remove
682 XSelectInput - we do that with the gdk_window_ call.
683 (_spi_controller_device_error_handler): return a value.
684 s/GDK_DISPLAY/spi_get_display/
686 2002-01-17 Michael Meeks <michael@ximian.com>
688 * registryd/deviceeventcontroller.c
689 (_deregister_keygrab): don't blow out the later
692 * test/test-simple.c (test_keylisteners): do a
693 more intelligent validation.
695 2002-01-14 Michael Meeks <michael@ximian.com>
697 * atk-bridge/bridge.c
698 (gnome_accessibility_module_init),
699 (gnome_accessibility_module_shutdown): impl.
700 (gtk_module_init): protect vs. double inits.
701 (add_signal_listener): impl.
702 (spi_atk_bridge_state_event_listener): kill
703 (deregister_application): split out of
704 (spi_atk_bridge_exit_func): here.
706 2002-01-18 Bill Haneman <bill.haneman@sun.com>
709 Added caret tracking when using magnifier, and
710 now use text bounds for focus tracking of text elements, rather than
711 the component bounds - this is helpful for short text fields in long
712 table cells, at high magnification.
714 2002-01-16 Bill Haneman <bill.haneman@sun.com>
716 * registryd/deviceeventcontroller.c:
717 Regression fix for keylistener de-registration; global keygrabs
718 were not being released when deregisterKeystrokeListener was
719 called in cspi, since
720 Accessibility_DeviceEventController_deregisterKeystrokeListener
721 was called with a zero-length keyset. That is because the cspi
722 method, SPI_deregisterKeystrokeListener, does not take a keyset
723 parameter but instead should remove all the key grabs held be a
725 The code in impl_deregister_keystroke_listener was changed to copy
726 the keylist from the listener instance previously registered with
727 the DeviceEventController before releasing the grabs.
729 * registryd/registry.c:
730 * registryd/deviceeventcontroller.c:
731 * libspi/spi-private.h:
733 Changed spelling of "re-enterant" to "re-entrant" globally.
735 2002-01-16 Bill Haneman <bill.haneman@sun.com>
737 * test/test-simple.c:
738 Changed key listeners test - the test was slightly mis-using the
739 (admittedly poorly documented) SPI_generateKeyboardEvent API.
740 It now uses '=' as the key event listened to and generated,
741 relying on a keysym match rather than assuming that keycode 33
742 is always equal to keysym '!'.
744 2002-01-15 Bill Haneman <bill.haneman@sun.com>
747 Changed simple-at to use a specific keyset, rather than
748 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
749 manager, desktop, etc.
751 2002-01-11 Bill Haneman <bill.haneman@sun.com>
753 * registryd/deviceeventcontroller.c:
754 Replaced standard X error handler with a special handler that
755 is non-fatal for failed keygrabs. This works around
756 problems with keygrab clashes sometimes observed on
758 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
759 mouse handling code as yet).
761 2002-01-11 Bill Haneman <bill.haneman@sun.com>
764 Incremented revision for desktop alpha release.
767 Fixed a couple of the more glaring errors (still not
770 2002-01-11 Michael Meeks <michael@ximian.com>
772 * registryd/deviceeventcontroller.c
773 (spi_device_event_controller_forward_key_event): kill
774 XUngrabKey / XKeyGrab race.
775 (spi_controller_grab_keyboard): rename to
776 (spi_controller_update_key_grabs): this, and deal
777 with incremental adding / removing grabs more
779 (_register_keygrab): ensure we're not pending a remove.
780 (spi_grab_mask_free): impl.
781 (spi_controller_register_global_keygrabs): split out
783 (handle_keygrab): impl.
784 (_deregister_keygrab): impl.
785 (spi_controller_deregister_global_keygrabs): impl.
786 (spi_controller_update_key_grabs): re-issue the grab if
787 we just recieved a notification.
789 * test/test-simple.c (key_listener_cb): remove debug.
791 * registryd/deviceeventcontroller.c
792 (spi_controller_register_device_listener): after
793 registering a global keygrab, actualy register it !
794 don't wait for a timeout; doh !
796 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
797 to make it more readable / manipulable.
798 s/grabmask/grab_mask/ s/refcount/ref_count/
799 s/keyval/key_val/ s/modmask/mod_mask
801 2002-01-08 Michael Meeks <michael@ximian.com>
803 * registryd/deviceeventcontroller.c
804 (spi_controller_register_with_devices): use gdk calls to
806 (global_filter_fn): implement the filter.
807 (spi_device_event_controller_check_key_event): rename to
808 (spi_device_event_controller_forward_key_event): this & upd.
809 (spi_get_display): replace with GDK_DISPLAY.
811 * registryd/deviceeventcontroller.c
812 (spi_controller_deregister_device_listener): unroll into
813 (impl_deregister_keystroke_listener): here to simplify.
814 (spi_controller_register_global_keygrabs): split cut and
815 paste (!) out into (_register_keygrab): here, shorter & sweeter.
816 (spi_controller_deregister_device_listener): remove.
817 (impl_register_mouse_listener): remove, no mouse listener
818 support in at-spi-1.0
820 * registryd/registry.c
821 (_device_event_controller_hook): kill.
822 (spi_registry_init): upd.
824 * registryd/deviceeventcontroller.c
825 (spi_device_event_controller_class_init): upd.
826 (spi_check_key_event): merge into.
827 (spi_device_event_controller_check_key_event):
828 here and kill strange static ev init, don't leak
829 the x_event - nor dynamicaly allocate it.
831 * registryd/registry-main.c (main): re-direct
832 timeout to remove strange vtable mess.
834 * registryd/deviceeventcontroller.c
835 (remove_listener_cb): impl.
836 (spi_controller_deregister_device_listener):
837 fix re-enterancy hazard.
839 2002-01-07 Michael Meeks <michael@ximian.com>
841 * registryd/deviceeventcontroller.c
842 (spi_device_event_controller_new): upd.
843 (impl_notify_listeners_sync): upd. debug.
844 (spi_notify_keylisteners): fix re-enterancy hazards,
845 prettify, remove O(n*n) iteration.
846 (spi_controller_grab_keyboard): fix iteration.
847 (spi_check_key_event): re-format to suit coding style.
848 Clean all the warnings - we're warning free.
850 * registryd/deviceeventcontroller.h:
851 * registryd/registry.h: make mutualy referential with
852 typesafe forward references instead of (!) void pointer
855 2002-01-11 Michael Meeks <michael@ximian.com>
857 * cspi/spi_accessible.c (role_names): add a role name
858 to sync this array with the enum; and make the regression
861 2002-01-10 Michael Meeks <michael@ximian.com>
863 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
864 allow expansion of enumeration & kill warning.
866 * test/test-simple.c (key_listener_cb): impl.
867 (test_keylisteners): impl.
869 * cspi/spi-listener.h: make listener signatures const
870 on the provided (const) events.
872 * test/keysynth-demo.c: upd. to const events.
874 * test/simple-at.c: ditto.
876 2002-01-11 Bill Haneman <bill.haneman@sun.com>
879 Rev the version to 0.5 (the previous tarball was named 0.4,
880 even though the micro number was 3), so we need to rev upwards
881 again for beta2/"desktop-alpha"
884 Checked in a demo script, which requires editing before use!
885 Proceed with caution.
888 Fixed typo in header which was redefining SPI_ACTION_CLASS.
890 * cspi/spi_accessible.c:
891 Add a couple of missing enum initializations, and fix some enum
894 * cspi/spi_registry.c:
895 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
897 * docs/reference/cspi/at-spi-cspi-sections.txt:
898 Remove/fix a couple of broken document references.
901 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
902 as Alt-Control to listen for commands, since on some systems
903 Control-Alt may already be grabbed.
905 2002-01-10 Bill Haneman <bill.haneman@sun.com>
908 Update version number to 0.4 for Beta2.
910 * libspi/accessible.c, libspi/accessible.h:
911 Expose spi_accessible_construct, to enable libgail-gnome
912 construction from spi_accessible subtype.
915 Workaround for bug in some non-gnome-compliant window managers
916 which made magnifier resize improperly.
918 2002-01-09 Bill Haneman <bill.haneman@sun.com>
920 * libspi/accessible.c: (spi_accessible_new) :
921 Move the test for SPI_IS_REMOTE_OBJECT to
922 spi_accessible_new_return, fixing a bug and compile time warning.
924 2002-01-08 Michael Meeks <michael@ximian.com>
926 * registryd/registry.c (parse_event_type): remove strndup.
928 * libspi/Makefile.am (libspi_la_SOURCES): remove
929 sources already included in the headers section.
931 * libspi/util.c: add.
933 * libspi/spi-private.h: add.
935 * registryd/registry.c: update to moved list iterators.
937 2002-01-05 Michael Meeks <michael@ximian.com>
939 * test/simple-at.c (main): upd. auto-module set to atk-bridge
941 * test/test-simple.c (main): ditto.
943 2002-01-04 Michael Meeks <michael@ximian.com>
945 * libspi/accessible.c (spi_accessible_new): remove 2nd,
948 * registryd/registry.c
949 (get_listener_list): impl.
950 (impl_accessibility_registry_register_global_event_listener):
951 re-impl. to simplify using ~, remove dodgy const cast off.
952 (parse_event_type): constify.
953 (impl_accessibility_registry_deregister_global_event_listener_all):
954 re-write, more efficiency and simplicity, kill re-enterancy
956 (compare_listener_corbaref, compare_corba_objects),
957 (compare_listener_quarks): define out.
958 (impl_accessibility_registry_deregister_global_event_listener):
959 re-write for effiency, and nail re-enterancy hazard.
960 (impl_accessibility_registry_get_desktop_list): impl.
961 (re_enterant_list_delete_link): impl.
962 (re_enterant_list_foreach): impl.
963 (remove_listener_cb): impl.
964 (_registry_notify_listeners): kill.
965 (notify_listeners_cb): impl.
967 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
968 (SPI_getDesktopList): impl.
970 * test/test-simple.c (test_desktop): test the methods.
972 2002-01-03 Michael Meeks <michael@ximian.com>
974 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
975 keystrings since we free them
976 (SPI_freeAccessibleKeySet): in here.
978 * libspi/accessible.c (spi_accessible_new): kill warning,
979 wonder what is going on with the constructor here.
981 2002-03-01 Bill Haneman <bill.haneman@sun.com>
983 * libspi/accessible.c (spi_accessible_new ()) :
984 Added check to see if AtkObject is an SpiRemoteObject before
985 creating an SpiAccessible.
987 2002-05-01 Bill Haneman <bill.haneman@sun.com>
989 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
990 Enable keygrabs using the Control modifier, now that they are
991 working properly (they were previously disabled).
994 Change the command keygrab for this demo to "Control+Alt", so as
995 to conflict with fewer other key commands on the system; this
996 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
998 Removed a pointlessly-chatty keylistener for unshifted keys
999 (shifted keys are still reported).
1001 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1003 * libspi/remoteobject.h:
1004 * libspi/remoteobject.c:
1005 Added definitions for special AtkObject subtype, required for
1006 support of remote components (specifically, used by BonoboControl
1007 accessibility implementation).
1009 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1011 * cspi/spi.h: synched relation types with ATK
1013 * cspi/spi_accessible.c: Added implementations of
1014 AcccessibleRelation_* methods
1016 * idl/Accessibility_Relation.idl: added getRelationTypeName
1017 method. Synched known relation types with ATK. Allowed for
1018 relation type extension with the RELATION_EXTENDED type.
1020 * libspi/relation.c: Provided implementations for
1021 AccessibleRelation methods.
1023 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1025 API tweaks for today's API 'freeze'.
1028 Added placeholder functions to allow future compatible expansion
1029 of the IDL interfaces.
1031 * idl/Accessibility_Registry.idl:
1032 Changed generateKeyEvent to generateKeyboardEvent. Changed
1033 signature of this method to accept an optional keystring in
1034 parameter (for complex text input synthesis) and changed use of
1035 simple 'boolean' parameter in registerKeystrokeListener to a
1036 struct, EventListenerMode.
1038 * cspi/spi_accessible.c:
1040 * cspi/spi_streamablecontent.c:
1041 Added references to AccessibleStreamableContent interface, and
1042 definition and implementation of AccessibleStreamableContent
1045 * cspi/spi_registry.c:
1047 Changed generateKeyEvent API to generateKeyboardEvent,
1048 taking a new (optional) keystring parameter to support complex
1053 Renamed directory (to better reflect its actual purpose, bridging
1054 from at-spi to ATK). The .so module is also now named
1057 * idl/Accessibility_Hypertext.idl:
1058 * libspi/accessible.c:
1059 * libspi/hypertext.h:
1060 * libspi/hypertext.c:
1061 Changed Accessibility_Hypertext to *not* derive from
1064 * cspi/spi_registry.c:
1065 Added list of legal event type names for 'window' events, which
1066 completes the registry event API.
1068 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1070 * at-bridge/bridge.c: Added registration for separate
1071 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1072 signals. If either of the first two parameters to the generic
1073 bridge signal handler are ints, they are passed on as event
1074 details. This allows an AT to determine what text was inserted.
1076 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1078 * registryd/deviceeventcontroller.c:
1079 Fixed regressions in generateKeyEvent caused by the removal of
1080 gdk_init from registryd; we now use pure X calls to connect to the
1081 display, which makes sense because deviceeventcontroller already
1082 uses a fair bit of X API (should eventually be migrated to a
1083 'portability layer').
1085 * registryd/desktop.c:
1086 Fixed minor regression in spi_desktop_init, changed the way the
1087 desktop name is being set to work with new spi_base API
1088 (gobject-based, rather than AtkObject-based).
1090 * registryd/Makefile.am:
1091 Minor revision of makefile to use XTST_LIBS variable rather than
1092 hard-wiring the Xtst LD_ADD element.
1094 * test/keysynth-demo.c:
1095 Tweaked an output message; added initialization of the
1096 'keystrings' member of the "switch listener" key_set.
1098 * libspi/relation.c:
1099 Squashed compile-time warning.
1101 * libspi/accessible.c:
1102 Cosmetic and formatting fixes, renamed a static method.
1104 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1106 * libspi/accessible.c
1108 * libspi/application.c
1111 * libspi/component.c
1112 * libspi/editabletext.c
1113 * libspi/hyperlink.c
1114 * libspi/hypertext.c
1116 * libspi/selection.c
1120 * registryd/desktop.c:
1121 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1123 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1125 * idl/Accessibility_Registry.idl:
1126 Added boolean member 'is_text' to DeviceEvent. This is for the
1127 use of key events, and helps prevent ambiguity between composed
1128 key strings and keysym names, since both may potentially be
1129 returned in the 'event_string' member.
1131 * at-bridge/bridge.c:
1132 * registryd/deviceeventcontroller.c:
1133 Use the 'is_text' member when notifying device event listeners.
1134 Knon issue: composed characters are not dealt with correctly by
1135 the global key listener implementation yet.
1137 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1139 * at-bridge/bridge.c:
1140 Namespaced local static methods to spi_atk_bridge_* where
1141 previously named bridge_*, and spi_* elsewhere.
1143 * at-bridge/bridge.c:
1144 * cspi/bonobo/cspi-bonobo-listener.c:
1145 Added demarshalling/conversion for string member of
1146 Accessibility_DeviceEvent to AccessibleKeystroke.
1148 * registryd/deviceeventcontroller.c:
1149 Added code to fill the Accessibility_DeviceEvent key string value
1150 member for global key events (i.e. from XGrabKey), to match
1151 behavior of Accessibility_DeviceEvent from the toolkit key events
1152 from the bridge. Fixed timestamp in global key event notifications.
1155 Added printout of key event's string value to
1156 report_ordinary_key_event, for demo/debugging purposes.
1158 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1160 * idl/Accessibility_Registry.idl:
1161 Removed Accessibility_KeyStroke structure in favor of generic
1162 Accessibility_DeviceEvent structure.
1163 Changed Accessibility_ControllerEventMask from a struct to an
1166 * at-bridge/bridge.c:
1167 Changed APIs to use DeviceEvent structure as above, and removed
1168 bogus casting between these event structures.
1170 * cspi/spi-listener.h:
1171 Added keystring member of AccessibleKeystroke structure, to enable
1172 matching on event "names" rather than only hardware codes and
1176 Added keystrings member of AccessibleKeySet struct, to allow
1177 matching on event names (as above).
1178 Added declarations for SPI_createAccessibleKeySet and
1179 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1180 event modmasks directly as unsigned ints rather than structs with
1181 refcounts, in the DeviceEventController methods.
1183 * cspi/spi_registry.c:
1184 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1186 * cspi/spi-roletypes.h:
1187 Added documentation of newly added SPI Roles.
1189 * cspi/bonobo/cspi-bonobo-listener.c:
1190 Changes in support of API changes above.
1192 * libspi/accessible.c:
1193 Converted APIs to use DeviceEvent structure (see IDL changes
1196 * registryd/deviceeventcontroller.c:
1197 Added DEControllerGrabMask structure to track keygrabs not only by
1198 modmask but by keyset as well; this allows us to do "global"
1199 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1200 grabbing on AnyKey and then filtering after-the-fact.
1201 Bugfixes for event filtration mean that we don't get false matches
1202 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1204 * registryd/deviceeventcontroller.c:
1205 Namespaced a number of static methods to use spi_ prefix. Major
1206 revision to internals of global (i.e. X) key grabs.
1208 * registryd/deviceeventcontroller.h:
1209 Removed keymask_list and added keygrabs_list to
1210 SpiDeviceEventController struct.
1213 Added use of SPI_createAccessibleKeySet API when creating a
1214 listener for only one key. Attach a listener to "shift spacebar
1215 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1216 X key event names to SPI key event names, so that listeners are
1217 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1219 * test/keysynth-demo.c:
1220 Changed (incorrect) use of X key event names (KeyPressed,
1221 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1224 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1226 * libspi/accessible.c:
1227 Convert all AtkRole enumerations to Accessibility_Role enums when
1228 getting a role from an AtkObject.
1230 * cspi/spi_accessible.c:
1231 Complete the conversion of Accessibility_Role enums at runtime to
1232 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1233 role enums correctly match those given in spi-roletypes.h.
1234 Re-synchronize the local names list for AccessibleRole_getName ().
1235 AccessibleRole_getName is now deprecated, since it duplicates the
1236 more reliable Accessible_getRoleName.
1237 Added some role types from Accessibility_Role.idl.
1239 * idl/Accessibility_Role.idl:
1240 Added some role types used by AtkRole.
1242 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1245 * cspi/spi_registry.c:
1247 * cspi/cspi-bonobo-listener.c:
1248 Namespaced all methods that did not begin with an "SPI_" or
1249 "Accessible" prefix to "SPI_".
1252 Homogenized internal function namespace to "cspi_" for statics.
1255 Patched tests to use the new CSPI API.
1257 * docs/reference/cspi/at-spi-cspi-sections.txt:
1258 Updated docs to reflect namespace changes, and added a number of
1259 methods to the documentation.
1261 * registryd/registry.c:
1262 Changed use of strings and string hashes in listener event
1263 matching and parse_event_string to use GQuark, which is guaranteed
1266 * registryd/registry.h:
1267 Squashed annoying warning.
1269 * idl/Accessibility_Role.idl:
1270 Extended range of available Accessibility_Role values.
1272 * cspi/spi_accessible.c:
1273 Re-ordered role names.
1275 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1277 * idl/Accessibility_Value.idl:
1278 Revert use of union back to CORBA_double, since the double type is
1279 more efficient and can contain the other types without loss of
1282 * idl/Accessibility_Accessible.idl:
1283 Added method Accessibility:Accessible:getRoleName, to complement
1284 Accessibility:Accessible:getRole.
1286 * cspi/spi_accessible.c:
1288 Added C binding for above, Accessible_getRoleName (), and changed
1289 signature of Accessible_getRole () to return an AccessibleRole.
1291 * cspi/spi-roletypes.h:
1292 Changed AccessibleRole_getName to return a char * instead of a
1293 const char *. This method is now at least temporarily deprecated
1294 in favor of asking Accessibles for their RoleNames directly.
1297 Revert to match Accessibility_Value.idl;
1301 Change signature of AccessibleValue methods to use double rather
1305 * cspi/spi_accessible.c:
1306 Changed Accessible_getRole to return an AccessibleRole enum rather
1307 than a UTF-8 string. The UTF-8 string can still be obtained via
1308 AccessibleRole_getName ().
1310 * test/test-simple.c:
1311 Add test_action. Small fixup to match API change to Accessible_getRole.
1314 Bugfix for get_action_from_servant ().
1316 2001-12-11 Michael Meeks <michael@ximian.com>
1318 * libspi/libspi.h: remove registry.h and
1319 desktop.h, deviceeventcontroller.h
1321 * libspi/Makefile.am: remove registry.[ch],
1322 desktop.[ch], deviceeventcontroller.[ch]
1324 * registryd/Makefile.am: add registry.[ch],
1325 desktop.[ch], rename registryd.c to registry-main.c.
1326 add deviceeventcontroller.[ch]
1328 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1331 Replace setenv() call with putenv ().
1333 * libspi/component.c:
1334 Bugfix in AccessibleComponent_getExtents (),
1337 2001-12-11 Michael Meeks <michael@ximian.com>
1339 * libspi/image.c (impl_getImageExtents): impl.
1340 (spi_image_class_init): upd.
1343 (AccessibleImage_getImageDescription): fix daft bug
1346 * test/test-simple.c (global_listener_cb): update
1347 to only quit if not --poke
1348 (main): catch --poke.
1349 (validate_accessible): upd. dumping, call test_image
1352 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1355 * idl/Accessibility.idl: update all IDL includes.
1357 * idl/*.idl - rename to namespace - this sucks, blame
1358 mjs' bad decision for oafd.
1360 * test/test-simple.c (create_test_window): add more tests.
1361 (create_tree): split this out.
1362 (validate_accessible): bugfix.
1364 2001-12-11 Michael Meeks <michael@ximian.com>
1366 * cspi/bonobo/cspi-bonobo-listener.c:
1367 (cspi_kestroke_listener_unref),
1368 (cspi_event_listener_unref): impl. undoing previous
1369 homenous environment - for Bill.
1371 * cspi/spi_table.c (long_seq_to_array): use
1374 * cspi/spi_main.c: split out all bonoboish bits into
1377 * cspi/spi-impl.h: upd. typedefs.
1379 * cspi/spi_registry.c: update to lowlevel API,
1380 return booleans to indicate success in some places.
1382 * cspi/spi_event.c: update to lowlevel API.
1384 * cspi/bonobo/Makefile.am: add.
1386 * cspi/bonobo/cspi-lowlevel.h: add
1388 * cspi/bonobo/cspi-bonobo.c: add
1390 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1392 * cspi/Makefile.am: remove spi-listener-impl.[ch],
1393 (SUBDIRS): add bonobo, link in the libs.
1395 * cspi/spi-util.c: kill this file.
1397 * TODO: merge in my bits.
1399 2001-12-11 Michael Meeks <michael@ximian.com>
1401 * test/test-simple.c (test_value, test_table, main):
1402 remove unused variables causing warnings.
1404 * configure.in: cleanup checks - require gail.
1406 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1409 Changed Value interface to use SValue (scalars) rather than
1410 assuming all values are floats. This allows floats, doubles,
1411 longs, shorts, and unsigned values to be manipulated.
1412 Introduced Accessibility:SValue union.
1415 Updated to use new API above, and to work correctly with GValues
1416 of different types in AtkValue.
1419 Updated to use new API above. cspi's API is as yet unchanged.
1422 Updated the Value revision action item.
1424 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1426 * test/test-simple.c:
1427 Added test_table (GtkTreeView widget in test window to follow).
1428 Un-commented test_value, added GtkRange widget.
1429 Added GtkTreeView widget with GtkListStore. It passes regression
1430 test but leaks one SPI object for some reason.
1433 Fixed bug in impl__set_currentValue.
1435 2001-12-10 Michael Meeks <michael@ximian.com>
1437 * cspi/spi_text.c: audit for exception handling,
1438 tolerating NULL object references safely etc.
1440 * cspi/spi_value.c: ditto.
1442 * cspi/spi_table.c (AccessibleTable_getSummary),
1443 (AccessibleTable_getAccessibleAt),
1444 (AccessibleTable_getRowHeader),
1445 (AccessibleTable_getColumnHeader),
1446 (AccessibleTable_getCaption): fix bugs hidden by
1448 (long_seq_to_array): impl.
1449 (AccessibleTable_getSelectedRows),
1450 (AccessibleTable_getSelectedColumns): use it.
1452 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1455 Added a TODO list (rough and short for now).
1457 * cspi/spi_hyperlink.c:
1458 * cspi/spi_hypertext.c:
1459 Fixed macro name typos, and remove use of obsolete macro in
1460 AccessibleHyperlink_getLink.
1462 * cspi/spi_action.c:
1463 * cspi/spi_accessible.c:
1464 * cspi/spi_application.c:
1465 * cspi/spi_component.c:
1466 * cspi/spi_selection.c:
1469 Documentation fixes (removed return values from ref/unref methods).
1471 2001-12-10 Michael Meeks <michael@ximian.com>
1473 * cspi/spi_action.c: audit for exception handling,
1474 tolerating NULL object references safely etc.
1476 * cspi/spi_accessible.c: ditto.
1478 * cspi/spi_component.c: ditto.
1480 * cspi/spi_editabletext.c: ditto.
1482 * cspi/spi_hyperlink.c: ditto.
1484 * cspi/spi_hypertext.c: ditto.
1486 * cspi/spi_image.c: ditto.
1488 * cspi/spi_selection.c: ditto.
1490 2001-12-10 Michael Meeks <michael@ximian.com>
1492 * configure.in: use cspi/libspi.pc.in instead.
1494 * Makefile.am (pkgconfig_DATA): upd. to match.
1496 * test/simple-at.c (report_focus_event): kill hacks around
1497 bad return values, use putenv not setenv
1499 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1500 fire ChildGone - I killed it.
1502 * libspi/component.c
1503 (impl_accessibility_component_get_extents): remove
1506 * idl/Accessible.idl: kill ChildGone exception.
1508 * cspi/*.[ch]: kill int return from ref / unref.
1510 * cspi/spi_main.c (cspi_object_add_check): fold into
1511 (cspi_object_add): here.
1513 * cspi/spi_component.c (AccessibleComponent_getExtents):
1514 handle exceptions elegantly.
1516 * cspi/spi-private.h (cspi_check_ev_return),
1517 (cspi_return_if_fail): impl.
1519 * cspi/spi_accessible.c: use extensively.
1520 (AccessibleStateSet_equals): add direct compare check.
1522 * cspi/spi_selection.c: tolerate NULL objs, and check
1523 exceptions before return.
1525 * cspi/spi-util.c (cspi_warn_ev): rename to
1526 (cspi_check_ev): this & don't pass ev in; no point.
1528 2001-12-10 Michael Meeks <michael@ximian.com>
1530 * test/test-simple.c: use putenv not setenv
1531 (get_environment_vars): more chatty if you're not using
1534 * test/simple-at.c: do the setenv so more people see the
1537 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1539 * libspi/registry.c:
1540 Changed check of CORBA_environment on notification to be a warning
1541 instead of an error for the moment, since we can recover from this
1542 error when caused by a queued notification from a dead app.
1545 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1546 used by all current implementors of AtkValue), and coerce to
1547 CORBA_float. (Proper general case fix may require change to Value.idl).
1549 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1553 * cspi/spi_accessible.c:
1554 Documentation fixes: added user_data params to documentation for
1555 listeners and callbacks.
1557 * cspi/spi_accessible.c:
1558 Changed AccessibleStateSet_compare to return a
1559 StateSet rather than return the difference set into a third parameter.
1562 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1565 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1566 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1570 Remove subdirectory po from SUBDIRS for now.
1572 * at-bridge/bridge.c:
1573 Beefed up a couple of debug printouts.
1574 One-line fix for signal notification name formatting.
1576 * libspi/accessible.c:
1577 Added assertion to spi_accessible_new ().
1579 * libspi/application.c:
1580 Put #ifdef qualifiers around a printf.
1583 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1585 * registryd/Makefile.am:
1587 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1588 INTLTOOL_SERVER_RULE macro.
1591 Added an event listener for several ATK signals, for
1592 testing and debugging. Removed a few g_warnings.
1593 Added test output if focussed item implements the Value interface.
1595 * test/test-simple.c:
1596 Added test_value () function (known not to pass at the moment, so
1597 not actually called yet.
1599 2001-12-08 Michael Meeks <michael@ximian.com>
1601 * at-bridge/bridge.c (bridge_focus_tracker),
1602 (emit_eventv): fix the same ref. leak.
1603 (register_atk_event_listeners): don't leak.
1605 * cspi/spi-listener-impl.c (cspi_event): more
1606 protection from client code.
1608 * test/test-simple.c (test_desktop): unref the app.
1610 * test/Makefile.am: upd. TESTS.
1612 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1614 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1616 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1618 * cspi/spi_registry.c: constify in strings.
1619 (deregisterGlobalEventListenerAll): don't release the ref.
1621 * cspi/spi.h: start removing redundant / conflicting
1622 gtkdoc comments, making the API readable at a glance :-)
1624 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1626 * test/keysynth-demo.c (keysynth_exit, main): upd.
1628 * test/simple-at.c (main, simple_at_exit): upd.
1630 * test/test-simple.c (unutterable_horror): kill.
1631 (utterable_normal_derefs): kill.
1632 (main): upd & do a setenv before gtk_init, so that we
1633 can use memprof - and to save the pain of remembering
1634 this, if we're running under memprof - don't exit.
1636 * cspi/spi_main.c (SPI_exit): return exit status
1638 (SPI_event_quit): impl.
1639 (SPI_event_main): simplify.
1640 (cspi_is_gnome_app): kill.
1641 (SPI_init): kill isGNOMEapp arg.
1643 * at-bridge/bridge.c (register_atk_event_listeners):
1644 re-instate the unref.
1645 (bridge_exit_func): don't re-activate the registry,
1646 protect vs. theoretical re-entry, use the
1647 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1648 assert a clean shutdown - for regression tests.
1650 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1652 * configure.in: Comment out dummy i18n support for now,
1653 otherwise it fails to build.
1654 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1655 EXTRA_DIST. They are missing in tarball.
1657 2001-12-07 Michael Meeks <michael@ximian.com>
1659 * util/magnifier.c: kill bonobo activation reg. race.
1661 * libspi/component.c
1662 (impl_accessibility_component_get_extents): make it match
1665 * libspi/registry.c (_registry_notify_listeners):
1666 re-remove X headers & reconcile conflicts.
1667 (spi_listener_struct_free): bad conflict resolve.
1668 (impl_accessibility_registry_register_application):
1669 more bad merging fixed.
1670 (impl_accessibility_registry_deregister_application): ditto.
1671 (spi_registry_new): ditto.
1672 (spi_registry_init): don't have an applications field.
1674 [ merge fixups2 branch to here ]
1675 2001-12-07 Michael Meeks <michael@ximian.com>
1677 * test/simple-at.c (report_focus_event),
1678 (report_focussed_accessible): remove g_warning debug.
1680 2001-12-07 Michael Meeks <michael@ximian.com>
1682 * test/test-simple.c (validate_tree): comment out some checks.
1683 (test_desktop): app now not registered idly - horay.
1685 2001-12-07 Michael Meeks <michael@ximian.com>
1687 * cspi/spi_registry.c
1688 (registerAccessibleKeystrokeListener): clean, stop it leaking
1689 great swathes of memory, and device event controller references.
1690 ensure we always pass valid sequences.
1691 (deregisterAccessibleKeystrokeListener): ditto.
1692 (generateKeyEvent): upd.
1694 * at-bridge/bridge.c (bridge_key_listener): handle
1695 registry dead exception gracefully.
1696 (bridge_focus_tracker, emit_eventv): free ev.
1698 * test/simple-at.c (report_focus_event): fix polarity.
1700 * libspi/application.c (notify_listeners): kill the ev
1701 argument, and make sure we init the ev we use.
1702 (spi_application_object_event_listener): split out a chunk
1703 (get_atk_object_ref): here & fixup.
1704 (reverse_lookup_name_for_toolkit_event): make const.
1705 (spi_application_toolkit_event_listener): fixup, kill leaks
1708 * at-bridge/bridge.c (register_atk_event_listeners):
1709 don't unref the noop object - causes grief.
1711 * libspi/registry.c: remove the X headers.
1712 turn off the debug churn.
1714 * libspi/accessible.c (spi_accessible_new_return): only
1715 release the ref if we are supposed to [doh]
1717 * test/simple-at.c (report_button_press, report_focus_event):
1718 guard vs. unexpected exit.
1720 * at-bridge/bridge.c (gtk_module_init): prune printf.
1721 (bridge_exit_func): fix app unref.
1723 * libspi/Makefile.am: don't install registry or desktop.h
1725 * libspi/*.h: update includes.
1727 * libspi/application.h: don't include ourself, or
1728 other redundant headers.
1730 2001-12-06 Michael Meeks <michael@ximian.com>
1732 * libspi/accessible.c
1733 (get_accessible_from_servant): impl.
1734 Upd. all CORBA impl.s to use it killing cut and paste.
1736 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1738 (SPI_init): register atexit cleanup handler here.
1740 2001-12-06 Michael Meeks <michael@ximian.com>
1742 * at-bridge/bridge.c (gtk_module_init): g_error on
1743 activation exception
1745 2001-12-06 Michael Meeks <michael@ximian.com>
1747 * at-bridge/bridge.c (gtk_module_init): some sort of
1748 confusing merge clash - reverted.
1749 (bridge_idle_init): ditto.
1751 * test/test-simple.c (main, utterable_normal_derefs):
1752 merge from Bill - somehow not committed.
1754 2001-12-06 Michael Meeks <michael@ximian.com>
1756 * libspi/value.c (spi_value_class_init): upd.
1757 (spi_value_finalize): kill.
1759 * libspi/table.c (spi_table_finalize): kill.
1760 (spi_table_interface_new): upd.
1761 (spi_table_class_init): upd.
1762 (get_table_from_servant): impl.
1763 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1765 * libspi/selection.c (spi_selection_finalize): kill.
1766 (spi_selection_interface_new): upd.
1767 (spi_selection_class_init): upd.
1768 (get_selection_from_servant): impl.
1769 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1771 * libspi/relation.c (spi_relation_finalize): kill.
1772 (spi_relation_class_init, spi_relation_new): upd
1774 * libspi/image.c (spi_image_finalize): kill.
1775 (spi_image_class_init): upd.
1776 (spi_image_interface_new): upd.
1777 (get_image_from_servant): impl.
1778 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1780 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1781 (spi_hyperlink_finalize): kill.
1782 (spi_hyperlink_new): upd.
1783 (get_hyperlink_from_servant): impl.
1784 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1786 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1787 (spi_hypertext_finalize): kill.
1788 (spi_hypertext_class_init): upd.
1789 (get_hypertext_from_servant): impl.
1790 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1792 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1793 (spi_editable_text_interface_new): upd.
1794 (get_editable_text_from_servant): impl.
1795 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1797 * libspi/text.c (get_text_from_servant): impl.
1798 All impls - update to use it killing more cut and paste,
1799 also fix bad string returns on duff args ( a somewhat
1800 impossible case to handle - but hey ).
1801 (spi_text_construct): impl.
1802 (spi_text_interface_new): upd.
1803 (spi_text_object_finalize): kill.
1805 * libspi/component.c
1806 (accessibility_component_object_finalize): kill.
1807 (spi_component_class_init): upd.
1808 (get_component_from_servant): impl. helper to kill cut & paste.
1809 (impl_accessibility_component_contains):
1810 (impl_accessibility_component_get_accessible_at_point):
1811 (impl_accessibility_component_get_position):
1812 (impl_accessibility_component_get_extents):
1813 (impl_accessibility_component_get_mdi_z_order):
1814 (impl_accessibility_component_get_layer):
1815 (spi_component_interface_new): upd.
1817 * libspi/action.c (spi_action_finalize): kill.
1818 (spi_action_class_init): upd. inherit from SpiObject.
1819 (spi_action_interface_new): upd.
1820 (get_action_from_servant): impl. helper to reduce cut & paste.
1821 (impl_getKeyBinding, impl_getName, impl_doAction),
1822 (impl_getDescription): Use it everywhere.
1824 * cspi/spi_main.c (get_live_refs): a pointer hash.
1825 (spi_object_hash, spi_object_equal): comment out.
1826 There are issues with CORBA object hashing that need
1829 * libspi/application.c (spi_application_init),
1830 (spi_application_new): upd.
1832 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1833 (spi_accessible_class_init): upd.
1834 s/accessible/object/ in epv methods.
1836 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1838 * at-bridge/bridge.c:
1839 Reorder the bridge initialization into the bridge gtk_module_init,
1840 an immediate call to bridge_register_app, and an idle_add for
1841 register_atk_event_listeners (the only code that *must* wait until
1842 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1843 the activation, creates the application's Accessible object, and
1844 queues the bridge_idle_init function. Restored call to
1845 Accessibility_Registry_deregisterApplication().
1846 Prior to making this call we obtain a new reference to the
1847 registry, which is a temporary hack that helps us handle apps that
1848 shut down the bonobo mainloop before we get there.
1850 * libspi/registry.c:
1851 Fix string leakage in debug block, and don't segv if a an app
1852 dies before its event notifications have been propagated.
1855 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1856 as stopgap measure until we get proper exception handling when
1857 objects die during or before interrogation.
1861 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1862 Also changed default value of is_gnome_app to TRUE.
1865 * test/keysynth-demo.c:
1866 Changed use of SPI_init and SPI_event_main to reflect API change above.
1869 Made report_focus_event check the warning value from getName
1870 before reporting on focussed accessible; simplifies handling of
1871 notifications from dead objects.
1873 * test/test-simple.c: (Changes not in this patch since source is
1876 2001-12-05 Michael Meeks <michael@ximian.com>
1878 * registryd/registryd.c (main): protect against
1879 bonobo-activation startup race condition.
1881 * cspi/spi_main.c (cspi_object_add_check): cope
1882 with the exception elegantly.
1884 * idl/Accessible.idl: decl. ChildGone
1886 * libspi/desktop.c (spi_desktop_dispose): impl.
1887 (spi_desktop_class_init): upd.
1888 (spi_desktop_add_application),
1889 (spi_desktop_remove_application),
1890 (abnormal_application_termination): impl.
1891 (impl_desktop_get_child_at_index): re-impl.
1894 (impl_accessibility_registry_deregister_application),
1895 (impl_accessibility_registry_register_application):
1896 kill excessive debug clutter.
1898 * test/test-simple.c (test_misc): test some NULL
1899 tolerance. (main): upd.
1901 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1902 implements no interfaces - so let's not crash.
1904 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1906 * libspi/accessible.c (spi_accessible_new_return): impl.
1907 helper to calm the cut and paste, to cope with
1908 NULL AtkObjects effectively and efficiently, and to kill
1909 the referencing bugs.
1911 * libspi/table.c (impl_getAccessibleAt),
1912 (impl_getRowHeader, impl_getColumnHeader): upd.
1914 * libspi/hyperlink.c (impl_getObject): upd.
1916 * libspi/accessible.c
1917 (impl_accessibility_accessible_get_child_at_index): upd.
1919 * libspi/component.c
1920 (impl_accessibility_component_get_accessible_at_point): upd.
1922 * test/test-simple.c (test_editable_text, test_text): impl.
1925 * cspi/spi_editabletext.c
1926 (AccessibleEditableText_insertText): constify.
1928 * test/test-simple.c (focus_me): make more robust.
1930 * libspi/accessible.c: remove some printfs in methods that
1931 we test and work fine, so we can get a clean tree dump.
1933 * test/test-simple.c (validate_accessible),
1934 (validate_tree): make tree dumping pretty too.
1936 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1937 it builds without debug on.
1939 * test/test-simple.c (validate_accessible): fix the most
1942 * cspi/spi_main.c (spi_object_release): leave the nicely
1943 blanked memory around if in debug mode.
1945 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1947 [committed to fixups2]
1948 2001-12-05 Michael Meeks <michael@ximian.com>
1950 * libspi/editabletext.c
1951 (spi_editable_text_class_init): g_type_class_peek_parent,
1952 not interface peek - so we finalize cleanly.
1954 * libspi/accessible.c (spi_accessible_new): kill debug.
1956 * test/test-simple.c (validate_accessible): fix ref.
1957 leak, print strings before freeing them; sigh, comment a
1958 chunk out due to strangeness.
1959 (validate_tree): unref the child after use.
1961 * cspi/spi_component.c (AccessibleComponent_getLayer):
1962 add missing break statement, switch on zlayer not the
1963 uninitialized retval.
1965 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1966 before (possibly re-entering) remote unref.
1968 * test/simple-at.c (main): unref the desktop.
1970 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1973 * cspi/spi_main.c (cspi_accessible_is_a): here to
1974 isolate bonobo API usage more.
1976 * libspi/registry.c (impl_accessibility_registry_register_application):
1977 prune bogus comment.
1979 2001-12-04 Michael Meeks <michael@ximian.com>
1981 * test/test-simple.c (validate_tree): upd.
1982 IndexInParent check to make it more lucid.
1983 (validate_accessible): dump the tree.
1985 * libspi/accessible.c (de_register_public_ref),
1986 (get_public_refs): impl.
1987 (spi_accessible_new): make more efficient & intuitive.
1988 Now IndexInParent check works.
1990 2001-12-04 Michael Meeks <michael@ximian.com>
1992 * cspi/spi-util.h: remove.
1994 * cspi/spi.h: move SPI_freeString here
1996 * libspi/component.c (impl_accessibility_component_get_layer):
1998 (impl_accessibility_component_get_mdi_z_order): ditto,
1999 return -1 on error - is this ok ?
2001 * test/test-simple.c (test_application): impl.
2003 * cspi/spi_accessible.c (Accessible_getApplication),
2004 (Accessible_isApplication): impl.
2006 * libspi/registry.c (spi_listener_struct_free): release
2007 the CORBA reference too.
2009 * libspi/accessible.c
2010 (impl_accessibility_accessible_get_parent): fix ref leak.
2012 * libspi/registry.c (spi_registry_new): make the registry
2013 immortal - we don't want it to go away ever.
2015 * libspi/application.c
2016 (spi_accessible_application_finalize): impl. cleanup.
2018 * cspi/spi_registry.c
2019 (deregisterGlobalEventListenerAll),
2020 (deregisterGlobalEventListener),
2021 (deregisterAccessibleKeystrokeListener): fix ref leak.
2023 * cspi/spi_main.c (SPI_init): remove redundant ref.
2025 * test/test-simple.c (unutterable_horror): impl. to force a
2030 (impl_accessibility_registry_deregister_application): release
2031 the application when we de-register it.
2033 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2034 until we have the infastructure to get it right.
2036 2001-12-03 Michael Meeks <michael@ximian.com>
2038 * libspi/Makefile.am: only build eventlistener.[ch]
2040 * libspi/accessible.c
2041 (impl_accessibility_accessible_get_child_at_index): don't leak.
2043 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2044 before we hit the idle handler.
2046 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2047 debugging than exit.
2049 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2051 * libspi/listener.c (impl_notify_event): check source
2052 not NIL before unref.
2054 * libspi/registry.c (impl_registry_notify_event): ditto.
2056 * libspi/eventlistener.c
2057 (impl_accessible_event_notify_event): unref the source.
2059 * libspi/accessibleeventlistener.c
2060 (impl_accessible_event_notify_event): unref the source.
2062 * idl/Event.idl: remove 'hash_id' attribute - of no
2065 * libspi/application.c (notify_listeners): upd list
2067 (spi_application_object_event_listener),
2068 (spi_application_toolkit_event_listener): upd to do correct
2072 (_registry_notify_listeners): update.
2073 (parse_event_type): this method also leaks like a sieve.
2074 (impl_accessibility_registry_deregister_global_event_listener):
2075 fix ETYPE_WINDOW case.
2077 * libspi/application.c
2078 (impl_accessibility_application_register_object_event_listener):
2081 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2083 * libspi/hypertext.c (impl_getLink): ditto.
2085 * cspi/spi_main.c (cspi_object_add): remove
2086 bogus CORBA_Object_duplicate.
2088 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2091 * cspi/spi_accessible.c
2092 (Accessible_getRelationSet): fix leak / referencing issue.
2094 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2095 (cspi_object_add, cspi_object_unref): upd.
2096 (spi_object_release, get_live_refs): impl.
2097 (cspi_cleanup): simplify.
2099 * *.[ch]: s/boolean/SpiBoolean/
2101 * cspi/spi_accessible.c (role_names): actualy order so it
2102 corresponds with the enum !
2104 * test/test-simple.c (test_roles): check some role strings
2105 vs. enums to detect offset errors.
2107 2001-12-01 Michael Meeks <michael@ximian.com>
2109 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2111 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2113 (Accessible_getChildAtIndex): use cspi_add_check so we
2114 check the ev before using a (possibly) invalid value.
2116 * libspi/accessible.c
2117 (impl_accessibility_accessible_get_parent): don't segv
2120 * at-bridge/bridge.c (gtk_module_init): upd.
2121 (bridge_property_event_listener): don't leak strings
2123 (bridge_state_event_listener),
2124 (bridge_property_event_listener): don't use a static
2125 buffer in case of recursive event emission &
2126 re-enterancy - split out the swathe of cut and paste
2128 (emit_eventv): and fix 2 ref leaks here & comply to the
2130 (bridge_register_app): rename to
2131 (bridge_idle_init): this and kill arg parsing, split
2132 various inits & bonobo-activation registration to module
2133 init time, kill referencing error.
2134 (bridge_exit_func): fix the same leak.
2135 (bridge_focus_tracker): don't leak event structures
2137 (bridge_signal_listener): more leakage and cut & paste
2139 (bridge_key_listener): return the result - FIXME is
2140 this polarity correct ?
2141 (accessibility_keystroke_from_atk_key_event): rename
2142 (accessibility_init_keystroke_from_atk_key_event): and stop
2144 (gtk_module_init): return a value - not that it is checked by
2146 (bridge_key_listener): register my horror at casting between
2147 IDL defined structs.
2148 (bridge_get_registry): kill - not used.
2150 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2152 * test/test-simple.c (test_roles): impl.
2153 (test_desktop, validate_accessible, validate_tree): impl.
2155 * cspi/spi_accessible.c (role_names): fixup bogus
2156 MAX_ROLES setup, make constants const for efficient linkage
2157 (AccessibleRole_getName): conform to coding style, make
2160 2001-11-30 Michael Meeks <michael@ximian.com>
2162 * cspi/spi.h: add missing prototype.
2164 * libspi/registry.c (spi_listener_struct_new): fix sig.
2166 * test/Makefile.am: add test-simple
2168 * test/test-simple.c: add
2170 * test/test.sh: add.
2172 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2174 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2175 do it straight - since otherwise we often get an activation race.
2177 [ work before Bill duplicated a chunk of it ... ]
2178 2001-11-30 Michael Meeks <michael@ximian.com>
2180 * libspi/keystrokelistener.c
2181 (spi_keystroke_listener_class_init): fixup arg
2184 * libspi/eventlistener.c
2185 (spi_event_listener_class_init): ditto.
2187 * tests/test.sh: add.
2189 * cspi/spi-listener-impl.h: update macros.
2191 * cspi/spi-listener-impl.c
2192 (cspi_event_listener_remove_callback): add
2193 correct pre-conditions.
2195 * cspi/spi_main.c (SPI_exit): guard vs. double
2196 exits, exit the mainloop nicely.
2197 (SPI_event_main): make more sense.
2198 (SPI_init): move the atexit evilness here so we
2199 always do it (yuck).
2200 (SPI_event_main): upd.
2202 * test/simple-at.c: update for listener changes.
2204 * registryd/registryd.c (main): prune kruft.
2206 * libspi/libspi.h: upd.
2208 * libspi/eventlistener.[ch]: rename broken macros.
2210 * libspi/accessibleeventlistener.[ch]: remove.
2212 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2214 * test/test-simple.c: Add - automated tests.
2216 * cspi/spi-listener-impl.c (cspi_event),
2217 (cspi_key_event): add user_data to invoke.
2218 (cspi_keystroke_listener_finalize): impl.
2219 (cspi_keystroke_listener_class_init): upd.
2222 (createAccessibleEventListener),
2223 (AccessibleEventListener_addCallback),
2224 (createAccessibleKeystrokeListener),
2225 (AccessibleKeystrokeListener_addCallback): upd.
2227 * libspi/deviceeventcontroller.c
2228 (spi_device_event_controller_check_key_event): add public proto.
2231 (impl_accessibility_registry_deregister_global_event_listener):
2232 always init listeners.
2233 (_registry_notify_listeners): yes it is.
2235 * cspi/spi-listener-impl.c (cspi_key_event):
2237 (cspi_event_listener_finalize): impl.
2238 (cspi_event_listener_class_init): hook up.
2239 (event_handler_new, event_handler_free),
2240 (event_list_remove_by_callback): impl.
2241 (cspi_event_listener_remove_callback),
2242 (cspi_keystroke_listener_remove_callback),
2243 (cspi_keystroke_listener_add_callback),
2244 (cspi_event_listener_add_callback): upd.
2246 * libspi/keystrokelistener.c
2247 (keystroke_listener_object_finalize): kill
2248 (spi_keystroke_listener_class_init): upd.
2249 (spi_keystroke_listener_add_callback),
2250 (spi_keystroke_listener_remove_callback): kill,
2252 (impl_key_event): prune drasticaly.
2254 * libspi/eventlistener.c
2255 (spi_event_listener_add_callback),
2256 (spi_event_listener_remove_callback): kill, use
2258 (impl_accessible_event_notify_event): upd.
2259 (spi_event_listener_object_finalize): remove.
2261 * libspi/Makefile.am: use eventlistener.[ch]
2263 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2265 * libspi/registry.c (_registry_notify_listeners):
2266 Changed listener loop iteration to use preferred convention.
2267 Got rid of string memory leaks caused be calling g_strconcat
2268 inside function calls.
2270 * libspi/registry.c (parse_event_type):
2271 Stopped g_strconcat memory leaks, free the g_strsplit return,
2272 g_strdup the split pieces when used, etc.
2274 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2277 Change method 'compare' to return a 'difference set' rather than
2278 taking a StateSet as an out parameter (more Java-friendly).
2280 * idl/Accessible.idl:
2281 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2283 * idl/Component.idl:
2285 Changed methods 'getExtents' and 'getImageExtents' in these
2286 interfaces to return a BoundingBox structure.
2287 (getPosition and getSize are redundant and possibly should be
2288 removed, rather than creating a corresponding Point struct.)
2290 * cspi/spi_component.c:
2291 Modify implementation of getExtents to reflect the above IDL
2296 Add (missing) AccessibleImage_getExtents () API.
2298 * docs/reference/cspi/at-spi-cspi-sections.txt:
2299 Added AccessibleImage_getImageExtents () to docs.
2301 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2303 * idl/Component.idl:
2304 Added two methods, getLayer () and getMDIZOrder (), to reflect
2305 the new ATK methods atk_object_get_layer and
2306 atk_object_get_mdi_z_order. (Which arguably should be part of the
2307 AtkComponent API and AtkObject). Also added an enum,
2308 ComponentLayer, for the first method's return value.
2310 * libspi/component.c:
2311 Added implementations for these methods.
2313 * cspi/spi_component.c:
2315 Added cspi binding methods for above,
2316 AccessibleComponent_getLayer() and
2317 AccessibleComponent_getMDIZOrder().
2318 Added cspi enum 'AccessibleComponentLayer'.
2320 * docs/reference/cspi/at-spi-cspi-sections.txt:
2321 Added above methods to docs.
2325 Changed typedef for 'boolean' type (and all references to it) to
2326 SPIBoolean, to avoid keyword clashes with C++.
2329 Changed usages of 'boolean' to SPIBoolean.
2331 * test/keysynth-demo.c:
2332 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2333 app), except where SPIBoolean is required by the callbacks API.
2335 2001-12-02 Bill Haneman <bill.haneman@sun.com>
2337 * cspi/spi_registry.c:
2338 Removed obsolete X event loop for passive keygrabs (which now
2341 * registryd/registryd.c:
2342 Removed unnecessary call to gdk_init() [cruft]. This also allows
2343 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2346 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2348 * docs/reference/cspi:
2349 Included docs for SPI_freeString in generated documentation.
2352 Renamed spi_freeString to SPI_freeString, for consistency. Added
2353 documentation for this function.
2356 Renamed spi_freeString to SPI_freeString, for consistency.
2357 Removed obsolete method declaration string_from_corba_string.
2359 * test/keysynth-demo.c:
2360 Small tweak to comments.
2363 Stopped leaking the strings returned from CSPI.
2365 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2367 Merged Michael's branch (see his ChangeLog entries below).
2369 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2370 bridge is alive, release on exit.
2372 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2373 Fix type check macro.
2376 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2379 Added is_gnome_app static, and method cspi_is_gnome_app(),
2380 so we can call the appropriate shutdown routine at exit in SPI_exit.
2382 * cspi/spi_main.c (cspi_object_ref):
2383 Duplicate the corba object passed in, since we're keeping it around.
2385 * cspi/SPI_exit.c, cspi_cleanup:
2386 Moved the releasing of the live refs to its own function, so we
2387 can put it in g_atexit (). Call the appropriate shutdown API
2388 depending on whethe calling client is a gnome app or not
2389 (bonobo_main_quit or CORBA_ORB_shutdown).
2391 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2392 Unref the listener when this method is called, after
2393 deregistration. Updated the API docs to note this behavior.
2395 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2396 Bugfixes: Ref the bonobo object when returning a parent or child
2397 reference, or an AccessibleRelation. Generally made sure
2398 BonoboObject refcount is incremented whenever we return an
2401 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2402 Fixed typo/bug in signal declaration.
2404 * libspi/accessibleeventlistener.h:
2407 * libspi/application.c (spi_application_new):
2408 Fixed leak in initialization.
2411 Remembered to increment bonobo-object refcount when returning
2412 children (applications) from desktop object.
2413 Added (empty) finalize method.
2415 * libspi/deviceeventcontroller.c:
2416 Hold a ref to listeners inside DEControllerKeyListeners.
2417 Added dec_key_listener_free() method. Use prepend instead of
2418 append in key_listener list. Fixed some refcount madness and
2419 leaks in the listener registration/deregistration - deregistration
2420 now calls dec_key_listener_free() on listeners, and on the
2421 temporarily constructed dec_key_listener() used to perform the search/match.
2423 * libspi/hypertext.c (spi_hypertest_finalize):
2424 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2425 class. Also fixed spi_hypertext_interface_new() and
2426 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
2428 * libspi/hypertext.h:
2429 Removed pointless and duplicate AtkObject pointer from
2432 * libspi/keystrokelistener.c:
2433 Fixed incorrect type of keystroke_listener_parent_class,
2434 renamed keystroke_listener_object_finalize to
2435 spi_keystroke_listener_object_finalize.
2436 Fixed typo in signal declaration
2437 (spi_keystroke_listener_class_init).
2439 * libspi/registry.c:
2440 Added funcsions spi_listener_struct_new() and
2441 spi_listener_struct_free() to help with memory management issues.
2442 We also now use these methods instead of gnew + poking stuff into
2443 the struct, and to decrement listener counts/free the listeners
2444 when deregistering them.
2445 Fix more refcount bugs in getDesktop() and
2446 getDeviceEventController().
2449 De-ref the desktop after enumerating the applications. Explicitly
2450 decrement the refcounts on the created listeners on exit (using
2451 _unref for keystroke listeners, and via the
2452 deregisterGlobalEventListenerAll command for other event
2455 2001-11-27 Michael Meeks <michael@ximian.com>
2457 * cspi/spi-listener.h: fixup enum.
2459 2001-11-27 Michael Meeks <michael@ximian.com>
2461 * cspi/spi-listener-impl.c (cspi_event_listener_new),
2462 (cspi_keystroke_listener_new): Use the cspi variants.
2464 2001-11-26 Michael Meeks <michael@ximian.com>
2466 * test/keysynth-demo.c: fix 2 compile warnings, missing
2469 * test/simple-at.c (report_focussed_accessible),
2470 (report_focus_event, report_button_press),
2471 (check_property_change, is_command_key),
2472 (report_ordinary_key_event, report_command_key_event): upd.
2474 * util/mag_client.h: include pre-requisites.
2476 * libspi/accessibleeventlistener.c
2477 (spi_event_listener_object_finalize): free any lingering
2480 * libspi/keystrokelistener.c
2481 (keystroke_listener_object_finalize): ditto.
2483 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2484 callbacks, with cspi types.
2486 * cspi/spi_event.c (createAccessibleEventListener): chain to
2487 (AccessibleEventListener_addCallback): here.
2488 (createAccessibleKeystrokeListener): chain to
2489 (AccessibleKeystrokeListener_addCallback): here.
2491 * libspi/keystrokelistener.c
2492 (spi_keystroke_listener_class_init): add signal.
2493 (impl_key_event): emit the event.
2494 (boolean_handled_accumulator): impl.
2495 (marshal_BOOLEAN__POINTER): add, gack.
2497 * libspi/accessibleeventlistener.c
2498 (spi_event_listener_class_init): add signal.
2499 (impl_accessible_event_notify_event): emit the signal &
2500 make the loop efficient.
2501 (spi_event_listener_add_callback): prepend the callback.
2503 * libspi/accessibleeventlistener.h: add an 'event' signal,
2504 decl type on callback.
2506 * libspi/keystrokelistener.h: ditto.
2508 * cspi/spi-listener.h: make methods typesafe and
2509 make them use the new event typedefs.
2511 * test/simple-at.c (report_focussed_accessible):
2512 include mag_client.h
2513 Use *(void *)text_interface not the other thing.
2515 * configure.in: add gtk to registryd bits - since we use
2518 * util/magnifier.c: include libbonobo.h
2520 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2522 * test/keysynth-demo.c:
2523 Turned this into a simple scanning keyboard, to demonstrate the
2524 use of g_timeout_add () as a means of creating timers for
2525 scanning, and the use of GtkStyle for visually indicating when
2526 virtual keyboard elements are selected.
2528 keysynth-demo now listens to any keyboard keys with zero-valued
2529 keycodes (i.e. 'unused' keys) and interprets them as
2532 Reworked the shiftlatch code so that shift-down state isn't held
2533 for long periods (it's only synthesized immediately prior to
2534 the keysynth event it's modifying). Note that shiftlatch in this
2535 demo is a convenience, not intended to take the place of AccessX
2536 which is the better choice for getting 'sticky' modifier keys.
2538 * libspi/deviceeventcontroller.c:
2539 * at-bridge/bridge.c:
2540 * cspi/spi_registry.c:
2541 Removed some debug print stuff, and put other verbosity in #ifdef
2546 Implemented some more of the magnifier IDL for the simple
2547 magnifier: namely, getZoomRegionParams.
2548 Added mag_x and mag_y members to MagnifierData struct, aid of this
2550 Added GtkWindow::realize signal handler to magnifier, to keep it
2551 from receiving keyboard focus from the WM.
2553 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2555 * cspi/spi-private.h: my guess at what michael forgot
2556 before he ran off to NZ :-)
2558 2001-11-23 Michael Meeks <michael@ximian.com>
2560 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2561 comment out non existant method invoke so we link.
2563 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2564 use bonobo_exception_get_text for more friendly warnings.
2566 * cspi/spi.c (Obj_Add): move into spi_main & rename
2567 spi_object_add; kill spi.c
2569 * cspi/spi_registry.c
2570 (deregisterGlobalEventListener),
2571 (deregisterGlobalEventListenerAll),
2572 (registerGlobalEventListener): fix exception leaks.
2574 * cspi/spi_main.c (spi_exception): impl. helper, so we
2575 don't leak exceptions.
2577 * cspi/spi_selection.c
2578 (AccessibleSelection_deselectSelectedChild): return the
2581 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2582 (spi_registry): ditto.
2583 (SPI_init): guard against double inits.
2585 * cspi/*.c: use spi_ev (), and spi_registry () where
2586 appropriate - a temporary hack until we have something
2587 better. Use spi_object_add
2589 2001-11-22 Michael Meeks <michael@ximian.com>
2591 * cspi/Makefile.am: re organise, install the headers.
2593 * cspi/*.h: add G_BEGIN/END_DECLS
2595 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2598 Added non-preemptive keylistener for key events with no modifiers
2599 and shift-only modifier.
2601 * libspi/keystrokelistener.c:
2602 Removed some verbose diagnostics printout.
2604 * cspi/spi_registry.c:
2605 Fixed a bug that caused all key listeners to be registered as
2608 * libspi/deviceeventcontroller.c:
2609 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2610 for non-preemptive key masks.
2613 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2615 * docs/reference/idl/at-spi-idl-docs.sgml:
2616 * docs/reference/idl/at-spi-idl-sections.txt:
2617 * docs/reference/idl/at-spi-idl-overrides.txt:
2618 Added missing files.
2620 * docs/reference/Makefile.am:
2621 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2622 to scan the IDL files :-(
2627 Added .cvsignore files.
2629 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2631 * libspi/deviceeventcontroller.c:
2632 * libspi/keystrokelistener.c:
2634 * cspi/spi_registry.c:
2635 Added filters for KeySets, KeyEventSeq, and event types to key
2636 event dispatching, so listeners should only receive those events
2637 that they requested :-)
2639 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2644 * docs/reference:Makefile.am:
2645 * docs/reference/cspi:
2646 * docs/reference/cspi:Makefile.am:
2647 * docs/reference/cspi:tmpl:
2648 * docs/reference/cspi:tmpl:*.sgml:
2649 * docs/reference/idl:
2650 * docs/reference/idl:Makefile.am:
2651 * docs/reference/idl:at-spi-idl-sections.txt:
2652 * docs/reference/idl:at-spi-idl-docs.sgml:
2653 * docs/reference/idl:tmpl:
2654 * docs/reference/idl:tmpl:*.sgml:
2656 Restructured docs directory to allow separate 'reference' docs
2657 section, and forked idl and cspi docs. Added the sgml template
2658 files to CVS. Added the first sections/structural sgml for the
2661 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2663 * configure.in, libspi/Makefile.am: find libXtst.
2665 2001-11-21 Michael Meeks <michael@ximian.com>
2667 * test/accessx-gui.c: s/spi_value/value/ - doh.
2669 * libspi/base.[ch]: add.
2671 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2673 * idl/Accessible.idl:
2674 * idl/Application.idl:
2677 Started gtk-doc cleanup on IDL.
2679 * libspi/deviceeventcontroller.c:
2680 Added and connected non-preemptive key notification from the
2681 toolkits (in addition to the pre-emptive support from XServer
2682 which we had before, but which causes 'focus flashing'). Filters
2683 are presently limited to key modifiers and global/non-global,
2684 KeySets are presently ignored, as are KeyEvent masks.
2686 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2687 structs into the persistant structure rather than just storing
2688 pointers to things that might not persist across servant
2691 The XGrabKey call now does async keygrabs, because synchronous
2692 ones were deadlocking with GDK_event code in a very nasty way.
2694 Added boolean to internal method notify_keylisteners, to indicate
2695 whether the event came from the 'toolkit source' or the 'global
2696 (XServer) source' - this is used in the notification process to
2697 determine which listeners to send the event to.
2699 deviceeventcontroller.c is now warning-free.
2701 * libspi/registry.c:
2702 Fixed regression in application de-registration.
2703 Also fixed some really brain-dead weirdness having to do with
2704 event dispatching - event structs are now duplicated before being
2705 re-marshalled in the dispatch to listeners. This also fixes a
2706 Solaris build problem.
2709 2001-20-11 Michael Meeks <michael@ximian.com>
2712 (impl_accessibility_registry_deregister_global_event_listener):
2715 * libspi/deviceeventcontroller.c
2716 (spi_device_event_controller_check_key_event): return
2717 FALSE on no virtual method.
2719 * libspi/*..h: make includes work on a correctly pathed install.
2721 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2723 * libspi/application.h: kill unused ( and whacked out )
2724 gboolean *spi_application_set_id (AtkObject *app, long id);
2726 2001-20-11 Michael Meeks <michael@ximian.com>
2728 * libspi/*.[ch]: further convert to bonobo's type func
2729 macros, remove redundnant casts etc.
2731 * libspi/text.c s/accessibility_text/spi_text/g,
2732 re-order to de-cruft.
2734 * libspi/hypertext.c: re-order to kill a huge slew
2735 of redundant forward decls.
2737 * libspi/relation.c: ditto.
2739 * libspi/image.c: ditto.
2741 * */.cvsignore: update
2743 2001-20-11 Michael Meeks <michael@ximian.com>
2745 * libspi/deviceeventcontroller.c
2746 (_controller_register_with_devices): use g_getenv,
2747 kill stdlib.h include.
2749 * libspi/keystrokelistener.c
2750 (spi_keystroke_listener_get_type): kill
2751 (spi_keystroke_listener_class_init),
2752 (spi_keystroke_listener_init): rename to this.
2754 * libspi/text.c (impl_getAttributes): fix warning / bug.
2756 * libspi/*.[ch]: more headers, includes and over commenting.
2758 2001-20-11 Michael Meeks <michael@ximian.com>
2760 * libspi/*.[ch]: fixup headers, includes and over commenting.
2762 * libspi/image.c (impl__get_imageDescription): const
2763 correctness warning fix. remove redundant casting.
2765 * libspi/table.c (impl_getRowDescription): ditto.
2766 (impl_getColumnDescription): ditto.
2768 * libspi/libspi.h: add.
2770 2001-19-11 Michael Meeks <michael@ximian.com>
2772 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2774 * libspi/component.c (accessibility_component_get_type):
2775 rename to (spi_component_get_type): and macroify.
2776 (accessibility_component_init): rename to
2777 (spi_component_init): this
2778 (accessibility_component_class_init): rename to
2779 (spi_component_class_init): this
2781 * libspi/action.c (spi_action_get_type): kill, use the macro.
2783 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2786 * libspi/application.c (spi_application_object_event_listener),
2787 (impl_accessibility_application_register_object_event_listener):
2788 warning fixes / const understanding updates.
2790 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2793 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2795 * libspi/spi_accessible.c: Added docs and C bindings for
2796 AccessibleStateSet. (No implementations yet). Documentation
2797 coverage for C bindings now 100%. Made docs for event listeners
2802 boolean notifyListenersSync (in DeviceEventListener listener,
2803 in DeviceEvent event);
2805 oneway void notifyListenersAsync (in DeviceEventListener listener,
2806 in DeviceEvent event);
2808 Added DeviceEventListener and DeviceEvent structs (may deprecate
2809 KeyStroke and KeystrokeListener in favor of this generic
2810 event/listener framework for devices).
2812 * libspi/deviceeventcontroller.c:
2814 Changed some key listener code to take masks, etc., and paved the
2815 way for integration of toolkit/non-preemptive key events. Changed
2816 signatures of some internal methods.
2818 * at-bridge/bridge.c:
2819 Fixed regression connecting to interface signals, apparently
2820 caused by GTK+ changes.
2822 Added an internal bridge_state_listener to deal with
2823 property-change:accessible-state signals.
2825 Changed the key_listeners GList to store structs (including masks,
2826 etc.) instead of just CORBA_Objects (required for full
2827 implementation of key listener API).
2829 Connected the bridge to all currently supported Atk signals.
2830 Events now supported:
2831 object:property-change
2832 object:property-change:accessible-name
2833 object:property-change:accessible-state
2834 object:property-change:accessible-description
2835 object:property-change:accessible-parent
2836 object:property-change:accessible-value
2837 object:property-change:accessible-role
2838 object:property-change:accessible-table-caption
2839 object:property-change:accessible-table-column-description
2840 object:property-change:accessible-table-column-header
2841 object:property-change:accessible-table-row-description
2842 object:property-change:accessible-table-row-header
2843 object:property-change:accessible-table-summary
2844 object:children-changed
2845 object:visible-data-changed
2846 object:selection-changed
2847 object:text-selection-changed
2849 object:text-caret-moved
2851 object:row-reordered
2853 object:column-inserted
2854 object:column-reordered
2855 object:column-deleted
2856 object:model-changed
2858 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2860 * libspi/hyperlink.c,h:
2861 Fixed some broken stuff in hyperlink.
2863 * libspi/relation.h:
2864 * libspi/relation.c:
2865 * cspi/spi_accessible.c:
2866 Initial implementations of AccessibleRelation methods, and docs.
2868 * libspi/accessible.c:
2869 Fixed a bug that caused SEGV if an accessible
2870 object's description is NULL, and a client
2871 requests it. An empty string is now returned.
2873 * cspi/spi_editabletext.c:
2874 * cspi/spi_hypertext.c:
2876 * cspi/spi_hyperlink.c:
2880 Doc coverage now 95%.
2882 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2884 One last namespacing revision:
2885 * libspi/accessibleeventlistener.[ch]:
2886 Renamed SpiAccessibleEventListener to SpiEventListener,
2887 (no need for two namespaces ;-)
2889 And lots of documentation fixes:
2891 * docs/at-spi-docs.sgml:
2892 Fixed 'underscore vs. hyphen' bug that was preventing
2893 the gtk-doc API docs from being automatically generated.
2896 * cspi/spi-listener.h
2898 * cspi/spi_accessible.c
2900 * cspi/spi_application.c
2901 * cspi/spi_component.c
2902 * cspi/spi_editabletext.c
2904 * cspi/spi_hypertext.c
2906 * cspi/spi_registry.c
2907 * cspi/spi_selection.c
2911 * docs/at-spi-docs.sgml
2912 * docs/at-spi-sections.txt
2914 Added and fixed up gtk-doc documentation in cspi.
2916 Interfaces now (fully) documented (subject to revision and enhancement):
2918 Event Listener Support
2920 AccessibleApplication
2924 AccessibleEditableText
2931 AccessibleRelationSet
2936 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2938 * at-bridge/bridge.c:
2939 Initial work for toolkit-level key snooper connection by bridge.
2944 New typedefs and fixes to support new namespacing, and cleaner
2945 separation of cspi bindings from libspi bonobo implementation.
2946 Removed inconsistent and extraneous Spi* namespace prefix that
2947 had crept into cspi headers.
2948 Lots of comment fixes that sed had missed.
2950 * cspi/spi-roletypes.h:
2951 * cspi/spi-statetypes.h:
2952 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2953 to AccessibleRoleType.
2955 * libspi/accessibleeventlistener.h:
2956 Fixed minor namespacing weirdness.
2958 * libspi/deviceeventcontroller.c:
2959 Reordered some internal API for device listeners.
2960 Changed the key registry final boolean to 'is_system_global'
2961 rather than 'is_synchronous', which is more descriptive of its
2963 Added spi_device_event_controller_new().
2964 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2966 * libspi/keystrokelistener.[ch]:
2967 Namespaced KeystrokeListener to SpiKeystrokeListener.
2968 Changed uses of keymasks to use SPI_ prefix, and did other
2971 * libspi/keymasks.h:
2972 Namespaced keymask constants with SPI_ prefix.
2974 * libspi/registry.c:
2975 Some warning fixes, and knock-on fixes from namespace changes.
2978 Added rules for accessx-gui test program.
2980 * test/accessx-gui.c:
2981 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2982 utility. It doesn't actually use at-spi, but it's still cool and
2985 * test/keysynth-demo.c:
2989 Fixes so that these test clients work properly with the namespaced
2990 libraries. (Incompletely tested for technical reasons, fixes may follow)
2993 2001-13-11 Michael Meeks <michael@ximian.com>
2995 * libspi/application.c
2996 (impl_accessibility_application_get_version),
2997 (impl_accessibility_application_get_toolkit_name):
2999 (impl_accessibility_application_set_id),
3000 (impl_accessibility_application_get_id): remove
3001 redundant casting code.
3003 * libspi/action.c (impl_getDescription): fix warnings.
3005 * libspi/accessible.c
3006 (impl_accessibility_accessible_get_parent),
3007 (impl_accessibility_accessible_get_child_at_index),
3008 (impl_accessibility_accessible_get_state),
3009 (impl_accessibility_accessible_get_relation_set):
3010 warning fixes & include action.h
3012 2001-13-11 Michael Meeks <michael@ximian.com>
3014 * *.[ch] fix bits I screwed up:
3016 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3017 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3019 2001-13-11 Michael Meeks <michael@ximian.com>
3021 * *.[ch] Namespace libspi into spi_ and Spi.
3023 2001-13-11 Michael Meeks <michael@ximian.com>
3025 * Makefile.am: dist & install at-spi-1.0.pc
3027 * libspi/Makefile.am: install into at-spi-1.0
3029 * idl/Makefile.am (idldir): install into at-spi-1.0
3031 * at-spi-1.0.pc.in: add.
3033 * configure.in: build it.
3035 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3037 * test/keysynth-demo.c:
3038 Use a 'realize' signal-handler to set the WM properties for
3039 the virtual keyboard, rather than making it a "POPUP" type
3040 override-redirect window (thanks to anders carlsson for that
3043 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3046 * test/keysynth-demo.c:
3047 Added new test of key synthesis, which creates a simple
3048 (mouse-operated) onscreen keyboard. It inserts key events into
3049 the currently-focused window, thus it does not grab keyboard focus
3052 * cspi/spi_registry.c:
3053 Added C binding for AT-SPI generateKeyEvent.
3055 * libspi/deviceeventcontroller.c:
3056 Added call to XFilterEvent so that key listener works with XIM (we
3057 hope). Added event_synth_type to generateKeyEvent, so that we can
3058 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3059 synthesize a press/release pair for KeySyms.
3061 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3063 * libspi/Makefile.am:
3064 * registryd/Makefile.am:
3065 (temporary) hack to include libXtst in libspi and registryd.
3066 (Needed for keystroke synthesis, see below).
3069 Improved API for registerKeystrokeListener, in accordance with
3070 discussions with Gnopernicus team and X server research.
3072 * libspi/registry.c:
3073 * libspi/deviceeventcontroller.c:
3074 * libspi/accessible.c:
3075 * libspi/keystrokelistener.c:
3076 Changes and fixes to support keylisteners for potentially
3077 consumed key events (that is, 'passive grabs').
3078 Added implementation for generateKeyEvent() [untested].
3081 Changes to registerKeystrokeListener() API, as above.
3082 Added deregisterGlobalEventListenerAll(), and
3083 deregisterKeystrokeListener(), which are needed for clean exit of
3085 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3086 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3088 * cspi/spi_registry.c:
3089 Added implementations of function prototypes mentioned above.
3091 * registryd/registryd.c:
3092 Added the key listener event source as a g_timeout(), to allow
3093 receipt of key events that are not caught by GDK (since GDK
3094 doesn't support passive keygrabs, this was necessary).
3097 Changed to attach a keylistener to 'Alt' keys, and
3098 respond to the following keycommands: Alt-M (toggle magnifier);
3099 Alt-F (toggle speech); Alt-Q (quit).
3100 Added an exit routine to deregister the listeners, and a key
3101 listener that prints some key info to the console when a key
3102 matches the listener mask (and is thus received by the listener).
3104 * util/idl/Magnifier.idl:
3105 Changes to magnifier API to support multiple zoom regions,
3106 non-uniform scaling in x and y, markDirty, and a host of other
3107 features that would be useful to magnification.
3110 * util/mag_client.c:
3111 * util/mag_client.h:
3112 * util/mag_control.c:
3114 Source code changes to support the above IDL changes.
3117 As above, and also changes to use a (slower) generic conversion
3118 path for colormap conversions, since the fast RGB conversions have been
3119 reported to fail for 16-bit displays.
3121 2001-10-26 Michael Meeks <michael@ximian.com>
3123 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3125 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3127 * at-bridge/Makefile.am: fix LDFLAGS.
3129 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3131 * at-bridge/bridge.c:
3132 Re-worked listeners for toolkit events, now we have signal
3133 and property listeners. Added a private method
3134 register_atk_event_listeners(), which registers with the
3135 various atk and gtk signals we need to monitor in order to emit
3137 Added emission hook for AtkObject:property-change events, to
3138 support the 'property listeners'.
3139 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3142 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3143 which emit warnings and exit, respectively, if CORBA errors occur
3144 during remote calls, and we now use these methods to check most of
3145 our CORBA calls in the C bindings.
3147 * cspi/spi_accessible.c:
3148 Changed AccessibleSelection_refSelectedChild() to
3149 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3150 now increment refcounts.
3152 * cspi/spi_component.c:
3153 Fixed some long pointer casts (dangerous!) to pass pointers to
3154 CORBA_longs of the proper type to the CORBA stubs, and copy the
3155 data into the longs that were passed into the C bindings code.
3157 * at-bridge/bridge.c:
3159 * libspi/accessible.c:
3160 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3161 hyperlinks, AtkHyperlink is an object type.
3163 * libspi/application.c:
3164 Added various conversions to and from "generic" event types and
3165 atk-specific types; this is really part of the 'bridge'
3166 implementation but is valid for all AtkObject-based accessibility
3169 * libspi/editabletext.c:
3170 Fixed nasty bug wherein editable text's finalize method was
3171 unref'ing tha AtkObject reference that the text parent class was
3172 about to unref _again_. There was also a nasty inheritance bug
3173 that meant that the AccessibleEditableText class was corrupt.
3175 * libspi/selection.c:
3176 Provided implementations for some selection API that was broken.
3178 * idl/Application.idl:
3179 Added registerObjectEventListener () method.
3182 Fixed a number of return values that were Bonobo_Unknowns from
3183 bonobo_object_corba_objref(), which I
3184 forgot to dup before returning. Changed instances of
3185 bonobo_object_corba_objref (bonobo_object(o)) to
3186 BONOBO_OBJREF(o), for concision and clarity.
3188 <2001-10-13 Louise Miller <louise.miller@sun.com>
3190 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3191 idl/Event.idl, idl/Registry.idl
3192 Changed these files to include Bonobo_Unknown.idl instead
3195 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3197 * libspi/component.c libspi/component.h:
3198 Fixed typo. Added assertions for object checks in
3199 AccessibleComponent code.
3201 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3203 * idl/Accessible.idl:
3204 Added 'isEqual (Accessible *object)'
3205 method for Accessible. (Not Yet Implemented).
3208 Changed signature of registerKeystrokeListener() to
3209 take a KeySet and KeyEventSeq so that specific keys and event
3210 types could be requested for monitoring, and added a flag
3211 is_synchronous so that either synchronous or asynchronous
3212 notification could be requested. (However this is not all
3213 implemented yet). This also meant adding two new typedefs,
3214 KeyEventSeq and KeySet.
3217 Added two new relations, RELATION_TOOLTIP_FOR and
3218 RELATION_LEAFNODE_OF.
3221 Added new state, STATE_HAS_TOOLTIP.
3223 * libspi/text.c, editabletext.c:
3224 Added new assertions to all casts of bonobo-objects from
3225 CORBA servants, to prevent Text API calls on non-text objects.
3226 Changed suspect casts of int-pointer types, so that we
3227 always send a valid CORBA_long pointer to the CORBA APIs that use
3228 in/out long parameters. We then have to copy from the CORBA_long
3229 into the regular long or int for return to the C bindings, or
3230 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3233 * libspi/deviceeventcontroller.c:
3234 Cleaned these sources up.
3236 Changed return type for getCharacterAtOffset to
3237 CORBA_unsigned_long, to allow for 32-bit characters.
3240 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
3244 Fixed 'make dist' so that distro compiles...
3245 * libspi/keymasks.h:
3247 * cspi/spi-listener.c:
3248 KeystrokeListenerCB now returns a boolean.
3250 Added KeyEventType struct, and KeyStroke.
3251 Also added createKeystrokeListener(),
3252 KeystrokeListener_addCallback(),
3253 KeystrokeListener_removeCallback(), and added a keymask to
3254 registerKeystrokeListener().
3255 * cspi/spi_accessible.c:
3256 Changed numerous return types for interfaces from
3257 AccessibleComponent to Accessible<InterfaceName>; this was
3258 probably a cut-and-paste error.
3260 Implementations of new KeystrokeListener api (from spi.h,
3263 Changes to key modifier mapping.
3264 Created ControllerEventMask struct.
3265 Made DeviceEventController derive from Bonobo::Unknown.
3267 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3268 * libspi/deviceeventcontroller.c:
3269 Added a number of new internal (private) methods.
3270 * libspi/editabletext.c:
3271 * libspi/editabletext.h:
3272 Fixed a number of bugs related to the fact that
3273 editabletext inherits from text. Fixed the EditableText struct,
3274 the init() call, and use correct casts when calling Text methods
3275 from an EditableText object. Removed (duplicate) atko from the
3276 EditableText structure, we use the one in the parent Text
3277 structure via the casts mentioned above.
3278 * libspi/keystrokelistener.[ch]:
3279 * libspi/registry.c:
3280 Changes in support of keyboard handling (above).
3282 Keyboard handling, though partly functional, is still not
3283 recommended for at-spi client use as there is considerable
3284 work yet to be done.
3287 Changed some places where pointers to various int types
3288 are cast to be pointers to CORBA_long types and vice-versa:
3289 pointer casting is not safe so we pass pointers of the correct
3290 types and then cast the result before putting it into the target
3293 * libspi/text.h: minor typos corrected.
3295 We now speak not only the name of a Text element, but the
3296 first sentence of its content, when it receives focus.
3297 I also changed the text compression to 75% from 50%.
3298 * util/Accessibility_Util.server.in:
3299 Changed the default magnifier type to be a 3x vertical
3300 splitscreen magnifier (was previously a 2x horizontal one).
3302 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
3304 * libspi/keystrokelistener.h:
3305 * libspi/keystrokelistener.c:
3306 Initial functional implementations of KeystrokeListener.
3309 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
3311 Fixed string handling for NULL strings in libspi.
3312 Added spi_freeString to free strings returned by C bindings.
3314 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
3316 * libspi/keystrokelistener.h:
3317 * libspi/keystrokelistener.c:
3318 Began (no-op) implementations of KeystrokeListener
3320 * libspi/deviceeventcontroller.c:
3321 * libspi/deviceeventcontroller.h:
3322 Began creating implementations of DeviceEventController,
3323 to handle keystroke and mouse event listening and
3325 * libspi/accessible.c:
3326 Stubbed-in the implementations for
3327 Accessibility_Accessible_getState and
3328 Accessibility_Accessible_getRelationSet.
3329 * libspi/registry.c:
3330 Improved de-registration process and fixed some bugs,
3331 deregistration now works correctly.
3333 Added initialization of applications list (to NULL).
3335 Reduced speech compression from 0.5 to 0.7, for demo.
3336 Changed call to gdk_window_set_decorations()
3337 to gtk_window_set_decorated().
3338 * at-bridge/bridge.c:
3339 Bridge now deregisters when app exits, via
3340 registration of a cleanup function
3341 with the g_atexit() call.
3342 Required making 'app' static, renamed 'this_app'.
3343 Fixed broken use of bonobo_init, passing argv wrongly.
3345 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
3349 Created a new directory for
3350 accessibility-related utilities, primarily for
3351 testing and demo purposes, but with possible
3358 Onscreen magnifier utility that
3359 is implemented as a bonobo service.
3361 * util/mag_client.c:
3362 * util/mag_client.h:
3363 Client-side support (simple C bindings)
3364 for Magnification service
3366 * util/mag_control.c:
3367 Client program example for
3368 Magnification service
3370 * util/Accessibility_Magnifier.server.in:
3371 Bonobo-activation file for the
3372 Magnification service.
3375 * util/idl/Magnifier.idl:
3376 IDL defining the bonobo Magnification
3380 Modifications to use the bonobo-activated magnifier
3381 above, in place of trying to connect to an existing
3382 magnifier that uses socket-listening IPC.
3384 If env variable MAGNIFIER is set, a magnifier service
3385 will be started if one does not exist.
3387 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
3388 * at-bridge/bridge.c:
3389 applied patch from Marc to build and run
3390 against new glib and gtk+ (seemed like a change
3391 to bonobo_init signature was made ?)
3393 made festival-server support turned off by default.
3394 Added support for a simple magnifier (off by default)
3395 which will be added to a 'util' directory later.
3396 * at-bridge/Makefile.am:
3397 Changed "application.h" header from a 'source'
3398 to a 'dependency' of libat-bridge.
3400 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3408 Added interface implementation c files to list of
3409 includes so they are included in libcspi.
3412 Changed prototype of AccessibleAction_doAction to return a
3414 Changed prototype of AccessibleTable_getCaption to
3415 return an Accessible.
3416 Changed prototype of AccessibleTable_getSelectedRows
3417 and AccessibleTable_getSelectedColumns to
3418 return a long (returns the number of selected rows
3419 or columns respectively).
3420 Changed name of AccessibleText_refRunAttributes to
3421 AccessibleText_getAttributes.
3422 Changed prototype of AccessibleText_getCharacterExtents to
3423 return a void rather than a boolean.
3424 Added support for a AccessibleCoordType parameter
3425 specifying what type of coordinates are desired.
3426 Added an AccessibleCordType parameter to
3427 AccessibleText_getPointAtOffset.
3429 * cspi/spi_accessible.c:
3430 Added code to return the outstanding interfaces from
3431 Accessible_queryInterface.
3433 * cspi/spi_action.c:
3435 Corrected call to getNActions to call the c binding
3438 * cspi/spi_editabletext.c:
3440 Changed name from setRunAttributes to setAttributes.
3442 * cspi/spi_hyperlink.c:
3444 Changed call to getNAnchors to correctly call the c
3445 binding for an attribute.
3447 * cspi/spi_hypertext.c:
3449 Changed getImageDescription to correctly call the
3450 binding for an attribute.
3452 * cspi/spi_selection.c:
3453 Changed getNSelectedChildren to correctly call the c
3454 binding for the attribute.
3455 Changed refSelectedChild to getSelectedChild.
3459 Changed getCaption to return an Accessible.
3460 Fixed calls which retrieve attributes.
3461 Changed refAt to getAccessibleAt.
3462 Changed getNSelectedRows and getNSelectedColumns to
3466 Changed getCharacterExtents and getPointAtOffset to accept an
3467 AccessibleCoordType.
3469 Changed calls which retrieve attributes.
3470 Changed refRunAttributes to getAttributes.
3475 * idl/Hyperlink.idl:
3476 Changed n_anchors attribute to nAnchors to keep naming
3477 convention consistent.
3480 Made Table inherit from Bonobo::Unknown.
3481 Added nSelectedColumns and nSelectedRows attributes.
3484 Made Value inherit from Bonobo::Unknown.
3486 * libspi/hyperlink.c:
3487 Change for nAnchors attributte name change.
3489 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3497 Added interface implementation c files to list of
3498 includes so they are included in libcspi.
3501 Changed prototype of AccessibleAction_doAction to return a
3503 Changed prototype of AccessibleTable_getCaption to
3504 return an Accessible.
3505 Changed prototype of AccessibleTable_getSelectedRows
3506 and AccessibleTable_getSelectedColumns to
3507 return a long (returns the number of selected rows
3508 or columns respectively).
3509 Changed name of AccessibleText_refRunAttributes to
3510 AccessibleText_getAttributes.
3511 Changed prototype of AccessibleText_getCharacterExtents to
3512 return a void rather than a boolean.
3513 Added support for a AccessibleCoordType parameter
3514 specifying what type of coordinates are desired.
3515 Added an AccessibleCordType parameter to
3516 AccessibleText_getPointAtOffset.
3518 * cspi/spi_accessible.c:
3519 Added code to return the outstanding interfaces from
3520 Accessible_queryInterface.
3522 * cspi/spi_action.c:
3524 Corrected call to getNActions to call the c binding
3527 * cspi/spi_editabletext.c:
3529 Changed name from setRunAttributes to setAttributes.
3531 * cspi/spi_hyperlink.c:
3533 Changed call to getNAnchors to correctly call the c
3534 binding for an attribute.
3536 * cspi/spi_hypertext.c:
3538 Changed getImageDescription to correctly call the
3539 binding for an attribute.
3541 * cspi/spi_selection.c:
3542 Changed getNSelectedChildren to correctly call the c
3543 binding for the attribute.
3544 Changed refSelectedChild to getSelectedChild.
3548 Changed getCaption to return an Accessible.
3549 Fixed calls which retrieve attributes.
3550 Changed refAt to getAccessibleAt.
3551 Changed getNSelectedRows and getNSelectedColumns to
3555 Changed getCharacterExtents and getPointAtOffset to accept an
3556 AccessibleCoordType.
3558 Changed calls which retrieve attributes.
3559 Changed refRunAttributes to getAttributes.
3564 * idl/Hyperlink.idl:
3565 Changed n_anchors attribute to nAnchors to keep naming
3566 convention consistent.
3569 Made Table inherit from Bonobo::Unknown.
3570 Added nSelectedColumns and nSelectedRows attributes.
3573 Made Value inherit from Bonobo::Unknown.
3575 * libspi/hyperlink.c:
3576 Change for nAnchors attributte name change.
3579 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3581 implementations-- made server implementations own AtkObject pointers
3582 rather than their respective AtkInterrface pointers to fix
3583 refcounting. AtkHyperlink is still broken.
3585 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3586 * cspi/spi_accessible.c:
3587 Added method Accessible_Role_getName(),
3588 and requisite string array (role_names).
3589 Added conversion string_from_corba_strin() call
3590 to Accessible_getName and _getDescription.
3591 * libspi/accessible.c:
3592 Added implementation for Accessible_getRole()
3594 Added festival support, used if environment variable
3597 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3599 * at-bridge/bridge.c:
3600 Now allocate Accessibility_Event using
3601 Accessibility_Event__alloc() instead of g_new0().
3602 * libspi/accessibleeventlistener.c:
3603 Initialize AccessibleEventListener->callbacks to NULL.
3604 Fixed accessible__event_listener_init() param, changed to
3605 "AccessibleEventListener *" type.
3606 Changed a bonobo_object_release_unref() call to
3607 Accessibility_Accessible_unref().
3608 * libspi/listener.c:
3609 Changed Bonobo_Unknown_unref to (equivalent)
3610 Accessibility_Accessible_unref.
3611 * libspi/registry.c:
3612 Changed bonobo_object_release_unref to
3613 Accessibility_Accessible_unref.
3615 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3618 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3619 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3620 spi-util.c spi-util.h
3621 Implementations for C bindings to remaining accessibility
3624 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3627 changed return value of Action from void to boolean to
3628 bring in line with ATK.
3631 Changed getText funcions to return "out" start and end offsets.
3632 Changed getAttributes to take and offset and return the start
3633 and end offset of the attribute run.
3634 Changed getOffsetAtPoint and getCharacterExtents to take an
3635 enum describing whether coordinates are window or screen.
3638 libspi/action.c libspi/action.h libspi/editabletext.c
3639 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3640 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3641 libspi/image.h libspi/selection.c libspi/selection.h
3642 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3643 libspi/value.c libspi/value.h
3644 Added server implementations for outstanding ATK interfaces
3645 not yet implemented.
3647 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3650 Added (missing) getName() method.
3651 Made nActions an attribute.
3652 * idl/EditableText.idl:
3653 Changed order of params in setAttributes.
3654 * idl/Hyperlink.idl:
3655 Removed getAnchor, added getURI.
3657 Changed attributes to methods, for efficiency
3658 (so that getting extents can be done in one call)
3659 * idl/Selection.idl:
3660 Changed nSelectedChildren to attribute, and re-indented.
3661 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3663 * idl/Text.idl: reformatted to match our coding style.
3664 (temporarily?) removed getRowColumnAtOffset().
3665 Changed text selection API to support multi-select and
3666 non-contiguous selections, as in ATK.
3667 * idl/Value.idl: changed some methods to attributes.
3669 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3671 * libspi/listener.c(impl_notify_event):
3672 BonoboUnkown_unref the source instead
3673 of bonobo_object_release_unref - the ORB
3674 handles the releasing.
3676 * configure.in: require ORBit-2.3.94 for
3679 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3681 Tagged CVS repository 'EA_1_0'.
3682 * README.EARLY_ACCESS:
3683 Alphabetized acknowledgements list, and
3685 Listed some known dependencies of at-spi.
3687 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3689 * docs/at-spi-docs.sgml:
3690 * docs/at-spi-sections.txt:
3691 * docs/at-spi-overrides.txt: (Added zero-length file)
3692 Documentation improvements - gtk-doc should build
3693 docs for all implemented C bindings now.
3696 * cspi/spi.c: (New file)
3697 * cspi/spi_event.c: (New file)
3698 * cspi/spi_registry.c: (New file)
3699 * cspi/spi_accessible.c: (New file)
3700 * cspi/spi_application.c: (New file)
3701 * cspi/spi_component.c: (New file)
3702 Split spi_main.c into six parts, and included them from
3703 "spi.c". This is a bit of a hack, probably temporary,
3704 but required by gtk-doc, apparently.
3706 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3709 * docs/at-spi-docs.sgml:
3710 * docs/at-spi-sections.txt:
3712 Initial checkins/modifications for gtk-doc generation.
3715 Added (missing) interface query methods to Accessible's C binding.
3717 Added GenericInterface type definition.
3719 Added query for AccessibleComponent interface to focus event handler.
3720 Added printout of bounding box for focussed component.
3721 * libspi/component.c:
3722 Added partial implementation for AccessibleComponent to C binding.
3723 * idl/Application.idl:
3724 * libspi/registry.c:
3725 * libspi/listener.c:
3726 * libspi/application.c:
3727 * libspi/application.h:
3728 Changed "ID" attribute type from string to long.
3730 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3734 Made method naming consistent: methods taking object args
3735 start with uppercase, other methods (except those using
3736 acronyms) start with lowercase. Underscores delimit between
3737 object names and method names:
3738 SPI_init() - uppercase since it starts with an acronym.
3739 getDesktopCount () - lowercase start since no object param0.
3740 Accessible_getName() - uppercase object type name, studlyCaps method
3744 Added gtk-doc documentation for all currently implemented
3745 methods in the C bindings API.
3747 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3749 * Makefile.am : changed build order to build test last.
3752 Changed "createEventListener" to "CreateEventListener".
3753 * libspi/accessibleeventlistener.c :
3754 Bugfix for addition of callbacks.
3755 * test/Makefile.am :
3756 * test/simple-at.c :
3757 Added new test that uses the C bindings API.
3759 * libspi/listener.c :
3760 * libspi/registry.c :
3761 * libspi/accessibleeventlistener.c :
3762 * at-bridge/bridge.c :
3763 Renamed member "target" of Accessibility_Event to "source",
3764 which is more descriptive.
3767 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3771 * cspi/Makefile.am :
3772 Added makefile support for at-spi/cspi directory.
3775 * cspi/spi-listener.h : (NEW FILE)
3776 Added support for/use of spi-listener.h.
3778 C bindings now build successfully, with no warnings.
3779 * libspi/accessibleeventlistener.h : (NEW FILE)
3780 * libspi/accessibleeventlistener.c : (NEW FILE)
3781 * libspi/Makefile.am :
3782 Added new object type "AccessibleEventListener"
3783 which inherits from Listener, and allows attachment
3784 of in-process callbacks (so that a client with a listening
3785 object instance can add functionality to the local
3786 implementation, dynamically).
3788 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3790 * libspi/accessible.c:
3791 Add implementation for get_index_in_parent().
3793 Added #include of "spi-roletypes.h", and
3794 added enumerated type AccessibleCoordType.
3795 Added definition for KeystrokeListener (function type).
3798 * cspi/spi-statetypes.h :
3799 * cspi/spi-roletypes.h :
3801 Added these headers, used by spi.h.
3803 Added code (NOTE: not yet built by make).
3805 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3807 * libspi/Makefile.am: generate imodule
3808 at the same time as other idl compiler
3811 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3812 * libspi/registry.c :
3813 * libspi/application.c :
3814 * idl/Application.idl :
3815 Made registration with toolkit an application method,
3816 which is required since each app has its own toolkit static
3817 environment. Thus the bridge must register for
3818 notification of toolkit events from each application in turn.
3819 Toolkit notifications are now successfully registered for, and
3820 sent to the listening at client.
3822 Changed toolkit event string to use hyphens rather than underscores.
3823 * libspi/listener.c :
3824 listner now gives more info in debug mode - it reports the
3825 name of the event received, as well as the name of the source.
3828 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3830 * libspi/registry.c :
3831 added more implementation for toolkit events.
3832 Fixed bug such that toolkit event registrations
3833 (via atk) use the whole event name string, not
3835 Removed a useless call to an ORBit_ method.
3836 * at-bridge/bridge.c :
3837 Removed unused local sbuf[] variable.
3839 We now register for Gtk:GtkWidget:button_press_event
3840 events as well as "focus:" events.
3842 Add some more API from Registry.idl that was missing,
3843 for keystroke listening, keystroke and mouse event
3844 synthesis, and enumeration of accessible desktops.
3846 2001-08-16 Michael Meeks <michael@ximian.com>
3848 * configure.in: use AM_GLIB_GNU_GETTEXT.
3850 * Makefile.am (SUBDIRS): kill intl.
3852 2001-08-15 Michael Meeks <michael@ximian.com>
3854 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3856 * configure.in: upd.
3858 * configure.in: depend on a recent bonobo-activation that
3859 will find our server files ...
3861 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3863 * libspi/accessible.c : accessible_new() :
3864 Now we add the Component interface via bonobo_object_add_interface,
3865 if the contained AtkObject implements AtkComponent.
3866 * libspi/accessible.h : now include "component.h"
3867 * libspi/component.h :
3868 * libspi/component.c : added files - implementation of
3869 bonobo wrapper object for Accessibility/Component
3870 * libspi/listener.c :
3871 Added test code to check for Accessibility/Component:1.0
3872 interface and report whether it is implemented by the
3874 * libspi/registry.c :
3875 Now we check for not only the hash of the whole event
3876 string before relaying the event, we also check the
3877 "minor" event string (without the detail string).
3878 This allows event listeners to be registered against
3879 all events of a certain major+minor type, or just
3880 against a specific major+minor+detail type.
3881 * libspi/accessible.c :
3882 Added implementations for Accessible:get_parent(),
3883 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3884 * libspi/registry.c :
3885 * libspi/listener.c :
3886 Replaced calls to Accessibility_Accessible_ref() and
3887 Accessibility_Accessible_unref() with
3888 calls to bonobo_object_dup_ref() and
3889 bonobo_object_release_unref(), so that the CORBA object
3890 is dup-ed and released when relayed, as well as the bonobo object.
3892 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3894 * libspi/Makefile.am,
3895 registryd/Makefile.am,
3896 at-bridge/Makefile.am.
3897 test/Makefile.am, configure.in:
3898 reverse previous changes.
3900 * /idl/Image.idl: fix typo.
3902 * test/Makefile.am: put DEBUG_FLAGS
3905 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3907 * test/app.c: use argv[0] instead of
3910 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3912 * libspi/Makefile.am,
3913 registryd/Makefile.am,
3914 at-bridge/Makefile.am.
3915 test/Makefile.am, configure.in:
3916 cleanup, replace individual LIBS/CFLAGS with
3917 AT_COMMON_{LIBS|CFLAGS}.
3921 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3923 * configure.in, libspi/Makefile.am:
3924 Change IDL path checking for bonobo-activation
3927 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3929 * registryd/registry.c : separated event listeners to use
3930 3 separate lists (focus, window, toolkit). Began testing
3931 event names against hashes before relaying events.
3932 * test/at.c : now register for events of type "focus:"
3933 * test/app.c : now generate events of type "focus:"
3934 * at-bridge/bridge.c : register with ATK for focus events,
3935 and we now relay those focus events to any "focus:" listeners.
3936 This now works with the bridge as a GTK_MODULE when running test/at.
3937 * libspi/registry.c :
3938 * libspi/listener.c :
3939 now we ref event sources before propagating, and unref on receipt.
3940 * libspi/registry.c :
3941 some changes to internal structs, to support event typestring hashes.
3942 * text/app.c : changed the way the appname is generated.
3943 * cspi : added directory that will hold the C bindings library for
3944 non-CORBA/bonobo-savvy clients.
3945 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3946 * idl/Component.idl : added in parameter to indicate coord system for
3947 geometry-related calls.
3948 * idl/Hyperlink.idl : added readonly n_links attribute
3949 * idl/Image.idl : changed methods to attributes.
3951 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3953 * at-bridge/Makefile.am: link against
3954 ../libspi/libspi.la instead of -lspi.
3956 * at-spi/test/app.c: include
3957 bonobo-activation.h. Use a default appname
3958 if one is not provided.
3960 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3962 * idl/Registry.idl : temporarily changed register_Application
3963 to oneway, to work around issue with initial registration
3965 * idl/Application.idl : changed attribute "id" from readonly
3966 to read-write, since it needs to be assigned by Registry.
3967 * registryd/registryd.c : added call to set application id
3969 * registryd/registry.c : changed de-registration procedure to
3970 use CORBA_Object_hash() to find matching object ref in application
3971 lists and listener lists.
3972 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3973 began distinguishing between event types (work in progress).
3975 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3978 * libspi/application.c:
3979 Added implementations for get/set id, get_toolkitName,
3981 * registryd/registryd.c :
3985 Converted from use of OAF to bonobo-activation.
3986 * libspi/desktop.h :
3987 * libspi/desktop.c :
3989 Removed references to atksimpleobject, since base atkobject
3990 implementation now provides functionality we need.
3991 * libspi/atksimpleobject.c :
3992 * libspi/atksimpleobject.h :
3997 * at-bridge/Makefile.am
3998 * at-bridge/bridge.c
4001 Added directory "bridge" and contents, and added dependencies
4002 in Makefile.am/configure.in.
4003 Initial checkin of "at-bridge".
4004 This code is a GTK_MODULE which automatically registers
4005 GTK+ apps with the accessibility registry, using an object
4006 reference to the root ATK object.
4008 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4010 * po/Makefile.in.in: Remove. Again. If this
4011 doesn't get autogenerated - you need to update
4014 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4016 * po/Makefile.in.in: Add. Again.
4018 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4020 * libspi/accessible.c : added support for 'description' property.
4021 * libspi/accessible.c
4023 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4024 (since the two are now equivalent in libbonobo)
4032 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4033 Bonobo::Unknown as does Accessibility::Accessible.
4034 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4035 interface with Bonobo::Stream, since it was redundant with it.
4036 (The Stream returned by a StreamableContext object is expected to
4037 implement only a subset of Bonobo::Stream)
4039 2001-07-28 Anders Carlsson <andersca@gnome.org>
4041 * libspi/accessible.c (accessible_object_finalize): Change
4042 g_free to g_object_unref since the AtkObject is a GObject.
4044 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4046 * idl/Accessibility.idl: add new IDL files
4049 * idl/Action.idl: Definitions of actionable UI object
4050 * idl/Component.idl: Definitions of UI component geometry, etc.
4051 * idl/Hyperlink.idl: Defs of hyperlink behavior
4052 * idl/Image.idl: Def of accessible image
4053 * idl/Selection.idl: Definition of UI object with selectable children
4054 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4055 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4056 * idl/Text.idl: Interface defs for UI elements with complex textual content
4057 * idl/Value.idl: Definition of UI element that is a value controller or display
4059 2001-07-27 Michael Meeks <michael@ximian.com>
4061 * po/Makefile.in.in: remove autogenerated file from CVS.
4063 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4066 * idl/Registry.idl: include guard.
4068 * idl/Accessibility.idl: Add, and include all the other IDL
4071 * idl/*.idl: remove mass of pragmas etc.
4073 2001-07-26 Michael Meeks <michael@ximian.com>
4075 * registryd/Makefile.am (registryd_SOURCES): remove
4078 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4080 * libspi/.cvsignore, registryd/.cvsignore,
4081 test/.cvsignore: updated.
4083 * po/Makefile.in.in: gettext update.
4085 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4087 * initial CVS checkin
4089 2001-06-29 Michael Meeks <michael@ximian.com>
4091 * configure.in: add AM_CONFIG_HEADER to gen config.h