1 2002-05-29 jacob berkman <jacob@ximian.com>
3 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
5 2002-05-29 Bill Haneman <bill.haneman@sun.com>
7 * configure.in: Fixed bug in AC_OUTPUT that was
8 causing path substitution in Accessibility_Registry.server
11 2002-05-23 Bill Haneman <bill.haneman@sun.com>
13 * text/screen-review-test.c:
15 New method which attempts a best-guess at clipping
16 text from components (like Java labels) which don't
17 actually implement AccessibleText. This inaccurate
18 clip is based on the assumption that the label is
19 justified left-and-right, and monospaced.
20 (text_chunk_get_clipped_string):
21 We now call guess_string_clip() for text-containing
22 components that don't implement AccessibleText.
24 * test/screen-review-test.c:
25 (review_buffer_get_text_chunk):
26 We now pull "name" from labels if they do not implement
27 AccessibleText (i.e. for Java labels).
28 (get_screen_review_line_at):
29 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
32 Replaceded AC_OUTPUT target
33 registryd/Accessibility_Registry.server with
34 registryd/Accessibility_Registry.server.in.
36 * registryd/Accessibility_Registry.server.in:
37 Removed (this is now a Makefile target).
39 * registryd/Accessibility_Registry.server.in.in:
40 Added (source for target above). We now use $(libexecdir) as
41 prefix for the executable at-spi-registryd.
43 * registry/Makefile.am:
44 Now install at-spi-registryd into $(libexecdir), and build .server
45 file with path (see above).
47 2002-05-22 Bill Haneman <bill.haneman@sun.com>
49 * test/screen-review-test.c:
50 (text_chunk_get_clipped_string):
51 We now check to see if words fall within clip bounds
52 before resorting to character-by-character clip bounds testing.
54 * TODO: Added a section for "2.2 Proposed API Additions".
56 2002-05-21 Bill Haneman <bill.haneman@sun.com>
58 * test/screen-review-test.c:
60 Added a screen review benchmarking and test program to test
63 * cspi/spi_accessible.c:
65 Made some of the debug strings passed to cspi_check_ev a
68 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
70 * test/screen-review-test.c: Fix crashes in debug statements
72 2002-05-20 Bill Haneman <bill.haneman@sun.com>
74 * test/screen-review-test.c: Added this file.
76 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
78 * atk-bridge/bridge.c: changed "object:state-change" to
79 "object:state-changed" to match docs.
81 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
83 * atk-bridge/bridge.c: Hooked up state-change event details.
85 2002-05-11 Bill Haneman <bill.haneman@sun.com>
87 * registryd/registry.c:
88 Fixed quarking bug in event string parsing; now events with
89 detail parameters get matched correctly to listeners.
92 * util/idl/Magnifier.idl: remove.
94 * util/*.[ch]: Remove.
95 Magnification utilities and IDL are now in module gnome-mag.
97 2002-05-10 Bill Haneman <bill.haneman@sun.com>
99 * registryd/deviceeventcontroller.c:
100 Fixed bug in grab key conversion which was causing keycode grabs
101 to be converted to AnyKey grabs.
104 updated NEWS file to reflect recent spin-off of gnome-mag.
106 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
108 * cspi/spi_accessible.c: Added exception checks. Fixed completely
109 busted AccessibleStateSet_compare. Removed redundant casts.
111 * cspi/spi-action.c: Removed redundant casts.
113 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
115 * cspi/spi_component.c: Fixed typos and casting error.
117 * cspi/spi_editabletext.c: Removed redundant casts.
119 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
121 * cspi/spi_hypertext.c: Eliminated redundant casts.
123 * cspi/spi_image.c: Eliminated redundant casts.
125 * cspi/spi_registry.c: Eliminated redundant casts.
126 SPI_deregisterGlobalEventListenerAll () removed retval variable.
127 * cspi/spi_selection.c: Removed redundant casts.
128 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
129 handling. Screen geometry and text offsets were being returned as 0
130 on error which is technically valid-- changed these to return -1.
131 Added marshaller for text boundary types to fix bug with boundary
132 types being passed incorrectly to atk.
134 2002-05-09 Bill Haneman <bill.haneman@sun.com>
137 * cspi/spi_registry.c:
138 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
139 which was uncovered by the recent key changes.
141 2002-05-09 Bill Haneman <bill.haneman@sun.com>
143 * test/event-listener-test.c:
145 Added new test, "event-listener-test";
146 this code does two things; it benchmarks traversal time
147 for the accessible hierarchy for the first running accessible
148 app, and it connects listeners for all supported event types.
149 It is thus useful as an example event listener and for
150 diagnostics/debugging of event generation.
152 2002-05-08 Bill Haneman <bill.haneman@sun.com>
155 Removed unnecessary dependency on libutil.
158 Revved micro version: 0.13.1
160 2002-05-08 Bill Haneman <bill.haneman@sun.com>
163 Removed util/Makefile from targets.
166 Removed util subdir from SUBDIRS (temporarily,
167 pending removal of magnifier-only code
171 #ifdef-ed out magnifier dependencies, since
172 magnifier IDL, headers, and binary now live in
173 module gnome-mag and we don't want at-spi to depend
174 on gnome-mag. A magnifier demo which can run alongside
175 simple-at is forthcoming in the gnome-mag module.
177 NOTE: Split magnifier binary, IDL, and magnification
178 activation code from at-spi into module gnome-mag.
180 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
182 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
183 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
185 2002-05-03 Bill Haneman <bill.haneman@sun.com>
188 Revved to version 0.13.0
190 * idl/Accessibility_Registry.idl:
191 Changed definition of KeySet from sequence of longs to sequence of
192 KeyDefinitions, and added KeyDefinition struct.
193 Required for fix to bug 80616.
195 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
196 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
197 to use new definition (see above).
199 * registryd/deviceeventcontroller.c: handle_keygrab(),
200 spi_keyset_contains_key():
201 Changed to make use of new struct; this allows matching based on
202 string key-name, for instance "Tab". This also allows matching of
203 composed characters, non-alphanumeric characters in a way that
204 doesn't involve dependencies on X keysym codes directly, etc.
206 * test/key-listener-test.c:
207 Added test for Alt-Tab key using "string" specification of keyset,
208 and modified one of the tests to use a keycode-based keyset.
209 Thus this test both tests and demonstrates the creation and use of
210 keysets of three forms: specified via keycode array,
211 keysym array, and string array. (The string case only contains a
212 single string, i.e. a string array of length 1).
215 Turned on PRINT_TREE option by default. Also fixed a
216 string-freeing bug in the PRINT_TREE code.
217 Added a listener to window:minimize events.
219 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
221 * atk-bridge/bridge.c:
222 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
223 for window:activate and window:deactiveate
224 (atk_bridge_property_event_listener atk_bridge_signal_listener
225 atk_bridge_window_event_listener) Tidy debug code
227 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
229 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
230 Fixed handling for NULL return value from ATK.
232 * libspi/action.c libspi/component.c libspi/editabletext.
233 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
234 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
235 Removed redundant casts.
237 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
238 Fixed off by one bug.
240 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
241 function not present in idl)
243 2002-05-02 jacob berkman <jacob@ximian.com>
245 * atk-bridge/Makefile.am: make atk-bridge a real module
247 2002-04-26 Radek Doulik <rodo@ximian.com>
249 * libspi/stateset.c (spi_init_state_type_tables): fix size of
250 atk_state_types table
252 2002-04-22 jacob berkman <jacob@ximian.com>
255 * libspi/Makefile.am: add deps on the built files to help
256 automake, and don't version the ORBit typelib
258 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
260 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
261 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
262 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
263 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
264 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
265 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
266 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
267 libspi/accessible.h libspi/accessible.h libspi/base.h
268 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
269 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
270 libspi/relation.h libspi/remoteobject.h libspi/selection.h
271 libspi/spi-private.h libspi/statetset.h libspi/table.h
272 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
273 util/mag_client.h util/mag_control.c util/mag_image.c
274 util/mag_image.h util/magnifier.c util/magnifier.h:
275 Add missing file headers; standardize existing ones
277 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
279 * atk-bridge/bridge.c: Added window event support.
281 2002-04-18 Michael Meeks <michael@ximian.com>
283 * libspi/relation.c (impl_getNTargets): impl.
284 (impl_getTarget): impl.
286 * libspi/Makefile.am: fix stateset install.
288 2002-04-17 Bill Haneman <bill.haneman@sun.com>
291 Started putting useful info in this file.
293 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
295 * atk-bridge/bridge.c:
296 Propagate state-changed notifications to ATs
298 * cspi/spi_registry.c: update docs to reflect actual behavior of
301 2002-04-17 Bill Haneman <bill.haneman@sun.com>
304 Incremented version to 0.12.1
307 Add missing declaration for magnifier_exit,
308 used by mag_control.c - Forte compiler didn't like
309 the implicit redeclaration of the function :-(
312 2002-04-16 Bill Haneman <bill.haneman@sun.com>
315 Revved version to 0.12 due to API change (see below).
317 * cspi/spi-roletypes.h:
318 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
319 definition from the inline docs, and added docs
320 for SPI_ROLE_LAST_DEFINED.
323 * cspi/spi_streamablecontent.c:
324 Added missing seek_type parameter to
325 (so far unused) method,
326 AccessibleStreamableContent_seek().
327 [ RT approval JodyG. ]
330 Fixed docs for SPI_createAccessibleKeystrokeListener.
332 * cspi/spi_registry.c:
333 Fixed docs for SPI_KEYSET_ALL_KEYS.
335 * docs/reference/cspi/at-spi-cspi-sections.txt:
336 Added a number of missing APIs to SECTIONS.
338 2002-04-16 Bill Haneman <bill.haneman@sun.com>
340 * registryd/Makefile.am:
342 * cspi/bonobo/Makefile.am:
343 Add $(X_LIBS) to makefiles.
345 2002-04-15 Bill Haneman <bill.haneman@sun.com>
348 Revved version to 0.11.
350 * libspi/component.c:
351 Added implementation for grabFocus.
353 * idl/Accessibility_Component.idl
354 (Accessibility_Component_grabFocus):
355 Made this method return boolean to indicate success or failure, to
356 be consistent with cspi and the corresponding ATK method.
358 * idl/Accessibility_Selection.idl
359 (Accessibility_Selection_selectAll) :
360 Made these methods return boolean to indicate success or
361 failure, to be consistent with cspi and the corresponding ATK methods.
363 * idl/Accessibility_EditableText.idl
364 (Accessibility_EditableText_setTextContents,
365 Accessibility_EditableText_insertText,
366 Accessibility_EditableText_cutText,
367 Accessibility_EditableText_deleteText,
368 Accessibility_EditableText_pasteText):
369 Made these methods return boolean to indicate
372 * cspi/spi_editabletext.c:
373 Made these methods return booleans.
375 * libspi/selection.c:
376 * libspi/component.c:
377 * libspi/editabletext.c:
378 Connected the boolean returns from ATK
379 to the server-side code referenced above.
381 2002-04-14 Bill Haneman <bill.haneman@sun.com>
383 * idl/Accessibility_Table.idl: Added missing methods,
384 Accessibility_Table_addRowSelection,
385 Accessibility_Table_addColumnSelection,
386 Accessibility_Table_removeRowSelection,
387 Accessibility_Table_removeColumnSelection.
390 Added C wrappers for above IDL:
391 AccessibleTable_addRowSelection,
392 AccessibleTable_addColumnSelection,
393 AccessibleTable_removeRowSelection,
394 AccessibleTable_removeColumnSelection.
397 Added server-side implementation code for IDL above, connecting
398 to pre-existing ATK api.
400 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
402 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
404 * libspi/accessible.c: Added implementation fo
405 Accessibility_Accessible_get_state.
407 * libspi/libspi.h: Added stateset.h to the list of includes.
409 * libspi/stateset.c: Fixed broken implementation.
411 2002-04-13 Bill Haneman <bill.haneman@sun.com>
414 Added implementation code for Accessibility_Magnifier_exit ().
416 * util/mag_control.c:
417 Added test code for above method; you can
418 now kill an existing magnifier via
419 ./mag_control q, from the util directory.
421 * test/key-listener-test.c:
423 Added a new test, for our key listener API.
425 2002-04-11 Bill Haneman <bill.haneman@sun.com>
427 * test/app.c, test/keysynth-demo.c:
429 Replace use of snprintf with g_snprintf.
430 (fix for bugzilla 78249)
432 2002-03-27 Michael Meeks <michael@ximian.com>
436 * util/Makefile.am (INCLUDES): fix.
437 (DONT_DIST_SOURCE): don't distribute the
440 * libspi/Makefile.am (dist-hook): ditto.
442 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
444 * libspi/hypertext.c:
445 Fix warnings when yelp is used with atk-bridge
447 2002-03-21 Michael Meeks <michael@ximian.com>
449 * libspi/application.c (spi_application_new):
450 use spi_accessible_construct so we use the AtkObject
453 2002-03-19 Michael Meeks <michael@ximian.com>
455 * registryd/registry.c (desktop_remove_application),
456 (desktop_add_application): clean coding style.
458 * registryd/desktop.c (spi_desktop_remove_application),
459 (spi_desktop_add_application): kill re-enterency hazards.
460 (spi_desktop_dispose): remove bogus redundant cast
461 obscuring bug; fix bug too.
462 (spi_desktop_init): make the desktop object immortal.
464 2002-03-16 Bill Haneman <bill.haneman@sun.com>
467 Added a #define-guarded tree-traversal step
468 when enumerating the apps (diagnostic tool).
470 2002-03-15 Bill Haneman <bill.haneman@sun.com>
472 * idl/Accessibility_Role.idl:
473 Added ROLE_DRAWING_AREA which seemed to be missing from the
476 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
478 * cspi/spi-roletypes.h cspi/spi_accessible.c
479 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
482 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
483 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
484 AT when applications are added and removed from the desktop. This
485 reverts the previous broken implementation using the backing
486 AtkObject for the SpiDesktop.
488 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
490 * registryd/desktop.c: emit the "children-changed::add" and
491 "children-changed::remove" signals on the backing ATK object for
492 the desktop so AT can tell when applications are started and shut
495 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
497 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
499 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
501 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
503 * cspi/spi_accessible.c: Implemented c bindings for stateset support
505 * cspi/state-types.h: synched with IDL and ATK
507 2002-03-13 Bill Haneman <bill.haneman@sun.com>
509 * libspi/accessible.c
510 (impl_accessibility_accessible_get_child_at_index):
511 Change return value for g_return_if_fail ()
512 to CORBA_OBJECT_NIL instead of "0" (!)
514 * registryd/Makefile.am:
515 * registryd/Accessibility_Register.server.in:
516 Changed name of executable, "registryd",
517 to something more informative:
520 2002-03-13 Michael Meeks <michael@ximian.com>
522 * atk-bridge/bridge.c (atk_bridge_init): don't register
523 if we're in a bonobo-component, rather than a bonobo app.
525 2002-03-13 Michael Meeks <michael@ximian.com>
527 * atk-bridge/bridge.c (gtk_module_init): split
528 out body to (atk_bridge_init): here, since otherwise
529 we get symbol conflicts and oddness when invoked
530 from (gnome_accessibility_module_init): here (upd.)
532 2002-03-11 Bill Haneman <bill.haneman@sun.com>
535 New file. Explicitly allow "build sheriff" putbacks provided
536 they are tested on Solaris.
538 * docs/reference/cspi/Makefile.am:
539 Added '-' to the "cp" command for index.sgml.
540 ("patch by thomasvs, soon coming to a GUADEC near you")
543 Incremented version number (0.9.0) for new release.
544 Changed macro that checks for popt, to better detect
545 obsolete versions of popt.
548 Added X_LIBS to AC_SUBST, for applications
549 that call Xlib API directly.
552 2002-03-07 Bill Haneman <bill.haneman@sun.com>
555 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
558 Fix regression caused by hard-coding major
559 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
562 * test/test-simple.c (test_editable_text),
563 (test_test): revert previous change (error was
564 a regression in gail which is now fixed).
566 2002-03-04 Michael Meeks <michael@ximian.com>
568 * test/test-simple.c (test_editable_text),
569 (test_text): pass G_MAXINT instead of '-1' for
570 whole string - is this a good thing !?
572 * cspi/spi_accessible.c
573 (Accessible_getRelationSet): fix crasher bug
574 overwriting the end of the array.
576 * test/test-simple.c (validate_accessible): free,
577 not g_free returned relation set.
579 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
581 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
582 implemented stateset support
584 * idl/Accessibility_State.idl: Made necessary changes to
585 the IDL to support state sets.
587 2002-02-12 Bill Haneman <bill.haneman@sun.com>
589 * registryd/deviceeventcontroller.c:
590 Added implementation for generateMouseEvent.
592 * cspi/spi_registry.c:
593 Connected new implementation for generateMouseEvent
596 2002-02-12 Bill Haneman <bill.haneman@sun.com>
599 Incremented revision (but no change in public API
600 outside of 'utils', which are not installed public yet.)
602 * libspi/component.c:
603 Changed to use atk_component API for layers and
604 mdi_zorder, instead of deprecated atk_object API.
606 Magnification Utility Enhancements:
609 Added implementation of createZoomRegion, clearAllZoomRegions,
610 resizeZoomRegion. Added new commandline argument
611 "--no-initial-region". Note that clearAllZoomRegions doesn't
612 unmap the old '0' region as it should (yet), and the other
613 methods only work when creating/resizing a single region,
615 (Code for multiple region support will be added later.)
618 Now we raise the magnifier window each time it's refreshed;
619 this will help keep it on top.
622 Added simple wrappers for above, used by mag_control.
623 For general use, it's recommended to use the bonobo magnifier
624 control API directly instead of using these wrappers.
627 Moved ZoomRegionData from magnifier.c to this file.
629 * util/mag_control.c:
630 Added some code to exercise new IDL implementations.
632 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
634 * libspi/text.c: Provide implementation for getAttributes.
636 2002-02-04 Bill Haneman <bill.haneman@sun.com>
639 Incremented revision.
641 * test/test-simple.c:
642 Replaced use of deprecated g_main_iteration with
643 g_main_context_iteration.
645 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
648 Incremented revision for desktop alpha 2.
650 2002-01-28 Mark McLoughlin <mark@skynet.ie>
652 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
655 * test/simple-at.c: include netinet/in.h.
657 2002-01-24 Mark McLoughlin <mark@skynet.ie>
659 * cspi/spi_accessible.c: (Accessible_getRelationSet):
660 use NULL, not CORBA_OBJECT_NIL.
662 * libspi/accessible.c:
663 (impl_accessibility_accessible_get_relation_set):
664 allocate the sequence correctly.
666 * libspi/remoteobject.h: kill spi_remote_object_new.
668 * test/test-simple.c: (validate_accessible): add code
669 to test relation sets, now all we need is to figure
670 out how to excercise this code path :/
672 2002-01-18 Michael Meeks <michael@ximian.com>
675 (key_listener_cb): consume the key.
676 (test_keylisteners): update.
677 (main): wait for any pending unrefs on events.
679 * registryd/deviceeventcontroller.c
680 (spi_controller_update_key_grabs): only re-issue the
681 grab on a key release.
682 (spi_device_event_controller_forward_key_event):
683 refresh the keygrabs before we notify the listeners,
684 to reduce the X ungrab / re-grab race.
685 (spi_controller_register_with_devices): remove
686 XSelectInput - we do that with the gdk_window_ call.
687 (_spi_controller_device_error_handler): return a value.
688 s/GDK_DISPLAY/spi_get_display/
690 2002-01-17 Michael Meeks <michael@ximian.com>
692 * registryd/deviceeventcontroller.c
693 (_deregister_keygrab): don't blow out the later
696 * test/test-simple.c (test_keylisteners): do a
697 more intelligent validation.
699 2002-01-14 Michael Meeks <michael@ximian.com>
701 * atk-bridge/bridge.c
702 (gnome_accessibility_module_init),
703 (gnome_accessibility_module_shutdown): impl.
704 (gtk_module_init): protect vs. double inits.
705 (add_signal_listener): impl.
706 (spi_atk_bridge_state_event_listener): kill
707 (deregister_application): split out of
708 (spi_atk_bridge_exit_func): here.
710 2002-01-18 Bill Haneman <bill.haneman@sun.com>
713 Added caret tracking when using magnifier, and
714 now use text bounds for focus tracking of text elements, rather than
715 the component bounds - this is helpful for short text fields in long
716 table cells, at high magnification.
718 2002-01-16 Bill Haneman <bill.haneman@sun.com>
720 * registryd/deviceeventcontroller.c:
721 Regression fix for keylistener de-registration; global keygrabs
722 were not being released when deregisterKeystrokeListener was
723 called in cspi, since
724 Accessibility_DeviceEventController_deregisterKeystrokeListener
725 was called with a zero-length keyset. That is because the cspi
726 method, SPI_deregisterKeystrokeListener, does not take a keyset
727 parameter but instead should remove all the key grabs held be a
729 The code in impl_deregister_keystroke_listener was changed to copy
730 the keylist from the listener instance previously registered with
731 the DeviceEventController before releasing the grabs.
733 * registryd/registry.c:
734 * registryd/deviceeventcontroller.c:
735 * libspi/spi-private.h:
737 Changed spelling of "re-enterant" to "re-entrant" globally.
739 2002-01-16 Bill Haneman <bill.haneman@sun.com>
741 * test/test-simple.c:
742 Changed key listeners test - the test was slightly mis-using the
743 (admittedly poorly documented) SPI_generateKeyboardEvent API.
744 It now uses '=' as the key event listened to and generated,
745 relying on a keysym match rather than assuming that keycode 33
746 is always equal to keysym '!'.
748 2002-01-15 Bill Haneman <bill.haneman@sun.com>
751 Changed simple-at to use a specific keyset, rather than
752 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
753 manager, desktop, etc.
755 2002-01-11 Bill Haneman <bill.haneman@sun.com>
757 * registryd/deviceeventcontroller.c:
758 Replaced standard X error handler with a special handler that
759 is non-fatal for failed keygrabs. This works around
760 problems with keygrab clashes sometimes observed on
762 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
763 mouse handling code as yet).
765 2002-01-11 Bill Haneman <bill.haneman@sun.com>
768 Incremented revision for desktop alpha release.
771 Fixed a couple of the more glaring errors (still not
774 2002-01-11 Michael Meeks <michael@ximian.com>
776 * registryd/deviceeventcontroller.c
777 (spi_device_event_controller_forward_key_event): kill
778 XUngrabKey / XKeyGrab race.
779 (spi_controller_grab_keyboard): rename to
780 (spi_controller_update_key_grabs): this, and deal
781 with incremental adding / removing grabs more
783 (_register_keygrab): ensure we're not pending a remove.
784 (spi_grab_mask_free): impl.
785 (spi_controller_register_global_keygrabs): split out
787 (handle_keygrab): impl.
788 (_deregister_keygrab): impl.
789 (spi_controller_deregister_global_keygrabs): impl.
790 (spi_controller_update_key_grabs): re-issue the grab if
791 we just recieved a notification.
793 * test/test-simple.c (key_listener_cb): remove debug.
795 * registryd/deviceeventcontroller.c
796 (spi_controller_register_device_listener): after
797 registering a global keygrab, actualy register it !
798 don't wait for a timeout; doh !
800 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
801 to make it more readable / manipulable.
802 s/grabmask/grab_mask/ s/refcount/ref_count/
803 s/keyval/key_val/ s/modmask/mod_mask
805 2002-01-08 Michael Meeks <michael@ximian.com>
807 * registryd/deviceeventcontroller.c
808 (spi_controller_register_with_devices): use gdk calls to
810 (global_filter_fn): implement the filter.
811 (spi_device_event_controller_check_key_event): rename to
812 (spi_device_event_controller_forward_key_event): this & upd.
813 (spi_get_display): replace with GDK_DISPLAY.
815 * registryd/deviceeventcontroller.c
816 (spi_controller_deregister_device_listener): unroll into
817 (impl_deregister_keystroke_listener): here to simplify.
818 (spi_controller_register_global_keygrabs): split cut and
819 paste (!) out into (_register_keygrab): here, shorter & sweeter.
820 (spi_controller_deregister_device_listener): remove.
821 (impl_register_mouse_listener): remove, no mouse listener
822 support in at-spi-1.0
824 * registryd/registry.c
825 (_device_event_controller_hook): kill.
826 (spi_registry_init): upd.
828 * registryd/deviceeventcontroller.c
829 (spi_device_event_controller_class_init): upd.
830 (spi_check_key_event): merge into.
831 (spi_device_event_controller_check_key_event):
832 here and kill strange static ev init, don't leak
833 the x_event - nor dynamicaly allocate it.
835 * registryd/registry-main.c (main): re-direct
836 timeout to remove strange vtable mess.
838 * registryd/deviceeventcontroller.c
839 (remove_listener_cb): impl.
840 (spi_controller_deregister_device_listener):
841 fix re-enterancy hazard.
843 2002-01-07 Michael Meeks <michael@ximian.com>
845 * registryd/deviceeventcontroller.c
846 (spi_device_event_controller_new): upd.
847 (impl_notify_listeners_sync): upd. debug.
848 (spi_notify_keylisteners): fix re-enterancy hazards,
849 prettify, remove O(n*n) iteration.
850 (spi_controller_grab_keyboard): fix iteration.
851 (spi_check_key_event): re-format to suit coding style.
852 Clean all the warnings - we're warning free.
854 * registryd/deviceeventcontroller.h:
855 * registryd/registry.h: make mutualy referential with
856 typesafe forward references instead of (!) void pointer
859 2002-01-11 Michael Meeks <michael@ximian.com>
861 * cspi/spi_accessible.c (role_names): add a role name
862 to sync this array with the enum; and make the regression
865 2002-01-10 Michael Meeks <michael@ximian.com>
867 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
868 allow expansion of enumeration & kill warning.
870 * test/test-simple.c (key_listener_cb): impl.
871 (test_keylisteners): impl.
873 * cspi/spi-listener.h: make listener signatures const
874 on the provided (const) events.
876 * test/keysynth-demo.c: upd. to const events.
878 * test/simple-at.c: ditto.
880 2002-01-11 Bill Haneman <bill.haneman@sun.com>
883 Rev the version to 0.5 (the previous tarball was named 0.4,
884 even though the micro number was 3), so we need to rev upwards
885 again for beta2/"desktop-alpha"
888 Checked in a demo script, which requires editing before use!
889 Proceed with caution.
892 Fixed typo in header which was redefining SPI_ACTION_CLASS.
894 * cspi/spi_accessible.c:
895 Add a couple of missing enum initializations, and fix some enum
898 * cspi/spi_registry.c:
899 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
901 * docs/reference/cspi/at-spi-cspi-sections.txt:
902 Remove/fix a couple of broken document references.
905 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
906 as Alt-Control to listen for commands, since on some systems
907 Control-Alt may already be grabbed.
909 2002-01-10 Bill Haneman <bill.haneman@sun.com>
912 Update version number to 0.4 for Beta2.
914 * libspi/accessible.c, libspi/accessible.h:
915 Expose spi_accessible_construct, to enable libgail-gnome
916 construction from spi_accessible subtype.
919 Workaround for bug in some non-gnome-compliant window managers
920 which made magnifier resize improperly.
922 2002-01-09 Bill Haneman <bill.haneman@sun.com>
924 * libspi/accessible.c: (spi_accessible_new) :
925 Move the test for SPI_IS_REMOTE_OBJECT to
926 spi_accessible_new_return, fixing a bug and compile time warning.
928 2002-01-08 Michael Meeks <michael@ximian.com>
930 * registryd/registry.c (parse_event_type): remove strndup.
932 * libspi/Makefile.am (libspi_la_SOURCES): remove
933 sources already included in the headers section.
935 * libspi/util.c: add.
937 * libspi/spi-private.h: add.
939 * registryd/registry.c: update to moved list iterators.
941 2002-01-05 Michael Meeks <michael@ximian.com>
943 * test/simple-at.c (main): upd. auto-module set to atk-bridge
945 * test/test-simple.c (main): ditto.
947 2002-01-04 Michael Meeks <michael@ximian.com>
949 * libspi/accessible.c (spi_accessible_new): remove 2nd,
952 * registryd/registry.c
953 (get_listener_list): impl.
954 (impl_accessibility_registry_register_global_event_listener):
955 re-impl. to simplify using ~, remove dodgy const cast off.
956 (parse_event_type): constify.
957 (impl_accessibility_registry_deregister_global_event_listener_all):
958 re-write, more efficiency and simplicity, kill re-enterancy
960 (compare_listener_corbaref, compare_corba_objects),
961 (compare_listener_quarks): define out.
962 (impl_accessibility_registry_deregister_global_event_listener):
963 re-write for effiency, and nail re-enterancy hazard.
964 (impl_accessibility_registry_get_desktop_list): impl.
965 (re_enterant_list_delete_link): impl.
966 (re_enterant_list_foreach): impl.
967 (remove_listener_cb): impl.
968 (_registry_notify_listeners): kill.
969 (notify_listeners_cb): impl.
971 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
972 (SPI_getDesktopList): impl.
974 * test/test-simple.c (test_desktop): test the methods.
976 2002-01-03 Michael Meeks <michael@ximian.com>
978 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
979 keystrings since we free them
980 (SPI_freeAccessibleKeySet): in here.
982 * libspi/accessible.c (spi_accessible_new): kill warning,
983 wonder what is going on with the constructor here.
985 2002-03-01 Bill Haneman <bill.haneman@sun.com>
987 * libspi/accessible.c (spi_accessible_new ()) :
988 Added check to see if AtkObject is an SpiRemoteObject before
989 creating an SpiAccessible.
991 2002-05-01 Bill Haneman <bill.haneman@sun.com>
993 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
994 Enable keygrabs using the Control modifier, now that they are
995 working properly (they were previously disabled).
998 Change the command keygrab for this demo to "Control+Alt", so as
999 to conflict with fewer other key commands on the system; this
1000 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1002 Removed a pointlessly-chatty keylistener for unshifted keys
1003 (shifted keys are still reported).
1005 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1007 * libspi/remoteobject.h:
1008 * libspi/remoteobject.c:
1009 Added definitions for special AtkObject subtype, required for
1010 support of remote components (specifically, used by BonoboControl
1011 accessibility implementation).
1013 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1015 * cspi/spi.h: synched relation types with ATK
1017 * cspi/spi_accessible.c: Added implementations of
1018 AcccessibleRelation_* methods
1020 * idl/Accessibility_Relation.idl: added getRelationTypeName
1021 method. Synched known relation types with ATK. Allowed for
1022 relation type extension with the RELATION_EXTENDED type.
1024 * libspi/relation.c: Provided implementations for
1025 AccessibleRelation methods.
1027 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1029 API tweaks for today's API 'freeze'.
1032 Added placeholder functions to allow future compatible expansion
1033 of the IDL interfaces.
1035 * idl/Accessibility_Registry.idl:
1036 Changed generateKeyEvent to generateKeyboardEvent. Changed
1037 signature of this method to accept an optional keystring in
1038 parameter (for complex text input synthesis) and changed use of
1039 simple 'boolean' parameter in registerKeystrokeListener to a
1040 struct, EventListenerMode.
1042 * cspi/spi_accessible.c:
1044 * cspi/spi_streamablecontent.c:
1045 Added references to AccessibleStreamableContent interface, and
1046 definition and implementation of AccessibleStreamableContent
1049 * cspi/spi_registry.c:
1051 Changed generateKeyEvent API to generateKeyboardEvent,
1052 taking a new (optional) keystring parameter to support complex
1057 Renamed directory (to better reflect its actual purpose, bridging
1058 from at-spi to ATK). The .so module is also now named
1061 * idl/Accessibility_Hypertext.idl:
1062 * libspi/accessible.c:
1063 * libspi/hypertext.h:
1064 * libspi/hypertext.c:
1065 Changed Accessibility_Hypertext to *not* derive from
1068 * cspi/spi_registry.c:
1069 Added list of legal event type names for 'window' events, which
1070 completes the registry event API.
1072 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1074 * at-bridge/bridge.c: Added registration for separate
1075 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1076 signals. If either of the first two parameters to the generic
1077 bridge signal handler are ints, they are passed on as event
1078 details. This allows an AT to determine what text was inserted.
1080 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1082 * registryd/deviceeventcontroller.c:
1083 Fixed regressions in generateKeyEvent caused by the removal of
1084 gdk_init from registryd; we now use pure X calls to connect to the
1085 display, which makes sense because deviceeventcontroller already
1086 uses a fair bit of X API (should eventually be migrated to a
1087 'portability layer').
1089 * registryd/desktop.c:
1090 Fixed minor regression in spi_desktop_init, changed the way the
1091 desktop name is being set to work with new spi_base API
1092 (gobject-based, rather than AtkObject-based).
1094 * registryd/Makefile.am:
1095 Minor revision of makefile to use XTST_LIBS variable rather than
1096 hard-wiring the Xtst LD_ADD element.
1098 * test/keysynth-demo.c:
1099 Tweaked an output message; added initialization of the
1100 'keystrings' member of the "switch listener" key_set.
1102 * libspi/relation.c:
1103 Squashed compile-time warning.
1105 * libspi/accessible.c:
1106 Cosmetic and formatting fixes, renamed a static method.
1108 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1110 * libspi/accessible.c
1112 * libspi/application.c
1115 * libspi/component.c
1116 * libspi/editabletext.c
1117 * libspi/hyperlink.c
1118 * libspi/hypertext.c
1120 * libspi/selection.c
1124 * registryd/desktop.c:
1125 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1127 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1129 * idl/Accessibility_Registry.idl:
1130 Added boolean member 'is_text' to DeviceEvent. This is for the
1131 use of key events, and helps prevent ambiguity between composed
1132 key strings and keysym names, since both may potentially be
1133 returned in the 'event_string' member.
1135 * at-bridge/bridge.c:
1136 * registryd/deviceeventcontroller.c:
1137 Use the 'is_text' member when notifying device event listeners.
1138 Knon issue: composed characters are not dealt with correctly by
1139 the global key listener implementation yet.
1141 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1143 * at-bridge/bridge.c:
1144 Namespaced local static methods to spi_atk_bridge_* where
1145 previously named bridge_*, and spi_* elsewhere.
1147 * at-bridge/bridge.c:
1148 * cspi/bonobo/cspi-bonobo-listener.c:
1149 Added demarshalling/conversion for string member of
1150 Accessibility_DeviceEvent to AccessibleKeystroke.
1152 * registryd/deviceeventcontroller.c:
1153 Added code to fill the Accessibility_DeviceEvent key string value
1154 member for global key events (i.e. from XGrabKey), to match
1155 behavior of Accessibility_DeviceEvent from the toolkit key events
1156 from the bridge. Fixed timestamp in global key event notifications.
1159 Added printout of key event's string value to
1160 report_ordinary_key_event, for demo/debugging purposes.
1162 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1164 * idl/Accessibility_Registry.idl:
1165 Removed Accessibility_KeyStroke structure in favor of generic
1166 Accessibility_DeviceEvent structure.
1167 Changed Accessibility_ControllerEventMask from a struct to an
1170 * at-bridge/bridge.c:
1171 Changed APIs to use DeviceEvent structure as above, and removed
1172 bogus casting between these event structures.
1174 * cspi/spi-listener.h:
1175 Added keystring member of AccessibleKeystroke structure, to enable
1176 matching on event "names" rather than only hardware codes and
1180 Added keystrings member of AccessibleKeySet struct, to allow
1181 matching on event names (as above).
1182 Added declarations for SPI_createAccessibleKeySet and
1183 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1184 event modmasks directly as unsigned ints rather than structs with
1185 refcounts, in the DeviceEventController methods.
1187 * cspi/spi_registry.c:
1188 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1190 * cspi/spi-roletypes.h:
1191 Added documentation of newly added SPI Roles.
1193 * cspi/bonobo/cspi-bonobo-listener.c:
1194 Changes in support of API changes above.
1196 * libspi/accessible.c:
1197 Converted APIs to use DeviceEvent structure (see IDL changes
1200 * registryd/deviceeventcontroller.c:
1201 Added DEControllerGrabMask structure to track keygrabs not only by
1202 modmask but by keyset as well; this allows us to do "global"
1203 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1204 grabbing on AnyKey and then filtering after-the-fact.
1205 Bugfixes for event filtration mean that we don't get false matches
1206 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1208 * registryd/deviceeventcontroller.c:
1209 Namespaced a number of static methods to use spi_ prefix. Major
1210 revision to internals of global (i.e. X) key grabs.
1212 * registryd/deviceeventcontroller.h:
1213 Removed keymask_list and added keygrabs_list to
1214 SpiDeviceEventController struct.
1217 Added use of SPI_createAccessibleKeySet API when creating a
1218 listener for only one key. Attach a listener to "shift spacebar
1219 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1220 X key event names to SPI key event names, so that listeners are
1221 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1223 * test/keysynth-demo.c:
1224 Changed (incorrect) use of X key event names (KeyPressed,
1225 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1228 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1230 * libspi/accessible.c:
1231 Convert all AtkRole enumerations to Accessibility_Role enums when
1232 getting a role from an AtkObject.
1234 * cspi/spi_accessible.c:
1235 Complete the conversion of Accessibility_Role enums at runtime to
1236 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1237 role enums correctly match those given in spi-roletypes.h.
1238 Re-synchronize the local names list for AccessibleRole_getName ().
1239 AccessibleRole_getName is now deprecated, since it duplicates the
1240 more reliable Accessible_getRoleName.
1241 Added some role types from Accessibility_Role.idl.
1243 * idl/Accessibility_Role.idl:
1244 Added some role types used by AtkRole.
1246 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1249 * cspi/spi_registry.c:
1251 * cspi/cspi-bonobo-listener.c:
1252 Namespaced all methods that did not begin with an "SPI_" or
1253 "Accessible" prefix to "SPI_".
1256 Homogenized internal function namespace to "cspi_" for statics.
1259 Patched tests to use the new CSPI API.
1261 * docs/reference/cspi/at-spi-cspi-sections.txt:
1262 Updated docs to reflect namespace changes, and added a number of
1263 methods to the documentation.
1265 * registryd/registry.c:
1266 Changed use of strings and string hashes in listener event
1267 matching and parse_event_string to use GQuark, which is guaranteed
1270 * registryd/registry.h:
1271 Squashed annoying warning.
1273 * idl/Accessibility_Role.idl:
1274 Extended range of available Accessibility_Role values.
1276 * cspi/spi_accessible.c:
1277 Re-ordered role names.
1279 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1281 * idl/Accessibility_Value.idl:
1282 Revert use of union back to CORBA_double, since the double type is
1283 more efficient and can contain the other types without loss of
1286 * idl/Accessibility_Accessible.idl:
1287 Added method Accessibility:Accessible:getRoleName, to complement
1288 Accessibility:Accessible:getRole.
1290 * cspi/spi_accessible.c:
1292 Added C binding for above, Accessible_getRoleName (), and changed
1293 signature of Accessible_getRole () to return an AccessibleRole.
1295 * cspi/spi-roletypes.h:
1296 Changed AccessibleRole_getName to return a char * instead of a
1297 const char *. This method is now at least temporarily deprecated
1298 in favor of asking Accessibles for their RoleNames directly.
1301 Revert to match Accessibility_Value.idl;
1305 Change signature of AccessibleValue methods to use double rather
1309 * cspi/spi_accessible.c:
1310 Changed Accessible_getRole to return an AccessibleRole enum rather
1311 than a UTF-8 string. The UTF-8 string can still be obtained via
1312 AccessibleRole_getName ().
1314 * test/test-simple.c:
1315 Add test_action. Small fixup to match API change to Accessible_getRole.
1318 Bugfix for get_action_from_servant ().
1320 2001-12-11 Michael Meeks <michael@ximian.com>
1322 * libspi/libspi.h: remove registry.h and
1323 desktop.h, deviceeventcontroller.h
1325 * libspi/Makefile.am: remove registry.[ch],
1326 desktop.[ch], deviceeventcontroller.[ch]
1328 * registryd/Makefile.am: add registry.[ch],
1329 desktop.[ch], rename registryd.c to registry-main.c.
1330 add deviceeventcontroller.[ch]
1332 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1335 Replace setenv() call with putenv ().
1337 * libspi/component.c:
1338 Bugfix in AccessibleComponent_getExtents (),
1341 2001-12-11 Michael Meeks <michael@ximian.com>
1343 * libspi/image.c (impl_getImageExtents): impl.
1344 (spi_image_class_init): upd.
1347 (AccessibleImage_getImageDescription): fix daft bug
1350 * test/test-simple.c (global_listener_cb): update
1351 to only quit if not --poke
1352 (main): catch --poke.
1353 (validate_accessible): upd. dumping, call test_image
1356 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1359 * idl/Accessibility.idl: update all IDL includes.
1361 * idl/*.idl - rename to namespace - this sucks, blame
1362 mjs' bad decision for oafd.
1364 * test/test-simple.c (create_test_window): add more tests.
1365 (create_tree): split this out.
1366 (validate_accessible): bugfix.
1368 2001-12-11 Michael Meeks <michael@ximian.com>
1370 * cspi/bonobo/cspi-bonobo-listener.c:
1371 (cspi_kestroke_listener_unref),
1372 (cspi_event_listener_unref): impl. undoing previous
1373 homenous environment - for Bill.
1375 * cspi/spi_table.c (long_seq_to_array): use
1378 * cspi/spi_main.c: split out all bonoboish bits into
1381 * cspi/spi-impl.h: upd. typedefs.
1383 * cspi/spi_registry.c: update to lowlevel API,
1384 return booleans to indicate success in some places.
1386 * cspi/spi_event.c: update to lowlevel API.
1388 * cspi/bonobo/Makefile.am: add.
1390 * cspi/bonobo/cspi-lowlevel.h: add
1392 * cspi/bonobo/cspi-bonobo.c: add
1394 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1396 * cspi/Makefile.am: remove spi-listener-impl.[ch],
1397 (SUBDIRS): add bonobo, link in the libs.
1399 * cspi/spi-util.c: kill this file.
1401 * TODO: merge in my bits.
1403 2001-12-11 Michael Meeks <michael@ximian.com>
1405 * test/test-simple.c (test_value, test_table, main):
1406 remove unused variables causing warnings.
1408 * configure.in: cleanup checks - require gail.
1410 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1413 Changed Value interface to use SValue (scalars) rather than
1414 assuming all values are floats. This allows floats, doubles,
1415 longs, shorts, and unsigned values to be manipulated.
1416 Introduced Accessibility:SValue union.
1419 Updated to use new API above, and to work correctly with GValues
1420 of different types in AtkValue.
1423 Updated to use new API above. cspi's API is as yet unchanged.
1426 Updated the Value revision action item.
1428 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1430 * test/test-simple.c:
1431 Added test_table (GtkTreeView widget in test window to follow).
1432 Un-commented test_value, added GtkRange widget.
1433 Added GtkTreeView widget with GtkListStore. It passes regression
1434 test but leaks one SPI object for some reason.
1437 Fixed bug in impl__set_currentValue.
1439 2001-12-10 Michael Meeks <michael@ximian.com>
1441 * cspi/spi_text.c: audit for exception handling,
1442 tolerating NULL object references safely etc.
1444 * cspi/spi_value.c: ditto.
1446 * cspi/spi_table.c (AccessibleTable_getSummary),
1447 (AccessibleTable_getAccessibleAt),
1448 (AccessibleTable_getRowHeader),
1449 (AccessibleTable_getColumnHeader),
1450 (AccessibleTable_getCaption): fix bugs hidden by
1452 (long_seq_to_array): impl.
1453 (AccessibleTable_getSelectedRows),
1454 (AccessibleTable_getSelectedColumns): use it.
1456 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1459 Added a TODO list (rough and short for now).
1461 * cspi/spi_hyperlink.c:
1462 * cspi/spi_hypertext.c:
1463 Fixed macro name typos, and remove use of obsolete macro in
1464 AccessibleHyperlink_getLink.
1466 * cspi/spi_action.c:
1467 * cspi/spi_accessible.c:
1468 * cspi/spi_application.c:
1469 * cspi/spi_component.c:
1470 * cspi/spi_selection.c:
1473 Documentation fixes (removed return values from ref/unref methods).
1475 2001-12-10 Michael Meeks <michael@ximian.com>
1477 * cspi/spi_action.c: audit for exception handling,
1478 tolerating NULL object references safely etc.
1480 * cspi/spi_accessible.c: ditto.
1482 * cspi/spi_component.c: ditto.
1484 * cspi/spi_editabletext.c: ditto.
1486 * cspi/spi_hyperlink.c: ditto.
1488 * cspi/spi_hypertext.c: ditto.
1490 * cspi/spi_image.c: ditto.
1492 * cspi/spi_selection.c: ditto.
1494 2001-12-10 Michael Meeks <michael@ximian.com>
1496 * configure.in: use cspi/libspi.pc.in instead.
1498 * Makefile.am (pkgconfig_DATA): upd. to match.
1500 * test/simple-at.c (report_focus_event): kill hacks around
1501 bad return values, use putenv not setenv
1503 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1504 fire ChildGone - I killed it.
1506 * libspi/component.c
1507 (impl_accessibility_component_get_extents): remove
1510 * idl/Accessible.idl: kill ChildGone exception.
1512 * cspi/*.[ch]: kill int return from ref / unref.
1514 * cspi/spi_main.c (cspi_object_add_check): fold into
1515 (cspi_object_add): here.
1517 * cspi/spi_component.c (AccessibleComponent_getExtents):
1518 handle exceptions elegantly.
1520 * cspi/spi-private.h (cspi_check_ev_return),
1521 (cspi_return_if_fail): impl.
1523 * cspi/spi_accessible.c: use extensively.
1524 (AccessibleStateSet_equals): add direct compare check.
1526 * cspi/spi_selection.c: tolerate NULL objs, and check
1527 exceptions before return.
1529 * cspi/spi-util.c (cspi_warn_ev): rename to
1530 (cspi_check_ev): this & don't pass ev in; no point.
1532 2001-12-10 Michael Meeks <michael@ximian.com>
1534 * test/test-simple.c: use putenv not setenv
1535 (get_environment_vars): more chatty if you're not using
1538 * test/simple-at.c: do the setenv so more people see the
1541 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1543 * libspi/registry.c:
1544 Changed check of CORBA_environment on notification to be a warning
1545 instead of an error for the moment, since we can recover from this
1546 error when caused by a queued notification from a dead app.
1549 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1550 used by all current implementors of AtkValue), and coerce to
1551 CORBA_float. (Proper general case fix may require change to Value.idl).
1553 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1557 * cspi/spi_accessible.c:
1558 Documentation fixes: added user_data params to documentation for
1559 listeners and callbacks.
1561 * cspi/spi_accessible.c:
1562 Changed AccessibleStateSet_compare to return a
1563 StateSet rather than return the difference set into a third parameter.
1566 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1569 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1570 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1574 Remove subdirectory po from SUBDIRS for now.
1576 * at-bridge/bridge.c:
1577 Beefed up a couple of debug printouts.
1578 One-line fix for signal notification name formatting.
1580 * libspi/accessible.c:
1581 Added assertion to spi_accessible_new ().
1583 * libspi/application.c:
1584 Put #ifdef qualifiers around a printf.
1587 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1589 * registryd/Makefile.am:
1591 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1592 INTLTOOL_SERVER_RULE macro.
1595 Added an event listener for several ATK signals, for
1596 testing and debugging. Removed a few g_warnings.
1597 Added test output if focussed item implements the Value interface.
1599 * test/test-simple.c:
1600 Added test_value () function (known not to pass at the moment, so
1601 not actually called yet.
1603 2001-12-08 Michael Meeks <michael@ximian.com>
1605 * at-bridge/bridge.c (bridge_focus_tracker),
1606 (emit_eventv): fix the same ref. leak.
1607 (register_atk_event_listeners): don't leak.
1609 * cspi/spi-listener-impl.c (cspi_event): more
1610 protection from client code.
1612 * test/test-simple.c (test_desktop): unref the app.
1614 * test/Makefile.am: upd. TESTS.
1616 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1618 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1620 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1622 * cspi/spi_registry.c: constify in strings.
1623 (deregisterGlobalEventListenerAll): don't release the ref.
1625 * cspi/spi.h: start removing redundant / conflicting
1626 gtkdoc comments, making the API readable at a glance :-)
1628 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1630 * test/keysynth-demo.c (keysynth_exit, main): upd.
1632 * test/simple-at.c (main, simple_at_exit): upd.
1634 * test/test-simple.c (unutterable_horror): kill.
1635 (utterable_normal_derefs): kill.
1636 (main): upd & do a setenv before gtk_init, so that we
1637 can use memprof - and to save the pain of remembering
1638 this, if we're running under memprof - don't exit.
1640 * cspi/spi_main.c (SPI_exit): return exit status
1642 (SPI_event_quit): impl.
1643 (SPI_event_main): simplify.
1644 (cspi_is_gnome_app): kill.
1645 (SPI_init): kill isGNOMEapp arg.
1647 * at-bridge/bridge.c (register_atk_event_listeners):
1648 re-instate the unref.
1649 (bridge_exit_func): don't re-activate the registry,
1650 protect vs. theoretical re-entry, use the
1651 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1652 assert a clean shutdown - for regression tests.
1654 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1656 * configure.in: Comment out dummy i18n support for now,
1657 otherwise it fails to build.
1658 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1659 EXTRA_DIST. They are missing in tarball.
1661 2001-12-07 Michael Meeks <michael@ximian.com>
1663 * util/magnifier.c: kill bonobo activation reg. race.
1665 * libspi/component.c
1666 (impl_accessibility_component_get_extents): make it match
1669 * libspi/registry.c (_registry_notify_listeners):
1670 re-remove X headers & reconcile conflicts.
1671 (spi_listener_struct_free): bad conflict resolve.
1672 (impl_accessibility_registry_register_application):
1673 more bad merging fixed.
1674 (impl_accessibility_registry_deregister_application): ditto.
1675 (spi_registry_new): ditto.
1676 (spi_registry_init): don't have an applications field.
1678 [ merge fixups2 branch to here ]
1679 2001-12-07 Michael Meeks <michael@ximian.com>
1681 * test/simple-at.c (report_focus_event),
1682 (report_focussed_accessible): remove g_warning debug.
1684 2001-12-07 Michael Meeks <michael@ximian.com>
1686 * test/test-simple.c (validate_tree): comment out some checks.
1687 (test_desktop): app now not registered idly - horay.
1689 2001-12-07 Michael Meeks <michael@ximian.com>
1691 * cspi/spi_registry.c
1692 (registerAccessibleKeystrokeListener): clean, stop it leaking
1693 great swathes of memory, and device event controller references.
1694 ensure we always pass valid sequences.
1695 (deregisterAccessibleKeystrokeListener): ditto.
1696 (generateKeyEvent): upd.
1698 * at-bridge/bridge.c (bridge_key_listener): handle
1699 registry dead exception gracefully.
1700 (bridge_focus_tracker, emit_eventv): free ev.
1702 * test/simple-at.c (report_focus_event): fix polarity.
1704 * libspi/application.c (notify_listeners): kill the ev
1705 argument, and make sure we init the ev we use.
1706 (spi_application_object_event_listener): split out a chunk
1707 (get_atk_object_ref): here & fixup.
1708 (reverse_lookup_name_for_toolkit_event): make const.
1709 (spi_application_toolkit_event_listener): fixup, kill leaks
1712 * at-bridge/bridge.c (register_atk_event_listeners):
1713 don't unref the noop object - causes grief.
1715 * libspi/registry.c: remove the X headers.
1716 turn off the debug churn.
1718 * libspi/accessible.c (spi_accessible_new_return): only
1719 release the ref if we are supposed to [doh]
1721 * test/simple-at.c (report_button_press, report_focus_event):
1722 guard vs. unexpected exit.
1724 * at-bridge/bridge.c (gtk_module_init): prune printf.
1725 (bridge_exit_func): fix app unref.
1727 * libspi/Makefile.am: don't install registry or desktop.h
1729 * libspi/*.h: update includes.
1731 * libspi/application.h: don't include ourself, or
1732 other redundant headers.
1734 2001-12-06 Michael Meeks <michael@ximian.com>
1736 * libspi/accessible.c
1737 (get_accessible_from_servant): impl.
1738 Upd. all CORBA impl.s to use it killing cut and paste.
1740 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1742 (SPI_init): register atexit cleanup handler here.
1744 2001-12-06 Michael Meeks <michael@ximian.com>
1746 * at-bridge/bridge.c (gtk_module_init): g_error on
1747 activation exception
1749 2001-12-06 Michael Meeks <michael@ximian.com>
1751 * at-bridge/bridge.c (gtk_module_init): some sort of
1752 confusing merge clash - reverted.
1753 (bridge_idle_init): ditto.
1755 * test/test-simple.c (main, utterable_normal_derefs):
1756 merge from Bill - somehow not committed.
1758 2001-12-06 Michael Meeks <michael@ximian.com>
1760 * libspi/value.c (spi_value_class_init): upd.
1761 (spi_value_finalize): kill.
1763 * libspi/table.c (spi_table_finalize): kill.
1764 (spi_table_interface_new): upd.
1765 (spi_table_class_init): upd.
1766 (get_table_from_servant): impl.
1767 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1769 * libspi/selection.c (spi_selection_finalize): kill.
1770 (spi_selection_interface_new): upd.
1771 (spi_selection_class_init): upd.
1772 (get_selection_from_servant): impl.
1773 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1775 * libspi/relation.c (spi_relation_finalize): kill.
1776 (spi_relation_class_init, spi_relation_new): upd
1778 * libspi/image.c (spi_image_finalize): kill.
1779 (spi_image_class_init): upd.
1780 (spi_image_interface_new): upd.
1781 (get_image_from_servant): impl.
1782 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1784 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1785 (spi_hyperlink_finalize): kill.
1786 (spi_hyperlink_new): upd.
1787 (get_hyperlink_from_servant): impl.
1788 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1790 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1791 (spi_hypertext_finalize): kill.
1792 (spi_hypertext_class_init): upd.
1793 (get_hypertext_from_servant): impl.
1794 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1796 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1797 (spi_editable_text_interface_new): upd.
1798 (get_editable_text_from_servant): impl.
1799 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1801 * libspi/text.c (get_text_from_servant): impl.
1802 All impls - update to use it killing more cut and paste,
1803 also fix bad string returns on duff args ( a somewhat
1804 impossible case to handle - but hey ).
1805 (spi_text_construct): impl.
1806 (spi_text_interface_new): upd.
1807 (spi_text_object_finalize): kill.
1809 * libspi/component.c
1810 (accessibility_component_object_finalize): kill.
1811 (spi_component_class_init): upd.
1812 (get_component_from_servant): impl. helper to kill cut & paste.
1813 (impl_accessibility_component_contains):
1814 (impl_accessibility_component_get_accessible_at_point):
1815 (impl_accessibility_component_get_position):
1816 (impl_accessibility_component_get_extents):
1817 (impl_accessibility_component_get_mdi_z_order):
1818 (impl_accessibility_component_get_layer):
1819 (spi_component_interface_new): upd.
1821 * libspi/action.c (spi_action_finalize): kill.
1822 (spi_action_class_init): upd. inherit from SpiObject.
1823 (spi_action_interface_new): upd.
1824 (get_action_from_servant): impl. helper to reduce cut & paste.
1825 (impl_getKeyBinding, impl_getName, impl_doAction),
1826 (impl_getDescription): Use it everywhere.
1828 * cspi/spi_main.c (get_live_refs): a pointer hash.
1829 (spi_object_hash, spi_object_equal): comment out.
1830 There are issues with CORBA object hashing that need
1833 * libspi/application.c (spi_application_init),
1834 (spi_application_new): upd.
1836 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1837 (spi_accessible_class_init): upd.
1838 s/accessible/object/ in epv methods.
1840 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1842 * at-bridge/bridge.c:
1843 Reorder the bridge initialization into the bridge gtk_module_init,
1844 an immediate call to bridge_register_app, and an idle_add for
1845 register_atk_event_listeners (the only code that *must* wait until
1846 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1847 the activation, creates the application's Accessible object, and
1848 queues the bridge_idle_init function. Restored call to
1849 Accessibility_Registry_deregisterApplication().
1850 Prior to making this call we obtain a new reference to the
1851 registry, which is a temporary hack that helps us handle apps that
1852 shut down the bonobo mainloop before we get there.
1854 * libspi/registry.c:
1855 Fix string leakage in debug block, and don't segv if a an app
1856 dies before its event notifications have been propagated.
1859 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1860 as stopgap measure until we get proper exception handling when
1861 objects die during or before interrogation.
1865 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1866 Also changed default value of is_gnome_app to TRUE.
1869 * test/keysynth-demo.c:
1870 Changed use of SPI_init and SPI_event_main to reflect API change above.
1873 Made report_focus_event check the warning value from getName
1874 before reporting on focussed accessible; simplifies handling of
1875 notifications from dead objects.
1877 * test/test-simple.c: (Changes not in this patch since source is
1880 2001-12-05 Michael Meeks <michael@ximian.com>
1882 * registryd/registryd.c (main): protect against
1883 bonobo-activation startup race condition.
1885 * cspi/spi_main.c (cspi_object_add_check): cope
1886 with the exception elegantly.
1888 * idl/Accessible.idl: decl. ChildGone
1890 * libspi/desktop.c (spi_desktop_dispose): impl.
1891 (spi_desktop_class_init): upd.
1892 (spi_desktop_add_application),
1893 (spi_desktop_remove_application),
1894 (abnormal_application_termination): impl.
1895 (impl_desktop_get_child_at_index): re-impl.
1898 (impl_accessibility_registry_deregister_application),
1899 (impl_accessibility_registry_register_application):
1900 kill excessive debug clutter.
1902 * test/test-simple.c (test_misc): test some NULL
1903 tolerance. (main): upd.
1905 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1906 implements no interfaces - so let's not crash.
1908 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1910 * libspi/accessible.c (spi_accessible_new_return): impl.
1911 helper to calm the cut and paste, to cope with
1912 NULL AtkObjects effectively and efficiently, and to kill
1913 the referencing bugs.
1915 * libspi/table.c (impl_getAccessibleAt),
1916 (impl_getRowHeader, impl_getColumnHeader): upd.
1918 * libspi/hyperlink.c (impl_getObject): upd.
1920 * libspi/accessible.c
1921 (impl_accessibility_accessible_get_child_at_index): upd.
1923 * libspi/component.c
1924 (impl_accessibility_component_get_accessible_at_point): upd.
1926 * test/test-simple.c (test_editable_text, test_text): impl.
1929 * cspi/spi_editabletext.c
1930 (AccessibleEditableText_insertText): constify.
1932 * test/test-simple.c (focus_me): make more robust.
1934 * libspi/accessible.c: remove some printfs in methods that
1935 we test and work fine, so we can get a clean tree dump.
1937 * test/test-simple.c (validate_accessible),
1938 (validate_tree): make tree dumping pretty too.
1940 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1941 it builds without debug on.
1943 * test/test-simple.c (validate_accessible): fix the most
1946 * cspi/spi_main.c (spi_object_release): leave the nicely
1947 blanked memory around if in debug mode.
1949 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1951 [committed to fixups2]
1952 2001-12-05 Michael Meeks <michael@ximian.com>
1954 * libspi/editabletext.c
1955 (spi_editable_text_class_init): g_type_class_peek_parent,
1956 not interface peek - so we finalize cleanly.
1958 * libspi/accessible.c (spi_accessible_new): kill debug.
1960 * test/test-simple.c (validate_accessible): fix ref.
1961 leak, print strings before freeing them; sigh, comment a
1962 chunk out due to strangeness.
1963 (validate_tree): unref the child after use.
1965 * cspi/spi_component.c (AccessibleComponent_getLayer):
1966 add missing break statement, switch on zlayer not the
1967 uninitialized retval.
1969 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1970 before (possibly re-entering) remote unref.
1972 * test/simple-at.c (main): unref the desktop.
1974 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1977 * cspi/spi_main.c (cspi_accessible_is_a): here to
1978 isolate bonobo API usage more.
1980 * libspi/registry.c (impl_accessibility_registry_register_application):
1981 prune bogus comment.
1983 2001-12-04 Michael Meeks <michael@ximian.com>
1985 * test/test-simple.c (validate_tree): upd.
1986 IndexInParent check to make it more lucid.
1987 (validate_accessible): dump the tree.
1989 * libspi/accessible.c (de_register_public_ref),
1990 (get_public_refs): impl.
1991 (spi_accessible_new): make more efficient & intuitive.
1992 Now IndexInParent check works.
1994 2001-12-04 Michael Meeks <michael@ximian.com>
1996 * cspi/spi-util.h: remove.
1998 * cspi/spi.h: move SPI_freeString here
2000 * libspi/component.c (impl_accessibility_component_get_layer):
2002 (impl_accessibility_component_get_mdi_z_order): ditto,
2003 return -1 on error - is this ok ?
2005 * test/test-simple.c (test_application): impl.
2007 * cspi/spi_accessible.c (Accessible_getApplication),
2008 (Accessible_isApplication): impl.
2010 * libspi/registry.c (spi_listener_struct_free): release
2011 the CORBA reference too.
2013 * libspi/accessible.c
2014 (impl_accessibility_accessible_get_parent): fix ref leak.
2016 * libspi/registry.c (spi_registry_new): make the registry
2017 immortal - we don't want it to go away ever.
2019 * libspi/application.c
2020 (spi_accessible_application_finalize): impl. cleanup.
2022 * cspi/spi_registry.c
2023 (deregisterGlobalEventListenerAll),
2024 (deregisterGlobalEventListener),
2025 (deregisterAccessibleKeystrokeListener): fix ref leak.
2027 * cspi/spi_main.c (SPI_init): remove redundant ref.
2029 * test/test-simple.c (unutterable_horror): impl. to force a
2034 (impl_accessibility_registry_deregister_application): release
2035 the application when we de-register it.
2037 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2038 until we have the infastructure to get it right.
2040 2001-12-03 Michael Meeks <michael@ximian.com>
2042 * libspi/Makefile.am: only build eventlistener.[ch]
2044 * libspi/accessible.c
2045 (impl_accessibility_accessible_get_child_at_index): don't leak.
2047 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2048 before we hit the idle handler.
2050 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2051 debugging than exit.
2053 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2055 * libspi/listener.c (impl_notify_event): check source
2056 not NIL before unref.
2058 * libspi/registry.c (impl_registry_notify_event): ditto.
2060 * libspi/eventlistener.c
2061 (impl_accessible_event_notify_event): unref the source.
2063 * libspi/accessibleeventlistener.c
2064 (impl_accessible_event_notify_event): unref the source.
2066 * idl/Event.idl: remove 'hash_id' attribute - of no
2069 * libspi/application.c (notify_listeners): upd list
2071 (spi_application_object_event_listener),
2072 (spi_application_toolkit_event_listener): upd to do correct
2076 (_registry_notify_listeners): update.
2077 (parse_event_type): this method also leaks like a sieve.
2078 (impl_accessibility_registry_deregister_global_event_listener):
2079 fix ETYPE_WINDOW case.
2081 * libspi/application.c
2082 (impl_accessibility_application_register_object_event_listener):
2085 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2087 * libspi/hypertext.c (impl_getLink): ditto.
2089 * cspi/spi_main.c (cspi_object_add): remove
2090 bogus CORBA_Object_duplicate.
2092 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2095 * cspi/spi_accessible.c
2096 (Accessible_getRelationSet): fix leak / referencing issue.
2098 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2099 (cspi_object_add, cspi_object_unref): upd.
2100 (spi_object_release, get_live_refs): impl.
2101 (cspi_cleanup): simplify.
2103 * *.[ch]: s/boolean/SpiBoolean/
2105 * cspi/spi_accessible.c (role_names): actualy order so it
2106 corresponds with the enum !
2108 * test/test-simple.c (test_roles): check some role strings
2109 vs. enums to detect offset errors.
2111 2001-12-01 Michael Meeks <michael@ximian.com>
2113 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2115 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2117 (Accessible_getChildAtIndex): use cspi_add_check so we
2118 check the ev before using a (possibly) invalid value.
2120 * libspi/accessible.c
2121 (impl_accessibility_accessible_get_parent): don't segv
2124 * at-bridge/bridge.c (gtk_module_init): upd.
2125 (bridge_property_event_listener): don't leak strings
2127 (bridge_state_event_listener),
2128 (bridge_property_event_listener): don't use a static
2129 buffer in case of recursive event emission &
2130 re-enterancy - split out the swathe of cut and paste
2132 (emit_eventv): and fix 2 ref leaks here & comply to the
2134 (bridge_register_app): rename to
2135 (bridge_idle_init): this and kill arg parsing, split
2136 various inits & bonobo-activation registration to module
2137 init time, kill referencing error.
2138 (bridge_exit_func): fix the same leak.
2139 (bridge_focus_tracker): don't leak event structures
2141 (bridge_signal_listener): more leakage and cut & paste
2143 (bridge_key_listener): return the result - FIXME is
2144 this polarity correct ?
2145 (accessibility_keystroke_from_atk_key_event): rename
2146 (accessibility_init_keystroke_from_atk_key_event): and stop
2148 (gtk_module_init): return a value - not that it is checked by
2150 (bridge_key_listener): register my horror at casting between
2151 IDL defined structs.
2152 (bridge_get_registry): kill - not used.
2154 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2156 * test/test-simple.c (test_roles): impl.
2157 (test_desktop, validate_accessible, validate_tree): impl.
2159 * cspi/spi_accessible.c (role_names): fixup bogus
2160 MAX_ROLES setup, make constants const for efficient linkage
2161 (AccessibleRole_getName): conform to coding style, make
2164 2001-11-30 Michael Meeks <michael@ximian.com>
2166 * cspi/spi.h: add missing prototype.
2168 * libspi/registry.c (spi_listener_struct_new): fix sig.
2170 * test/Makefile.am: add test-simple
2172 * test/test-simple.c: add
2174 * test/test.sh: add.
2176 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2178 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2179 do it straight - since otherwise we often get an activation race.
2181 [ work before Bill duplicated a chunk of it ... ]
2182 2001-11-30 Michael Meeks <michael@ximian.com>
2184 * libspi/keystrokelistener.c
2185 (spi_keystroke_listener_class_init): fixup arg
2188 * libspi/eventlistener.c
2189 (spi_event_listener_class_init): ditto.
2191 * tests/test.sh: add.
2193 * cspi/spi-listener-impl.h: update macros.
2195 * cspi/spi-listener-impl.c
2196 (cspi_event_listener_remove_callback): add
2197 correct pre-conditions.
2199 * cspi/spi_main.c (SPI_exit): guard vs. double
2200 exits, exit the mainloop nicely.
2201 (SPI_event_main): make more sense.
2202 (SPI_init): move the atexit evilness here so we
2203 always do it (yuck).
2204 (SPI_event_main): upd.
2206 * test/simple-at.c: update for listener changes.
2208 * registryd/registryd.c (main): prune kruft.
2210 * libspi/libspi.h: upd.
2212 * libspi/eventlistener.[ch]: rename broken macros.
2214 * libspi/accessibleeventlistener.[ch]: remove.
2216 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2218 * test/test-simple.c: Add - automated tests.
2220 * cspi/spi-listener-impl.c (cspi_event),
2221 (cspi_key_event): add user_data to invoke.
2222 (cspi_keystroke_listener_finalize): impl.
2223 (cspi_keystroke_listener_class_init): upd.
2226 (createAccessibleEventListener),
2227 (AccessibleEventListener_addCallback),
2228 (createAccessibleKeystrokeListener),
2229 (AccessibleKeystrokeListener_addCallback): upd.
2231 * libspi/deviceeventcontroller.c
2232 (spi_device_event_controller_check_key_event): add public proto.
2235 (impl_accessibility_registry_deregister_global_event_listener):
2236 always init listeners.
2237 (_registry_notify_listeners): yes it is.
2239 * cspi/spi-listener-impl.c (cspi_key_event):
2241 (cspi_event_listener_finalize): impl.
2242 (cspi_event_listener_class_init): hook up.
2243 (event_handler_new, event_handler_free),
2244 (event_list_remove_by_callback): impl.
2245 (cspi_event_listener_remove_callback),
2246 (cspi_keystroke_listener_remove_callback),
2247 (cspi_keystroke_listener_add_callback),
2248 (cspi_event_listener_add_callback): upd.
2250 * libspi/keystrokelistener.c
2251 (keystroke_listener_object_finalize): kill
2252 (spi_keystroke_listener_class_init): upd.
2253 (spi_keystroke_listener_add_callback),
2254 (spi_keystroke_listener_remove_callback): kill,
2256 (impl_key_event): prune drasticaly.
2258 * libspi/eventlistener.c
2259 (spi_event_listener_add_callback),
2260 (spi_event_listener_remove_callback): kill, use
2262 (impl_accessible_event_notify_event): upd.
2263 (spi_event_listener_object_finalize): remove.
2265 * libspi/Makefile.am: use eventlistener.[ch]
2267 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2269 * libspi/registry.c (_registry_notify_listeners):
2270 Changed listener loop iteration to use preferred convention.
2271 Got rid of string memory leaks caused be calling g_strconcat
2272 inside function calls.
2274 * libspi/registry.c (parse_event_type):
2275 Stopped g_strconcat memory leaks, free the g_strsplit return,
2276 g_strdup the split pieces when used, etc.
2278 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2281 Change method 'compare' to return a 'difference set' rather than
2282 taking a StateSet as an out parameter (more Java-friendly).
2284 * idl/Accessible.idl:
2285 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2287 * idl/Component.idl:
2289 Changed methods 'getExtents' and 'getImageExtents' in these
2290 interfaces to return a BoundingBox structure.
2291 (getPosition and getSize are redundant and possibly should be
2292 removed, rather than creating a corresponding Point struct.)
2294 * cspi/spi_component.c:
2295 Modify implementation of getExtents to reflect the above IDL
2300 Add (missing) AccessibleImage_getExtents () API.
2302 * docs/reference/cspi/at-spi-cspi-sections.txt:
2303 Added AccessibleImage_getImageExtents () to docs.
2305 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2307 * idl/Component.idl:
2308 Added two methods, getLayer () and getMDIZOrder (), to reflect
2309 the new ATK methods atk_object_get_layer and
2310 atk_object_get_mdi_z_order. (Which arguably should be part of the
2311 AtkComponent API and AtkObject). Also added an enum,
2312 ComponentLayer, for the first method's return value.
2314 * libspi/component.c:
2315 Added implementations for these methods.
2317 * cspi/spi_component.c:
2319 Added cspi binding methods for above,
2320 AccessibleComponent_getLayer() and
2321 AccessibleComponent_getMDIZOrder().
2322 Added cspi enum 'AccessibleComponentLayer'.
2324 * docs/reference/cspi/at-spi-cspi-sections.txt:
2325 Added above methods to docs.
2329 Changed typedef for 'boolean' type (and all references to it) to
2330 SPIBoolean, to avoid keyword clashes with C++.
2333 Changed usages of 'boolean' to SPIBoolean.
2335 * test/keysynth-demo.c:
2336 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2337 app), except where SPIBoolean is required by the callbacks API.
2339 2001-12-02 Bill Haneman <bill.haneman@sun.com>
2341 * cspi/spi_registry.c:
2342 Removed obsolete X event loop for passive keygrabs (which now
2345 * registryd/registryd.c:
2346 Removed unnecessary call to gdk_init() [cruft]. This also allows
2347 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2350 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2352 * docs/reference/cspi:
2353 Included docs for SPI_freeString in generated documentation.
2356 Renamed spi_freeString to SPI_freeString, for consistency. Added
2357 documentation for this function.
2360 Renamed spi_freeString to SPI_freeString, for consistency.
2361 Removed obsolete method declaration string_from_corba_string.
2363 * test/keysynth-demo.c:
2364 Small tweak to comments.
2367 Stopped leaking the strings returned from CSPI.
2369 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2371 Merged Michael's branch (see his ChangeLog entries below).
2373 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2374 bridge is alive, release on exit.
2376 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2377 Fix type check macro.
2380 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2383 Added is_gnome_app static, and method cspi_is_gnome_app(),
2384 so we can call the appropriate shutdown routine at exit in SPI_exit.
2386 * cspi/spi_main.c (cspi_object_ref):
2387 Duplicate the corba object passed in, since we're keeping it around.
2389 * cspi/SPI_exit.c, cspi_cleanup:
2390 Moved the releasing of the live refs to its own function, so we
2391 can put it in g_atexit (). Call the appropriate shutdown API
2392 depending on whethe calling client is a gnome app or not
2393 (bonobo_main_quit or CORBA_ORB_shutdown).
2395 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2396 Unref the listener when this method is called, after
2397 deregistration. Updated the API docs to note this behavior.
2399 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2400 Bugfixes: Ref the bonobo object when returning a parent or child
2401 reference, or an AccessibleRelation. Generally made sure
2402 BonoboObject refcount is incremented whenever we return an
2405 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2406 Fixed typo/bug in signal declaration.
2408 * libspi/accessibleeventlistener.h:
2411 * libspi/application.c (spi_application_new):
2412 Fixed leak in initialization.
2415 Remembered to increment bonobo-object refcount when returning
2416 children (applications) from desktop object.
2417 Added (empty) finalize method.
2419 * libspi/deviceeventcontroller.c:
2420 Hold a ref to listeners inside DEControllerKeyListeners.
2421 Added dec_key_listener_free() method. Use prepend instead of
2422 append in key_listener list. Fixed some refcount madness and
2423 leaks in the listener registration/deregistration - deregistration
2424 now calls dec_key_listener_free() on listeners, and on the
2425 temporarily constructed dec_key_listener() used to perform the search/match.
2427 * libspi/hypertext.c (spi_hypertest_finalize):
2428 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2429 class. Also fixed spi_hypertext_interface_new() and
2430 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
2432 * libspi/hypertext.h:
2433 Removed pointless and duplicate AtkObject pointer from
2436 * libspi/keystrokelistener.c:
2437 Fixed incorrect type of keystroke_listener_parent_class,
2438 renamed keystroke_listener_object_finalize to
2439 spi_keystroke_listener_object_finalize.
2440 Fixed typo in signal declaration
2441 (spi_keystroke_listener_class_init).
2443 * libspi/registry.c:
2444 Added funcsions spi_listener_struct_new() and
2445 spi_listener_struct_free() to help with memory management issues.
2446 We also now use these methods instead of gnew + poking stuff into
2447 the struct, and to decrement listener counts/free the listeners
2448 when deregistering them.
2449 Fix more refcount bugs in getDesktop() and
2450 getDeviceEventController().
2453 De-ref the desktop after enumerating the applications. Explicitly
2454 decrement the refcounts on the created listeners on exit (using
2455 _unref for keystroke listeners, and via the
2456 deregisterGlobalEventListenerAll command for other event
2459 2001-11-27 Michael Meeks <michael@ximian.com>
2461 * cspi/spi-listener.h: fixup enum.
2463 2001-11-27 Michael Meeks <michael@ximian.com>
2465 * cspi/spi-listener-impl.c (cspi_event_listener_new),
2466 (cspi_keystroke_listener_new): Use the cspi variants.
2468 2001-11-26 Michael Meeks <michael@ximian.com>
2470 * test/keysynth-demo.c: fix 2 compile warnings, missing
2473 * test/simple-at.c (report_focussed_accessible),
2474 (report_focus_event, report_button_press),
2475 (check_property_change, is_command_key),
2476 (report_ordinary_key_event, report_command_key_event): upd.
2478 * util/mag_client.h: include pre-requisites.
2480 * libspi/accessibleeventlistener.c
2481 (spi_event_listener_object_finalize): free any lingering
2484 * libspi/keystrokelistener.c
2485 (keystroke_listener_object_finalize): ditto.
2487 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2488 callbacks, with cspi types.
2490 * cspi/spi_event.c (createAccessibleEventListener): chain to
2491 (AccessibleEventListener_addCallback): here.
2492 (createAccessibleKeystrokeListener): chain to
2493 (AccessibleKeystrokeListener_addCallback): here.
2495 * libspi/keystrokelistener.c
2496 (spi_keystroke_listener_class_init): add signal.
2497 (impl_key_event): emit the event.
2498 (boolean_handled_accumulator): impl.
2499 (marshal_BOOLEAN__POINTER): add, gack.
2501 * libspi/accessibleeventlistener.c
2502 (spi_event_listener_class_init): add signal.
2503 (impl_accessible_event_notify_event): emit the signal &
2504 make the loop efficient.
2505 (spi_event_listener_add_callback): prepend the callback.
2507 * libspi/accessibleeventlistener.h: add an 'event' signal,
2508 decl type on callback.
2510 * libspi/keystrokelistener.h: ditto.
2512 * cspi/spi-listener.h: make methods typesafe and
2513 make them use the new event typedefs.
2515 * test/simple-at.c (report_focussed_accessible):
2516 include mag_client.h
2517 Use *(void *)text_interface not the other thing.
2519 * configure.in: add gtk to registryd bits - since we use
2522 * util/magnifier.c: include libbonobo.h
2524 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2526 * test/keysynth-demo.c:
2527 Turned this into a simple scanning keyboard, to demonstrate the
2528 use of g_timeout_add () as a means of creating timers for
2529 scanning, and the use of GtkStyle for visually indicating when
2530 virtual keyboard elements are selected.
2532 keysynth-demo now listens to any keyboard keys with zero-valued
2533 keycodes (i.e. 'unused' keys) and interprets them as
2536 Reworked the shiftlatch code so that shift-down state isn't held
2537 for long periods (it's only synthesized immediately prior to
2538 the keysynth event it's modifying). Note that shiftlatch in this
2539 demo is a convenience, not intended to take the place of AccessX
2540 which is the better choice for getting 'sticky' modifier keys.
2542 * libspi/deviceeventcontroller.c:
2543 * at-bridge/bridge.c:
2544 * cspi/spi_registry.c:
2545 Removed some debug print stuff, and put other verbosity in #ifdef
2550 Implemented some more of the magnifier IDL for the simple
2551 magnifier: namely, getZoomRegionParams.
2552 Added mag_x and mag_y members to MagnifierData struct, aid of this
2554 Added GtkWindow::realize signal handler to magnifier, to keep it
2555 from receiving keyboard focus from the WM.
2557 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2559 * cspi/spi-private.h: my guess at what michael forgot
2560 before he ran off to NZ :-)
2562 2001-11-23 Michael Meeks <michael@ximian.com>
2564 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2565 comment out non existant method invoke so we link.
2567 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2568 use bonobo_exception_get_text for more friendly warnings.
2570 * cspi/spi.c (Obj_Add): move into spi_main & rename
2571 spi_object_add; kill spi.c
2573 * cspi/spi_registry.c
2574 (deregisterGlobalEventListener),
2575 (deregisterGlobalEventListenerAll),
2576 (registerGlobalEventListener): fix exception leaks.
2578 * cspi/spi_main.c (spi_exception): impl. helper, so we
2579 don't leak exceptions.
2581 * cspi/spi_selection.c
2582 (AccessibleSelection_deselectSelectedChild): return the
2585 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2586 (spi_registry): ditto.
2587 (SPI_init): guard against double inits.
2589 * cspi/*.c: use spi_ev (), and spi_registry () where
2590 appropriate - a temporary hack until we have something
2591 better. Use spi_object_add
2593 2001-11-22 Michael Meeks <michael@ximian.com>
2595 * cspi/Makefile.am: re organise, install the headers.
2597 * cspi/*.h: add G_BEGIN/END_DECLS
2599 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2602 Added non-preemptive keylistener for key events with no modifiers
2603 and shift-only modifier.
2605 * libspi/keystrokelistener.c:
2606 Removed some verbose diagnostics printout.
2608 * cspi/spi_registry.c:
2609 Fixed a bug that caused all key listeners to be registered as
2612 * libspi/deviceeventcontroller.c:
2613 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2614 for non-preemptive key masks.
2617 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2619 * docs/reference/idl/at-spi-idl-docs.sgml:
2620 * docs/reference/idl/at-spi-idl-sections.txt:
2621 * docs/reference/idl/at-spi-idl-overrides.txt:
2622 Added missing files.
2624 * docs/reference/Makefile.am:
2625 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2626 to scan the IDL files :-(
2631 Added .cvsignore files.
2633 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2635 * libspi/deviceeventcontroller.c:
2636 * libspi/keystrokelistener.c:
2638 * cspi/spi_registry.c:
2639 Added filters for KeySets, KeyEventSeq, and event types to key
2640 event dispatching, so listeners should only receive those events
2641 that they requested :-)
2643 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2648 * docs/reference:Makefile.am:
2649 * docs/reference/cspi:
2650 * docs/reference/cspi:Makefile.am:
2651 * docs/reference/cspi:tmpl:
2652 * docs/reference/cspi:tmpl:*.sgml:
2653 * docs/reference/idl:
2654 * docs/reference/idl:Makefile.am:
2655 * docs/reference/idl:at-spi-idl-sections.txt:
2656 * docs/reference/idl:at-spi-idl-docs.sgml:
2657 * docs/reference/idl:tmpl:
2658 * docs/reference/idl:tmpl:*.sgml:
2660 Restructured docs directory to allow separate 'reference' docs
2661 section, and forked idl and cspi docs. Added the sgml template
2662 files to CVS. Added the first sections/structural sgml for the
2665 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2667 * configure.in, libspi/Makefile.am: find libXtst.
2669 2001-11-21 Michael Meeks <michael@ximian.com>
2671 * test/accessx-gui.c: s/spi_value/value/ - doh.
2673 * libspi/base.[ch]: add.
2675 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2677 * idl/Accessible.idl:
2678 * idl/Application.idl:
2681 Started gtk-doc cleanup on IDL.
2683 * libspi/deviceeventcontroller.c:
2684 Added and connected non-preemptive key notification from the
2685 toolkits (in addition to the pre-emptive support from XServer
2686 which we had before, but which causes 'focus flashing'). Filters
2687 are presently limited to key modifiers and global/non-global,
2688 KeySets are presently ignored, as are KeyEvent masks.
2690 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2691 structs into the persistant structure rather than just storing
2692 pointers to things that might not persist across servant
2695 The XGrabKey call now does async keygrabs, because synchronous
2696 ones were deadlocking with GDK_event code in a very nasty way.
2698 Added boolean to internal method notify_keylisteners, to indicate
2699 whether the event came from the 'toolkit source' or the 'global
2700 (XServer) source' - this is used in the notification process to
2701 determine which listeners to send the event to.
2703 deviceeventcontroller.c is now warning-free.
2705 * libspi/registry.c:
2706 Fixed regression in application de-registration.
2707 Also fixed some really brain-dead weirdness having to do with
2708 event dispatching - event structs are now duplicated before being
2709 re-marshalled in the dispatch to listeners. This also fixes a
2710 Solaris build problem.
2713 2001-20-11 Michael Meeks <michael@ximian.com>
2716 (impl_accessibility_registry_deregister_global_event_listener):
2719 * libspi/deviceeventcontroller.c
2720 (spi_device_event_controller_check_key_event): return
2721 FALSE on no virtual method.
2723 * libspi/*..h: make includes work on a correctly pathed install.
2725 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2727 * libspi/application.h: kill unused ( and whacked out )
2728 gboolean *spi_application_set_id (AtkObject *app, long id);
2730 2001-20-11 Michael Meeks <michael@ximian.com>
2732 * libspi/*.[ch]: further convert to bonobo's type func
2733 macros, remove redundnant casts etc.
2735 * libspi/text.c s/accessibility_text/spi_text/g,
2736 re-order to de-cruft.
2738 * libspi/hypertext.c: re-order to kill a huge slew
2739 of redundant forward decls.
2741 * libspi/relation.c: ditto.
2743 * libspi/image.c: ditto.
2745 * */.cvsignore: update
2747 2001-20-11 Michael Meeks <michael@ximian.com>
2749 * libspi/deviceeventcontroller.c
2750 (_controller_register_with_devices): use g_getenv,
2751 kill stdlib.h include.
2753 * libspi/keystrokelistener.c
2754 (spi_keystroke_listener_get_type): kill
2755 (spi_keystroke_listener_class_init),
2756 (spi_keystroke_listener_init): rename to this.
2758 * libspi/text.c (impl_getAttributes): fix warning / bug.
2760 * libspi/*.[ch]: more headers, includes and over commenting.
2762 2001-20-11 Michael Meeks <michael@ximian.com>
2764 * libspi/*.[ch]: fixup headers, includes and over commenting.
2766 * libspi/image.c (impl__get_imageDescription): const
2767 correctness warning fix. remove redundant casting.
2769 * libspi/table.c (impl_getRowDescription): ditto.
2770 (impl_getColumnDescription): ditto.
2772 * libspi/libspi.h: add.
2774 2001-19-11 Michael Meeks <michael@ximian.com>
2776 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2778 * libspi/component.c (accessibility_component_get_type):
2779 rename to (spi_component_get_type): and macroify.
2780 (accessibility_component_init): rename to
2781 (spi_component_init): this
2782 (accessibility_component_class_init): rename to
2783 (spi_component_class_init): this
2785 * libspi/action.c (spi_action_get_type): kill, use the macro.
2787 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2790 * libspi/application.c (spi_application_object_event_listener),
2791 (impl_accessibility_application_register_object_event_listener):
2792 warning fixes / const understanding updates.
2794 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2797 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2799 * libspi/spi_accessible.c: Added docs and C bindings for
2800 AccessibleStateSet. (No implementations yet). Documentation
2801 coverage for C bindings now 100%. Made docs for event listeners
2806 boolean notifyListenersSync (in DeviceEventListener listener,
2807 in DeviceEvent event);
2809 oneway void notifyListenersAsync (in DeviceEventListener listener,
2810 in DeviceEvent event);
2812 Added DeviceEventListener and DeviceEvent structs (may deprecate
2813 KeyStroke and KeystrokeListener in favor of this generic
2814 event/listener framework for devices).
2816 * libspi/deviceeventcontroller.c:
2818 Changed some key listener code to take masks, etc., and paved the
2819 way for integration of toolkit/non-preemptive key events. Changed
2820 signatures of some internal methods.
2822 * at-bridge/bridge.c:
2823 Fixed regression connecting to interface signals, apparently
2824 caused by GTK+ changes.
2826 Added an internal bridge_state_listener to deal with
2827 property-change:accessible-state signals.
2829 Changed the key_listeners GList to store structs (including masks,
2830 etc.) instead of just CORBA_Objects (required for full
2831 implementation of key listener API).
2833 Connected the bridge to all currently supported Atk signals.
2834 Events now supported:
2835 object:property-change
2836 object:property-change:accessible-name
2837 object:property-change:accessible-state
2838 object:property-change:accessible-description
2839 object:property-change:accessible-parent
2840 object:property-change:accessible-value
2841 object:property-change:accessible-role
2842 object:property-change:accessible-table-caption
2843 object:property-change:accessible-table-column-description
2844 object:property-change:accessible-table-column-header
2845 object:property-change:accessible-table-row-description
2846 object:property-change:accessible-table-row-header
2847 object:property-change:accessible-table-summary
2848 object:children-changed
2849 object:visible-data-changed
2850 object:selection-changed
2851 object:text-selection-changed
2853 object:text-caret-moved
2855 object:row-reordered
2857 object:column-inserted
2858 object:column-reordered
2859 object:column-deleted
2860 object:model-changed
2862 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2864 * libspi/hyperlink.c,h:
2865 Fixed some broken stuff in hyperlink.
2867 * libspi/relation.h:
2868 * libspi/relation.c:
2869 * cspi/spi_accessible.c:
2870 Initial implementations of AccessibleRelation methods, and docs.
2872 * libspi/accessible.c:
2873 Fixed a bug that caused SEGV if an accessible
2874 object's description is NULL, and a client
2875 requests it. An empty string is now returned.
2877 * cspi/spi_editabletext.c:
2878 * cspi/spi_hypertext.c:
2880 * cspi/spi_hyperlink.c:
2884 Doc coverage now 95%.
2886 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2888 One last namespacing revision:
2889 * libspi/accessibleeventlistener.[ch]:
2890 Renamed SpiAccessibleEventListener to SpiEventListener,
2891 (no need for two namespaces ;-)
2893 And lots of documentation fixes:
2895 * docs/at-spi-docs.sgml:
2896 Fixed 'underscore vs. hyphen' bug that was preventing
2897 the gtk-doc API docs from being automatically generated.
2900 * cspi/spi-listener.h
2902 * cspi/spi_accessible.c
2904 * cspi/spi_application.c
2905 * cspi/spi_component.c
2906 * cspi/spi_editabletext.c
2908 * cspi/spi_hypertext.c
2910 * cspi/spi_registry.c
2911 * cspi/spi_selection.c
2915 * docs/at-spi-docs.sgml
2916 * docs/at-spi-sections.txt
2918 Added and fixed up gtk-doc documentation in cspi.
2920 Interfaces now (fully) documented (subject to revision and enhancement):
2922 Event Listener Support
2924 AccessibleApplication
2928 AccessibleEditableText
2935 AccessibleRelationSet
2940 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2942 * at-bridge/bridge.c:
2943 Initial work for toolkit-level key snooper connection by bridge.
2948 New typedefs and fixes to support new namespacing, and cleaner
2949 separation of cspi bindings from libspi bonobo implementation.
2950 Removed inconsistent and extraneous Spi* namespace prefix that
2951 had crept into cspi headers.
2952 Lots of comment fixes that sed had missed.
2954 * cspi/spi-roletypes.h:
2955 * cspi/spi-statetypes.h:
2956 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2957 to AccessibleRoleType.
2959 * libspi/accessibleeventlistener.h:
2960 Fixed minor namespacing weirdness.
2962 * libspi/deviceeventcontroller.c:
2963 Reordered some internal API for device listeners.
2964 Changed the key registry final boolean to 'is_system_global'
2965 rather than 'is_synchronous', which is more descriptive of its
2967 Added spi_device_event_controller_new().
2968 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2970 * libspi/keystrokelistener.[ch]:
2971 Namespaced KeystrokeListener to SpiKeystrokeListener.
2972 Changed uses of keymasks to use SPI_ prefix, and did other
2975 * libspi/keymasks.h:
2976 Namespaced keymask constants with SPI_ prefix.
2978 * libspi/registry.c:
2979 Some warning fixes, and knock-on fixes from namespace changes.
2982 Added rules for accessx-gui test program.
2984 * test/accessx-gui.c:
2985 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2986 utility. It doesn't actually use at-spi, but it's still cool and
2989 * test/keysynth-demo.c:
2993 Fixes so that these test clients work properly with the namespaced
2994 libraries. (Incompletely tested for technical reasons, fixes may follow)
2997 2001-13-11 Michael Meeks <michael@ximian.com>
2999 * libspi/application.c
3000 (impl_accessibility_application_get_version),
3001 (impl_accessibility_application_get_toolkit_name):
3003 (impl_accessibility_application_set_id),
3004 (impl_accessibility_application_get_id): remove
3005 redundant casting code.
3007 * libspi/action.c (impl_getDescription): fix warnings.
3009 * libspi/accessible.c
3010 (impl_accessibility_accessible_get_parent),
3011 (impl_accessibility_accessible_get_child_at_index),
3012 (impl_accessibility_accessible_get_state),
3013 (impl_accessibility_accessible_get_relation_set):
3014 warning fixes & include action.h
3016 2001-13-11 Michael Meeks <michael@ximian.com>
3018 * *.[ch] fix bits I screwed up:
3020 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3021 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3023 2001-13-11 Michael Meeks <michael@ximian.com>
3025 * *.[ch] Namespace libspi into spi_ and Spi.
3027 2001-13-11 Michael Meeks <michael@ximian.com>
3029 * Makefile.am: dist & install at-spi-1.0.pc
3031 * libspi/Makefile.am: install into at-spi-1.0
3033 * idl/Makefile.am (idldir): install into at-spi-1.0
3035 * at-spi-1.0.pc.in: add.
3037 * configure.in: build it.
3039 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3041 * test/keysynth-demo.c:
3042 Use a 'realize' signal-handler to set the WM properties for
3043 the virtual keyboard, rather than making it a "POPUP" type
3044 override-redirect window (thanks to anders carlsson for that
3047 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3050 * test/keysynth-demo.c:
3051 Added new test of key synthesis, which creates a simple
3052 (mouse-operated) onscreen keyboard. It inserts key events into
3053 the currently-focused window, thus it does not grab keyboard focus
3056 * cspi/spi_registry.c:
3057 Added C binding for AT-SPI generateKeyEvent.
3059 * libspi/deviceeventcontroller.c:
3060 Added call to XFilterEvent so that key listener works with XIM (we
3061 hope). Added event_synth_type to generateKeyEvent, so that we can
3062 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3063 synthesize a press/release pair for KeySyms.
3065 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3067 * libspi/Makefile.am:
3068 * registryd/Makefile.am:
3069 (temporary) hack to include libXtst in libspi and registryd.
3070 (Needed for keystroke synthesis, see below).
3073 Improved API for registerKeystrokeListener, in accordance with
3074 discussions with Gnopernicus team and X server research.
3076 * libspi/registry.c:
3077 * libspi/deviceeventcontroller.c:
3078 * libspi/accessible.c:
3079 * libspi/keystrokelistener.c:
3080 Changes and fixes to support keylisteners for potentially
3081 consumed key events (that is, 'passive grabs').
3082 Added implementation for generateKeyEvent() [untested].
3085 Changes to registerKeystrokeListener() API, as above.
3086 Added deregisterGlobalEventListenerAll(), and
3087 deregisterKeystrokeListener(), which are needed for clean exit of
3089 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3090 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3092 * cspi/spi_registry.c:
3093 Added implementations of function prototypes mentioned above.
3095 * registryd/registryd.c:
3096 Added the key listener event source as a g_timeout(), to allow
3097 receipt of key events that are not caught by GDK (since GDK
3098 doesn't support passive keygrabs, this was necessary).
3101 Changed to attach a keylistener to 'Alt' keys, and
3102 respond to the following keycommands: Alt-M (toggle magnifier);
3103 Alt-F (toggle speech); Alt-Q (quit).
3104 Added an exit routine to deregister the listeners, and a key
3105 listener that prints some key info to the console when a key
3106 matches the listener mask (and is thus received by the listener).
3108 * util/idl/Magnifier.idl:
3109 Changes to magnifier API to support multiple zoom regions,
3110 non-uniform scaling in x and y, markDirty, and a host of other
3111 features that would be useful to magnification.
3114 * util/mag_client.c:
3115 * util/mag_client.h:
3116 * util/mag_control.c:
3118 Source code changes to support the above IDL changes.
3121 As above, and also changes to use a (slower) generic conversion
3122 path for colormap conversions, since the fast RGB conversions have been
3123 reported to fail for 16-bit displays.
3125 2001-10-26 Michael Meeks <michael@ximian.com>
3127 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3129 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3131 * at-bridge/Makefile.am: fix LDFLAGS.
3133 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3135 * at-bridge/bridge.c:
3136 Re-worked listeners for toolkit events, now we have signal
3137 and property listeners. Added a private method
3138 register_atk_event_listeners(), which registers with the
3139 various atk and gtk signals we need to monitor in order to emit
3141 Added emission hook for AtkObject:property-change events, to
3142 support the 'property listeners'.
3143 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3146 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3147 which emit warnings and exit, respectively, if CORBA errors occur
3148 during remote calls, and we now use these methods to check most of
3149 our CORBA calls in the C bindings.
3151 * cspi/spi_accessible.c:
3152 Changed AccessibleSelection_refSelectedChild() to
3153 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3154 now increment refcounts.
3156 * cspi/spi_component.c:
3157 Fixed some long pointer casts (dangerous!) to pass pointers to
3158 CORBA_longs of the proper type to the CORBA stubs, and copy the
3159 data into the longs that were passed into the C bindings code.
3161 * at-bridge/bridge.c:
3163 * libspi/accessible.c:
3164 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3165 hyperlinks, AtkHyperlink is an object type.
3167 * libspi/application.c:
3168 Added various conversions to and from "generic" event types and
3169 atk-specific types; this is really part of the 'bridge'
3170 implementation but is valid for all AtkObject-based accessibility
3173 * libspi/editabletext.c:
3174 Fixed nasty bug wherein editable text's finalize method was
3175 unref'ing tha AtkObject reference that the text parent class was
3176 about to unref _again_. There was also a nasty inheritance bug
3177 that meant that the AccessibleEditableText class was corrupt.
3179 * libspi/selection.c:
3180 Provided implementations for some selection API that was broken.
3182 * idl/Application.idl:
3183 Added registerObjectEventListener () method.
3186 Fixed a number of return values that were Bonobo_Unknowns from
3187 bonobo_object_corba_objref(), which I
3188 forgot to dup before returning. Changed instances of
3189 bonobo_object_corba_objref (bonobo_object(o)) to
3190 BONOBO_OBJREF(o), for concision and clarity.
3192 <2001-10-13 Louise Miller <louise.miller@sun.com>
3194 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3195 idl/Event.idl, idl/Registry.idl
3196 Changed these files to include Bonobo_Unknown.idl instead
3199 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3201 * libspi/component.c libspi/component.h:
3202 Fixed typo. Added assertions for object checks in
3203 AccessibleComponent code.
3205 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
3207 * idl/Accessible.idl:
3208 Added 'isEqual (Accessible *object)'
3209 method for Accessible. (Not Yet Implemented).
3212 Changed signature of registerKeystrokeListener() to
3213 take a KeySet and KeyEventSeq so that specific keys and event
3214 types could be requested for monitoring, and added a flag
3215 is_synchronous so that either synchronous or asynchronous
3216 notification could be requested. (However this is not all
3217 implemented yet). This also meant adding two new typedefs,
3218 KeyEventSeq and KeySet.
3221 Added two new relations, RELATION_TOOLTIP_FOR and
3222 RELATION_LEAFNODE_OF.
3225 Added new state, STATE_HAS_TOOLTIP.
3227 * libspi/text.c, editabletext.c:
3228 Added new assertions to all casts of bonobo-objects from
3229 CORBA servants, to prevent Text API calls on non-text objects.
3230 Changed suspect casts of int-pointer types, so that we
3231 always send a valid CORBA_long pointer to the CORBA APIs that use
3232 in/out long parameters. We then have to copy from the CORBA_long
3233 into the regular long or int for return to the C bindings, or
3234 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3237 * libspi/deviceeventcontroller.c:
3238 Cleaned these sources up.
3240 Changed return type for getCharacterAtOffset to
3241 CORBA_unsigned_long, to allow for 32-bit characters.
3244 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
3248 Fixed 'make dist' so that distro compiles...
3249 * libspi/keymasks.h:
3251 * cspi/spi-listener.c:
3252 KeystrokeListenerCB now returns a boolean.
3254 Added KeyEventType struct, and KeyStroke.
3255 Also added createKeystrokeListener(),
3256 KeystrokeListener_addCallback(),
3257 KeystrokeListener_removeCallback(), and added a keymask to
3258 registerKeystrokeListener().
3259 * cspi/spi_accessible.c:
3260 Changed numerous return types for interfaces from
3261 AccessibleComponent to Accessible<InterfaceName>; this was
3262 probably a cut-and-paste error.
3264 Implementations of new KeystrokeListener api (from spi.h,
3267 Changes to key modifier mapping.
3268 Created ControllerEventMask struct.
3269 Made DeviceEventController derive from Bonobo::Unknown.
3271 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3272 * libspi/deviceeventcontroller.c:
3273 Added a number of new internal (private) methods.
3274 * libspi/editabletext.c:
3275 * libspi/editabletext.h:
3276 Fixed a number of bugs related to the fact that
3277 editabletext inherits from text. Fixed the EditableText struct,
3278 the init() call, and use correct casts when calling Text methods
3279 from an EditableText object. Removed (duplicate) atko from the
3280 EditableText structure, we use the one in the parent Text
3281 structure via the casts mentioned above.
3282 * libspi/keystrokelistener.[ch]:
3283 * libspi/registry.c:
3284 Changes in support of keyboard handling (above).
3286 Keyboard handling, though partly functional, is still not
3287 recommended for at-spi client use as there is considerable
3288 work yet to be done.
3291 Changed some places where pointers to various int types
3292 are cast to be pointers to CORBA_long types and vice-versa:
3293 pointer casting is not safe so we pass pointers of the correct
3294 types and then cast the result before putting it into the target
3297 * libspi/text.h: minor typos corrected.
3299 We now speak not only the name of a Text element, but the
3300 first sentence of its content, when it receives focus.
3301 I also changed the text compression to 75% from 50%.
3302 * util/Accessibility_Util.server.in:
3303 Changed the default magnifier type to be a 3x vertical
3304 splitscreen magnifier (was previously a 2x horizontal one).
3306 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
3308 * libspi/keystrokelistener.h:
3309 * libspi/keystrokelistener.c:
3310 Initial functional implementations of KeystrokeListener.
3313 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
3315 Fixed string handling for NULL strings in libspi.
3316 Added spi_freeString to free strings returned by C bindings.
3318 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
3320 * libspi/keystrokelistener.h:
3321 * libspi/keystrokelistener.c:
3322 Began (no-op) implementations of KeystrokeListener
3324 * libspi/deviceeventcontroller.c:
3325 * libspi/deviceeventcontroller.h:
3326 Began creating implementations of DeviceEventController,
3327 to handle keystroke and mouse event listening and
3329 * libspi/accessible.c:
3330 Stubbed-in the implementations for
3331 Accessibility_Accessible_getState and
3332 Accessibility_Accessible_getRelationSet.
3333 * libspi/registry.c:
3334 Improved de-registration process and fixed some bugs,
3335 deregistration now works correctly.
3337 Added initialization of applications list (to NULL).
3339 Reduced speech compression from 0.5 to 0.7, for demo.
3340 Changed call to gdk_window_set_decorations()
3341 to gtk_window_set_decorated().
3342 * at-bridge/bridge.c:
3343 Bridge now deregisters when app exits, via
3344 registration of a cleanup function
3345 with the g_atexit() call.
3346 Required making 'app' static, renamed 'this_app'.
3347 Fixed broken use of bonobo_init, passing argv wrongly.
3349 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
3353 Created a new directory for
3354 accessibility-related utilities, primarily for
3355 testing and demo purposes, but with possible
3362 Onscreen magnifier utility that
3363 is implemented as a bonobo service.
3365 * util/mag_client.c:
3366 * util/mag_client.h:
3367 Client-side support (simple C bindings)
3368 for Magnification service
3370 * util/mag_control.c:
3371 Client program example for
3372 Magnification service
3374 * util/Accessibility_Magnifier.server.in:
3375 Bonobo-activation file for the
3376 Magnification service.
3379 * util/idl/Magnifier.idl:
3380 IDL defining the bonobo Magnification
3384 Modifications to use the bonobo-activated magnifier
3385 above, in place of trying to connect to an existing
3386 magnifier that uses socket-listening IPC.
3388 If env variable MAGNIFIER is set, a magnifier service
3389 will be started if one does not exist.
3391 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
3392 * at-bridge/bridge.c:
3393 applied patch from Marc to build and run
3394 against new glib and gtk+ (seemed like a change
3395 to bonobo_init signature was made ?)
3397 made festival-server support turned off by default.
3398 Added support for a simple magnifier (off by default)
3399 which will be added to a 'util' directory later.
3400 * at-bridge/Makefile.am:
3401 Changed "application.h" header from a 'source'
3402 to a 'dependency' of libat-bridge.
3404 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3412 Added interface implementation c files to list of
3413 includes so they are included in libcspi.
3416 Changed prototype of AccessibleAction_doAction to return a
3418 Changed prototype of AccessibleTable_getCaption to
3419 return an Accessible.
3420 Changed prototype of AccessibleTable_getSelectedRows
3421 and AccessibleTable_getSelectedColumns to
3422 return a long (returns the number of selected rows
3423 or columns respectively).
3424 Changed name of AccessibleText_refRunAttributes to
3425 AccessibleText_getAttributes.
3426 Changed prototype of AccessibleText_getCharacterExtents to
3427 return a void rather than a boolean.
3428 Added support for a AccessibleCoordType parameter
3429 specifying what type of coordinates are desired.
3430 Added an AccessibleCordType parameter to
3431 AccessibleText_getPointAtOffset.
3433 * cspi/spi_accessible.c:
3434 Added code to return the outstanding interfaces from
3435 Accessible_queryInterface.
3437 * cspi/spi_action.c:
3439 Corrected call to getNActions to call the c binding
3442 * cspi/spi_editabletext.c:
3444 Changed name from setRunAttributes to setAttributes.
3446 * cspi/spi_hyperlink.c:
3448 Changed call to getNAnchors to correctly call the c
3449 binding for an attribute.
3451 * cspi/spi_hypertext.c:
3453 Changed getImageDescription to correctly call the
3454 binding for an attribute.
3456 * cspi/spi_selection.c:
3457 Changed getNSelectedChildren to correctly call the c
3458 binding for the attribute.
3459 Changed refSelectedChild to getSelectedChild.
3463 Changed getCaption to return an Accessible.
3464 Fixed calls which retrieve attributes.
3465 Changed refAt to getAccessibleAt.
3466 Changed getNSelectedRows and getNSelectedColumns to
3470 Changed getCharacterExtents and getPointAtOffset to accept an
3471 AccessibleCoordType.
3473 Changed calls which retrieve attributes.
3474 Changed refRunAttributes to getAttributes.
3479 * idl/Hyperlink.idl:
3480 Changed n_anchors attribute to nAnchors to keep naming
3481 convention consistent.
3484 Made Table inherit from Bonobo::Unknown.
3485 Added nSelectedColumns and nSelectedRows attributes.
3488 Made Value inherit from Bonobo::Unknown.
3490 * libspi/hyperlink.c:
3491 Change for nAnchors attributte name change.
3493 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3501 Added interface implementation c files to list of
3502 includes so they are included in libcspi.
3505 Changed prototype of AccessibleAction_doAction to return a
3507 Changed prototype of AccessibleTable_getCaption to
3508 return an Accessible.
3509 Changed prototype of AccessibleTable_getSelectedRows
3510 and AccessibleTable_getSelectedColumns to
3511 return a long (returns the number of selected rows
3512 or columns respectively).
3513 Changed name of AccessibleText_refRunAttributes to
3514 AccessibleText_getAttributes.
3515 Changed prototype of AccessibleText_getCharacterExtents to
3516 return a void rather than a boolean.
3517 Added support for a AccessibleCoordType parameter
3518 specifying what type of coordinates are desired.
3519 Added an AccessibleCordType parameter to
3520 AccessibleText_getPointAtOffset.
3522 * cspi/spi_accessible.c:
3523 Added code to return the outstanding interfaces from
3524 Accessible_queryInterface.
3526 * cspi/spi_action.c:
3528 Corrected call to getNActions to call the c binding
3531 * cspi/spi_editabletext.c:
3533 Changed name from setRunAttributes to setAttributes.
3535 * cspi/spi_hyperlink.c:
3537 Changed call to getNAnchors to correctly call the c
3538 binding for an attribute.
3540 * cspi/spi_hypertext.c:
3542 Changed getImageDescription to correctly call the
3543 binding for an attribute.
3545 * cspi/spi_selection.c:
3546 Changed getNSelectedChildren to correctly call the c
3547 binding for the attribute.
3548 Changed refSelectedChild to getSelectedChild.
3552 Changed getCaption to return an Accessible.
3553 Fixed calls which retrieve attributes.
3554 Changed refAt to getAccessibleAt.
3555 Changed getNSelectedRows and getNSelectedColumns to
3559 Changed getCharacterExtents and getPointAtOffset to accept an
3560 AccessibleCoordType.
3562 Changed calls which retrieve attributes.
3563 Changed refRunAttributes to getAttributes.
3568 * idl/Hyperlink.idl:
3569 Changed n_anchors attribute to nAnchors to keep naming
3570 convention consistent.
3573 Made Table inherit from Bonobo::Unknown.
3574 Added nSelectedColumns and nSelectedRows attributes.
3577 Made Value inherit from Bonobo::Unknown.
3579 * libspi/hyperlink.c:
3580 Change for nAnchors attributte name change.
3583 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3585 implementations-- made server implementations own AtkObject pointers
3586 rather than their respective AtkInterrface pointers to fix
3587 refcounting. AtkHyperlink is still broken.
3589 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3590 * cspi/spi_accessible.c:
3591 Added method Accessible_Role_getName(),
3592 and requisite string array (role_names).
3593 Added conversion string_from_corba_strin() call
3594 to Accessible_getName and _getDescription.
3595 * libspi/accessible.c:
3596 Added implementation for Accessible_getRole()
3598 Added festival support, used if environment variable
3601 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3603 * at-bridge/bridge.c:
3604 Now allocate Accessibility_Event using
3605 Accessibility_Event__alloc() instead of g_new0().
3606 * libspi/accessibleeventlistener.c:
3607 Initialize AccessibleEventListener->callbacks to NULL.
3608 Fixed accessible__event_listener_init() param, changed to
3609 "AccessibleEventListener *" type.
3610 Changed a bonobo_object_release_unref() call to
3611 Accessibility_Accessible_unref().
3612 * libspi/listener.c:
3613 Changed Bonobo_Unknown_unref to (equivalent)
3614 Accessibility_Accessible_unref.
3615 * libspi/registry.c:
3616 Changed bonobo_object_release_unref to
3617 Accessibility_Accessible_unref.
3619 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3622 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3623 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3624 spi-util.c spi-util.h
3625 Implementations for C bindings to remaining accessibility
3628 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3631 changed return value of Action from void to boolean to
3632 bring in line with ATK.
3635 Changed getText funcions to return "out" start and end offsets.
3636 Changed getAttributes to take and offset and return the start
3637 and end offset of the attribute run.
3638 Changed getOffsetAtPoint and getCharacterExtents to take an
3639 enum describing whether coordinates are window or screen.
3642 libspi/action.c libspi/action.h libspi/editabletext.c
3643 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3644 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3645 libspi/image.h libspi/selection.c libspi/selection.h
3646 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3647 libspi/value.c libspi/value.h
3648 Added server implementations for outstanding ATK interfaces
3649 not yet implemented.
3651 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3654 Added (missing) getName() method.
3655 Made nActions an attribute.
3656 * idl/EditableText.idl:
3657 Changed order of params in setAttributes.
3658 * idl/Hyperlink.idl:
3659 Removed getAnchor, added getURI.
3661 Changed attributes to methods, for efficiency
3662 (so that getting extents can be done in one call)
3663 * idl/Selection.idl:
3664 Changed nSelectedChildren to attribute, and re-indented.
3665 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3667 * idl/Text.idl: reformatted to match our coding style.
3668 (temporarily?) removed getRowColumnAtOffset().
3669 Changed text selection API to support multi-select and
3670 non-contiguous selections, as in ATK.
3671 * idl/Value.idl: changed some methods to attributes.
3673 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3675 * libspi/listener.c(impl_notify_event):
3676 BonoboUnkown_unref the source instead
3677 of bonobo_object_release_unref - the ORB
3678 handles the releasing.
3680 * configure.in: require ORBit-2.3.94 for
3683 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3685 Tagged CVS repository 'EA_1_0'.
3686 * README.EARLY_ACCESS:
3687 Alphabetized acknowledgements list, and
3689 Listed some known dependencies of at-spi.
3691 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3693 * docs/at-spi-docs.sgml:
3694 * docs/at-spi-sections.txt:
3695 * docs/at-spi-overrides.txt: (Added zero-length file)
3696 Documentation improvements - gtk-doc should build
3697 docs for all implemented C bindings now.
3700 * cspi/spi.c: (New file)
3701 * cspi/spi_event.c: (New file)
3702 * cspi/spi_registry.c: (New file)
3703 * cspi/spi_accessible.c: (New file)
3704 * cspi/spi_application.c: (New file)
3705 * cspi/spi_component.c: (New file)
3706 Split spi_main.c into six parts, and included them from
3707 "spi.c". This is a bit of a hack, probably temporary,
3708 but required by gtk-doc, apparently.
3710 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3713 * docs/at-spi-docs.sgml:
3714 * docs/at-spi-sections.txt:
3716 Initial checkins/modifications for gtk-doc generation.
3719 Added (missing) interface query methods to Accessible's C binding.
3721 Added GenericInterface type definition.
3723 Added query for AccessibleComponent interface to focus event handler.
3724 Added printout of bounding box for focussed component.
3725 * libspi/component.c:
3726 Added partial implementation for AccessibleComponent to C binding.
3727 * idl/Application.idl:
3728 * libspi/registry.c:
3729 * libspi/listener.c:
3730 * libspi/application.c:
3731 * libspi/application.h:
3732 Changed "ID" attribute type from string to long.
3734 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3738 Made method naming consistent: methods taking object args
3739 start with uppercase, other methods (except those using
3740 acronyms) start with lowercase. Underscores delimit between
3741 object names and method names:
3742 SPI_init() - uppercase since it starts with an acronym.
3743 getDesktopCount () - lowercase start since no object param0.
3744 Accessible_getName() - uppercase object type name, studlyCaps method
3748 Added gtk-doc documentation for all currently implemented
3749 methods in the C bindings API.
3751 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3753 * Makefile.am : changed build order to build test last.
3756 Changed "createEventListener" to "CreateEventListener".
3757 * libspi/accessibleeventlistener.c :
3758 Bugfix for addition of callbacks.
3759 * test/Makefile.am :
3760 * test/simple-at.c :
3761 Added new test that uses the C bindings API.
3763 * libspi/listener.c :
3764 * libspi/registry.c :
3765 * libspi/accessibleeventlistener.c :
3766 * at-bridge/bridge.c :
3767 Renamed member "target" of Accessibility_Event to "source",
3768 which is more descriptive.
3771 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3775 * cspi/Makefile.am :
3776 Added makefile support for at-spi/cspi directory.
3779 * cspi/spi-listener.h : (NEW FILE)
3780 Added support for/use of spi-listener.h.
3782 C bindings now build successfully, with no warnings.
3783 * libspi/accessibleeventlistener.h : (NEW FILE)
3784 * libspi/accessibleeventlistener.c : (NEW FILE)
3785 * libspi/Makefile.am :
3786 Added new object type "AccessibleEventListener"
3787 which inherits from Listener, and allows attachment
3788 of in-process callbacks (so that a client with a listening
3789 object instance can add functionality to the local
3790 implementation, dynamically).
3792 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3794 * libspi/accessible.c:
3795 Add implementation for get_index_in_parent().
3797 Added #include of "spi-roletypes.h", and
3798 added enumerated type AccessibleCoordType.
3799 Added definition for KeystrokeListener (function type).
3802 * cspi/spi-statetypes.h :
3803 * cspi/spi-roletypes.h :
3805 Added these headers, used by spi.h.
3807 Added code (NOTE: not yet built by make).
3809 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3811 * libspi/Makefile.am: generate imodule
3812 at the same time as other idl compiler
3815 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3816 * libspi/registry.c :
3817 * libspi/application.c :
3818 * idl/Application.idl :
3819 Made registration with toolkit an application method,
3820 which is required since each app has its own toolkit static
3821 environment. Thus the bridge must register for
3822 notification of toolkit events from each application in turn.
3823 Toolkit notifications are now successfully registered for, and
3824 sent to the listening at client.
3826 Changed toolkit event string to use hyphens rather than underscores.
3827 * libspi/listener.c :
3828 listner now gives more info in debug mode - it reports the
3829 name of the event received, as well as the name of the source.
3832 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3834 * libspi/registry.c :
3835 added more implementation for toolkit events.
3836 Fixed bug such that toolkit event registrations
3837 (via atk) use the whole event name string, not
3839 Removed a useless call to an ORBit_ method.
3840 * at-bridge/bridge.c :
3841 Removed unused local sbuf[] variable.
3843 We now register for Gtk:GtkWidget:button_press_event
3844 events as well as "focus:" events.
3846 Add some more API from Registry.idl that was missing,
3847 for keystroke listening, keystroke and mouse event
3848 synthesis, and enumeration of accessible desktops.
3850 2001-08-16 Michael Meeks <michael@ximian.com>
3852 * configure.in: use AM_GLIB_GNU_GETTEXT.
3854 * Makefile.am (SUBDIRS): kill intl.
3856 2001-08-15 Michael Meeks <michael@ximian.com>
3858 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3860 * configure.in: upd.
3862 * configure.in: depend on a recent bonobo-activation that
3863 will find our server files ...
3865 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3867 * libspi/accessible.c : accessible_new() :
3868 Now we add the Component interface via bonobo_object_add_interface,
3869 if the contained AtkObject implements AtkComponent.
3870 * libspi/accessible.h : now include "component.h"
3871 * libspi/component.h :
3872 * libspi/component.c : added files - implementation of
3873 bonobo wrapper object for Accessibility/Component
3874 * libspi/listener.c :
3875 Added test code to check for Accessibility/Component:1.0
3876 interface and report whether it is implemented by the
3878 * libspi/registry.c :
3879 Now we check for not only the hash of the whole event
3880 string before relaying the event, we also check the
3881 "minor" event string (without the detail string).
3882 This allows event listeners to be registered against
3883 all events of a certain major+minor type, or just
3884 against a specific major+minor+detail type.
3885 * libspi/accessible.c :
3886 Added implementations for Accessible:get_parent(),
3887 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3888 * libspi/registry.c :
3889 * libspi/listener.c :
3890 Replaced calls to Accessibility_Accessible_ref() and
3891 Accessibility_Accessible_unref() with
3892 calls to bonobo_object_dup_ref() and
3893 bonobo_object_release_unref(), so that the CORBA object
3894 is dup-ed and released when relayed, as well as the bonobo object.
3896 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3898 * libspi/Makefile.am,
3899 registryd/Makefile.am,
3900 at-bridge/Makefile.am.
3901 test/Makefile.am, configure.in:
3902 reverse previous changes.
3904 * /idl/Image.idl: fix typo.
3906 * test/Makefile.am: put DEBUG_FLAGS
3909 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3911 * test/app.c: use argv[0] instead of
3914 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3916 * libspi/Makefile.am,
3917 registryd/Makefile.am,
3918 at-bridge/Makefile.am.
3919 test/Makefile.am, configure.in:
3920 cleanup, replace individual LIBS/CFLAGS with
3921 AT_COMMON_{LIBS|CFLAGS}.
3925 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3927 * configure.in, libspi/Makefile.am:
3928 Change IDL path checking for bonobo-activation
3931 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3933 * registryd/registry.c : separated event listeners to use
3934 3 separate lists (focus, window, toolkit). Began testing
3935 event names against hashes before relaying events.
3936 * test/at.c : now register for events of type "focus:"
3937 * test/app.c : now generate events of type "focus:"
3938 * at-bridge/bridge.c : register with ATK for focus events,
3939 and we now relay those focus events to any "focus:" listeners.
3940 This now works with the bridge as a GTK_MODULE when running test/at.
3941 * libspi/registry.c :
3942 * libspi/listener.c :
3943 now we ref event sources before propagating, and unref on receipt.
3944 * libspi/registry.c :
3945 some changes to internal structs, to support event typestring hashes.
3946 * text/app.c : changed the way the appname is generated.
3947 * cspi : added directory that will hold the C bindings library for
3948 non-CORBA/bonobo-savvy clients.
3949 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3950 * idl/Component.idl : added in parameter to indicate coord system for
3951 geometry-related calls.
3952 * idl/Hyperlink.idl : added readonly n_links attribute
3953 * idl/Image.idl : changed methods to attributes.
3955 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3957 * at-bridge/Makefile.am: link against
3958 ../libspi/libspi.la instead of -lspi.
3960 * at-spi/test/app.c: include
3961 bonobo-activation.h. Use a default appname
3962 if one is not provided.
3964 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3966 * idl/Registry.idl : temporarily changed register_Application
3967 to oneway, to work around issue with initial registration
3969 * idl/Application.idl : changed attribute "id" from readonly
3970 to read-write, since it needs to be assigned by Registry.
3971 * registryd/registryd.c : added call to set application id
3973 * registryd/registry.c : changed de-registration procedure to
3974 use CORBA_Object_hash() to find matching object ref in application
3975 lists and listener lists.
3976 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3977 began distinguishing between event types (work in progress).
3979 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3982 * libspi/application.c:
3983 Added implementations for get/set id, get_toolkitName,
3985 * registryd/registryd.c :
3989 Converted from use of OAF to bonobo-activation.
3990 * libspi/desktop.h :
3991 * libspi/desktop.c :
3993 Removed references to atksimpleobject, since base atkobject
3994 implementation now provides functionality we need.
3995 * libspi/atksimpleobject.c :
3996 * libspi/atksimpleobject.h :
4001 * at-bridge/Makefile.am
4002 * at-bridge/bridge.c
4005 Added directory "bridge" and contents, and added dependencies
4006 in Makefile.am/configure.in.
4007 Initial checkin of "at-bridge".
4008 This code is a GTK_MODULE which automatically registers
4009 GTK+ apps with the accessibility registry, using an object
4010 reference to the root ATK object.
4012 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4014 * po/Makefile.in.in: Remove. Again. If this
4015 doesn't get autogenerated - you need to update
4018 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4020 * po/Makefile.in.in: Add. Again.
4022 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4024 * libspi/accessible.c : added support for 'description' property.
4025 * libspi/accessible.c
4027 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4028 (since the two are now equivalent in libbonobo)
4036 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4037 Bonobo::Unknown as does Accessibility::Accessible.
4038 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4039 interface with Bonobo::Stream, since it was redundant with it.
4040 (The Stream returned by a StreamableContext object is expected to
4041 implement only a subset of Bonobo::Stream)
4043 2001-07-28 Anders Carlsson <andersca@gnome.org>
4045 * libspi/accessible.c (accessible_object_finalize): Change
4046 g_free to g_object_unref since the AtkObject is a GObject.
4048 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4050 * idl/Accessibility.idl: add new IDL files
4053 * idl/Action.idl: Definitions of actionable UI object
4054 * idl/Component.idl: Definitions of UI component geometry, etc.
4055 * idl/Hyperlink.idl: Defs of hyperlink behavior
4056 * idl/Image.idl: Def of accessible image
4057 * idl/Selection.idl: Definition of UI object with selectable children
4058 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4059 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4060 * idl/Text.idl: Interface defs for UI elements with complex textual content
4061 * idl/Value.idl: Definition of UI element that is a value controller or display
4063 2001-07-27 Michael Meeks <michael@ximian.com>
4065 * po/Makefile.in.in: remove autogenerated file from CVS.
4067 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4070 * idl/Registry.idl: include guard.
4072 * idl/Accessibility.idl: Add, and include all the other IDL
4075 * idl/*.idl: remove mass of pragmas etc.
4077 2001-07-26 Michael Meeks <michael@ximian.com>
4079 * registryd/Makefile.am (registryd_SOURCES): remove
4082 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4084 * libspi/.cvsignore, registryd/.cvsignore,
4085 test/.cvsignore: updated.
4087 * po/Makefile.in.in: gettext update.
4089 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4091 * initial CVS checkin
4093 2001-06-29 Michael Meeks <michael@ximian.com>
4095 * configure.in: add AM_CONFIG_HEADER to gen config.h