1 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
3 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
4 Correct CSPI to SPI in function documentation.
6 This fixes bug #118054.
8 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
10 * configure.in: Added Russian to ALL_LINGUAS.
12 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
14 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
16 2003-07-14 Danilo Ĺ egan <dsegan@gmx.net>
18 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
20 2003-07-10 Joel Brich <joel.brich@laposte.net>
22 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
24 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
26 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
28 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
30 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
31 resources allocated for AccessibleEvent. See cspi_event().
33 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
34 static variable streams to NULL.
36 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
37 Update so that AcessibleEvent_ref will work.
39 This fixes bug #116624.
41 2003-07-06 Jordi Mallach <jordi@sindominio.net>
43 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
45 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
47 * configure.in: Added "fr" (French) to ALL_LINGUAS.
49 2003-07-02 Christian Neumair <chris@gnome-de.org>
51 * configure.in: Added "de" (German) to ALL_LINGUAS.
53 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
55 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
57 2003-07-01 Miloslav Trmac <mitr@volny.cz>
59 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
61 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
63 * configure.in: Added "pl" to ALL_LINGUAS.
65 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
67 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
69 2003-06-30 Bill Haneman <bill.haneman@sun.com>
72 (get_action_from_servant):
73 Removed assertion that action is implemented on an AtkObject.
77 Aggregate AccessibleAction interface on the hyperlink object if
78 the object implements AtkAction. (This convention is used in
81 2003-06-30 Bill Haneman <bill.haneman@sun.com>
83 * configure.in: Revved to 1.3.5.
85 * registryd/Accessibility_Registry.server.in.in:
86 Marked up appropriate strings for translation.
88 * atk-bridge/bridge.c: Marked a couple of
89 user-visible warnings for translation. Questionable
90 whether they are really useful, but possibly so.
93 2003-06-28 Christian Rose <menthos@menthos.com>
95 * configure.in: Added "sv" to ALL_LINGUAS.
97 2003-06-26 Bill Haneman <bill.haneman@sun.com>
99 * registryd/registry.c:
100 (spi_registry_object_finalize): Unref the deviceeventcontroller.
101 (registry_defer_on_event): Defer focus: events, this is an
102 improvement to the patch for bug #108664.
104 * TODO: Update with 2.4/"Dev Complete" items.
106 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
108 * atk-bridge/bridge.c:
109 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
110 looks up signals once.
111 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
112 if doing registration.
113 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
114 when doing registration.
116 This fixes bug #115014.
118 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
120 * atk-bridge/bridge.c:
121 (atk_bridge_init): Add signal handler for children-changed:remove on
122 root when in a BonoboComponent.
123 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
124 for first toplevel only other incrememt variable toplevels.
125 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
126 application and remove listeners.
127 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
129 (spi_atk_deregister_event_listeners): New function which removes
131 (reinit_register_vars): New fuction which reinitializes variables.
133 This fixes bug #111578.
135 2003-06-13 Bill Haneman <bill.haneman@sun.com>
137 * configure.in: version 1.3.4.
139 * cspi/spi_accessible.c:
140 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
143 2003-06-13 Michael Meeks <michael@ximian.com>
145 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
147 * cspi/spi_main.c (cspi_peek_ev): impl.
149 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
151 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
153 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
155 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
156 SPI_ROLE_AUTOCOMPLETE
158 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
160 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
161 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
163 2003-06-11 Bill Haneman <bill.haneman@sun.com>
165 * libspi/streamablecontent.h:
166 * libspi/streamablecontent.c:
167 New files, provide implementation/wrappers for
168 Accessibility_StreamableContent.
170 * cspi/spi_streamablecontent.c:
171 Connected the C wrappers to the libspi C bindings.
172 (AccessibleStreamableContent_close): New method.
175 (AccessibleStreamableContent_close): New method, needed
176 since we have an "open, [seek], read, close" model in cspi.
178 2003-06-11 Bill Haneman <bill.haneman@sun.com>
180 Fix for #108664; Padraig's revision of my original patch.
182 * registryd/registry.h:
183 Added event queue list, is_queuing, and exit_notify_timeout
184 to the registry struct.
186 * registryd/registry.c:
187 (registry_init): Initialize new struct from registry.h.
188 (impl_registry_notify_event):
189 Filter events before notifying, in case some need to be
191 (registry_filter_event): New,
192 we defer certain incoming events (for instance
193 window:deactivate) because we may wish to hide
194 or reject them based on pending events. This is
195 mostly a workaround for bug #108664.
196 (registry_queue_event, registry_start_queue): New.
197 (registry_defer_on_event): Test event to see if it
199 (registry_reset_on_event): Returns TRUE if the
200 event should cause a queue reset.
201 (registry_discard_on_event): Returns TRUE if the event
202 should cause the previous queue contents to be discarded.
203 (registry_timeout_flush_queue): Flushes the pending event
204 queue if no reset/discard-triggering events have come in
205 within the timeout period.
206 (registry_emit_event): New.
207 (registry_clone_notify_context): New, used when queueing the
208 event notify contexts.
210 2003-06-10 Bill Haneman <bill.haneman@sun.com>
212 * configure.in: Version revved to 1.3.2, lt 0.9.2
213 Incremented ATK required version to 1.3.4.
215 * cspi/spi_registry.c:
216 (SPI_generateKeyEvent):
217 We now pass the keystring along if it's non-null.
219 * registryd/deviceeventcontroller.c:
220 (keysym_mod_mask): New method, returns modifier mask
221 required to generate a keysym from a given keycode.
222 (dec_synth_keysym): New method.
223 (dec_synth_keystring): New method.
224 (dec_get_modifier_state): New method.
225 (dec_lock_modifiers): New
226 (dec_unlock_modifiers): New.
227 (dec_keysym_for_unichar): New, rather brute-force
228 conversion from UCS-4 to X KeySyms. Only works for
229 Latin at the moment, with partial implementations for
230 Greek, Hebrew, and (incomplete) Katakana.
231 (impl_generate_keyboard_event): Now implement
232 "KEYSTRING" synthesis and implement "KEYSYM"
234 (keycode_from_keysym): Improved, passes a returned
235 modmask value now if the corresponding param is non-NULL.
237 Fixes bugs #92143 and #109776.
240 * test/keysynth-test.c:
241 New test program for key synthesis, to confirm fixes for
245 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
247 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
249 * cspi/spi_accessible.c (cspi_init_relation_type_table):
250 Add line for RELATION_POPUP_FOR
252 * docs/reference/cspi/tmpl/spi_relation.sgml:
253 Add relation SPI_RELATION_POPUP_FOR
255 * docs/reference/cspi/tmpl/spi_stateset.sgml:
256 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
258 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
260 * libspi/relation.c (spi_init_relation_type_table):
261 Add line for RELATION_POPUP_FOR
263 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
265 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
266 there are still windows which have not been deleted and emit
267 window:deactivate, if necessary and window:destroy events.
268 This fixes bug #114370. The change on June 5th was not correct.
270 2003-06-09 Bill Haneman <bill.haneman@sun.com>
272 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
275 (SPI_dupString): Allow dup-ing of a string such that it's safe to
277 New methods for client exception handling and interception.
278 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
279 (SPI_exceptionHandlerPop): You guessed it...
280 (SPI_getSourceType): Return the type of object which offended.
281 (SPI_getExceptionCode): Return an enum code telling, possibly,
282 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
283 (SPIAccessibleException_getSource): get the source object for
284 exceptions that come from Accessibles, if SPIExceptionSourceType is
285 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
286 (SPIException_getDescription): New, returns a string description of
287 the problem. [Not yet a stable ABI, strings are not frozen]
289 * cspi/spi-private.h:
290 Added implementation details of opaque SPIException
294 Implementations of above. Also
295 (_cspi_exception_throw): new private method that
296 dispatches exceptions to handlers, called from cspi-bonobo.c
298 * cspi/bonobo/cspi-bonobo.c:
299 (cspi_check_ev): call _cspi_exception_throw.
300 Don't print a warning message if the exception has been
301 handled by _cspi_exception_throw.
303 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
305 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
306 there are still windows which have not been deleted and emit
307 window:deactivate, if necessary and window:destroy events.
308 This fixes bug #114370.
310 2003-06-03 Bill Haneman <bill.haneman@sun.com>
313 (cspi_accessible_is_a): Make non-fatal
314 if the object reference is dead.
316 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
318 * cspi/spi_main.c: #include <stdio.h>
319 * test/simple-at.c: ditto
320 * test/event-listener-test.c: ditto
321 * test/screen-review-test.c: ditto
323 2003-05-30 Michael Meeks <michael@ximian.com>
325 * test/test-simple.c (main): use CORBA_ORB_perform_work
326 instead of an unnecessary linc_ call.
328 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
330 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
331 Add SPI_STATE_INDETERMINATE.
333 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
336 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
338 * libspi/stateset.c (init_state_type_tables): Add support for
341 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
343 * configure: Update versions of atk and gail required.
344 This fixes bug #113268.
346 2003-05-02 Bill Haneman <bill.haneman@sun.com>
348 * configure.in: Revved micro version to 1.3.1 (because of build fix).
350 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
352 * libspi/Makefile.am:
353 Ensure headers are generated before being used by c sources.
355 2003-05-01 Bill Haneman <bill.haneman@sun.com>
358 Simplified lt versioning rules.
359 Incremented version to 1.3.0, to indicate that we're on the
362 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
364 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
365 Add MKDB_OPTIONS=--outtput-format=xml
367 * docs/reference/cspi/at-spi-cspi-docs.sgml
368 docs/reference/idl/at-spi-idl-docs.sgml:
369 Convert to Docbook XML.
371 This fixes bug #111793.
373 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
375 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
376 AcccessibleKeyEventType, AccessibleKeyMaskType.
378 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
380 * cspi/state-types.h: Add documentation for AccessibleState.
382 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
383 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
384 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
385 AccessibleComponentLayer.
387 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
390 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
392 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
393 Accessible. Add description of AccessibleEvent,
394 AccessibleEventListenerCB.
396 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
399 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
400 documentation. Add description of AccessibleKeystrokeListenerCB,
401 AccessibleKeyEventMask, AccessibleModifierMaskType,
402 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
403 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
405 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
408 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
411 This fixes bug #104730.
413 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
415 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
416 Set is_text field of Accessibility_DeviceEvent data structure.
418 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
419 is-text field of AccessibleDeviceEvent data structure.
421 This addresses part of bug #108666.
423 * registryd/devcieeventcontroller.c: Unset debug option.
425 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
428 (cpi_initial_relation_type_table): New function which initializes
429 mapping between Accessibility_RelationType and AccessibleRelationType.
430 (cspi_relation_type_from_spi_relation_type): New function which
431 translates an Accessibility_RelationType into an AccessibleRelationType.
432 (AccessibleRelation_getRelationType): Use
433 cpi_relation_type_get_spi_relation_type to return correct value.
434 (spi_state_to_corba): Return correct type for default case.
436 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
437 Use Accessibility_EventType instead of Accessibility_KeyEventType.
439 * cspi/cspi-bonobo-listener.c:
440 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
443 * libspi/accessible.c, libspi/action.c, libspi/application.c,
444 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
445 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
446 libspi/image.c, libspi/listener.c, libspi/selection.c,
447 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
448 registryd/desktop.c, registryd/registry.c:
449 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
451 * libspi/eventlistener.c
452 Remove semicolon after BONOBO_TYPE_FUNC.
455 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
456 (spi_init_relation_type_table): Initialize using correct type.
458 * registryd/desktop.c:
459 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
460 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
461 of Accessibility_KeyEventType.
463 * test/key-listener-test.c (report_tab_key_event): Use fprintf
466 * tests/simple-at.c, tests/screen-review-test.c:
467 Add include for <strings.h>.
469 * tests.stress-test.c:
470 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
472 These changes fix compiler warnings when using FORTE compiler on
473 Solaris; fixes bug #107479.
476 2003-04-10 Bill Haneman <bill.haneman@sun.com>
479 * configure.in: revved to 1.1.10
482 (SPI_KEYMASK_NUMLOCK): Added.
484 * registryd/deviceeventcontroller.c:
485 (spi_key_event_matches_listener): AND with a smaller
486 bitmask (as we should).
487 (spi_dec_translate_mask):
488 New method, sets the virtual NumLock modifier bit
489 if numlock is on. Eventually it can handle other virtual
490 modifier bits if needed, or other marshalling from
491 at-spi modifier masks to platform (X) masks.
492 (spi_dec_key_listener_new):
493 Call spi_dec_translate_mask to set up virtual mod bits
494 in the 'mask' field when creating a new listener struct.
495 (spi_dec_emit_modifier_event):
496 Set the virtual (i.e. NumLock) bits before emitting event.
497 (spi_controller_register_with_devices):
498 Query for the NumLock modifier 'physical' bit if Xkb is
499 present, for use in above methods.
503 2003-04-10 Bill Haneman <bill.haneman@sun.com>
505 * registryd/deviceeventcontroller.c:
506 (spi_keystroke_from_x_key_event):
507 Instead of checking to see if the keysym is
508 printable, check the string from XLookupString
509 if available, get the first unicode character from it,
510 and call g_unichar_isprint to determine whether the
511 is_text flag should be TRUE or FALSE.
515 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
517 * atk-bridge/bridge.c: Add support for extended events
518 * cspi/spi_event.c: Add documentation and implementation for
520 * tests/event-listener-test.c: Add tests for extended events.
522 This fixes bugs #100424 and #100426.
524 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
526 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
527 of LT_CURRENT. This fixes bug #89350.
529 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
531 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
532 number of signal parameter values before accessing them. This fixes
535 2003-04-01 Bill Haneman <bill.haneman@sun.com>
537 * configure.in: Fixed duplicate inclusion of -lspi.
538 * branched for gnome-2-2/HEAD.
539 [created tag "gnome-2-2"]
541 2003-03-07 Bill Haneman <bill.haneman@sun.com>
543 * configure.in: 1.1.9 release.
546 2003-03-07 Bill Haneman <bill.haneman@sun.com>
548 [needed by GOK, to fix bugs 107985 and 107988]
549 * registryd/deviceeventcontroller.c:
550 (spi_dec_clear_unlatch_pending):
551 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
552 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
553 (spi_dec_init_mouse_listener):Emit warning if mouse button
555 (spi_device_event_controller_forward_mouse_event):
556 Removed unnecessary parens from a conditional.
557 (global_filter_fn):Added TODO comment.
558 (impl_generate_keyboard_event):
559 Cancel a pending relatch if a 'delatching' key was
562 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
564 * atk-bridge/bridge.c:
565 Change atk_signal_child_changed to atk_signal_children_changed.
566 Reorganize code in spi_atk_bridge_signal_listener().
568 * test/event-listener-test.c:
569 Add children_changed_listener and report_children_changed_event()
570 to test AccessibleChildEvent_getChildAccessible.
572 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
574 * cspi/spi_event.c (cspi_internal_event_get_text): Change
575 g_strdup to CORBA_String_dup (bug #105291)
577 * test/event-listener-test.c (report_text_event): Add call to
580 2003-02-28 Bill Haneman <bill.haneman@sun.com>
582 * registryd/deviceeventcontroller.c:
583 (spi_keystroke_from_x_key_event):
584 Fix string and keysym return codes to match modifier state.
587 2003-02-28 Bill Haneman <bill.haneman@sun.com>
589 * registryd/deviceeventcontroller.c:
590 (spi_keystroke_from_x_key_event):
591 Fix segv due to improper use of isprint(c). [bug #107254]
593 2003-02-24 Bill Haneman <bill.haneman@sun.com>
596 (get_accessible_text_boundary_type):
597 Move default return value to (new) default case in switch.
598 (get_accessible_text_clip_type):
599 Move default return value to (new) default case in switch.
601 * libspi/application.c:
602 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
603 Remove unused methods.
604 (impl_accessibility_application_register_object_event_listener):
605 Remove unused methods.
608 Added #include of <math.h>.
610 * registryd/deviceeventcontroller.c:
611 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
612 we don't currently use this method.
613 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
615 (impl_generate_key_event):
616 Remove unused variables.
617 (impl_generate_mouse_event):
618 Initialize button to zero, just in case we get an invalid
619 input. Added support for mouse buttons 4 and 5.
620 (spi_device_event_controller_new):
621 Removed unused variable declaration for 'private'.
623 Added #include of <gdk/gdk.h>
625 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
627 * configure.in: Update to work when X is not installed in expected
628 location. Fixes bug #105836.
630 * atk-bridge/bridge.c
631 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
633 (spi_atk_register_event_listener): Add signal listener for
635 (spi_atk_bridge_signal_listener): Event event when link-selected
636 signal is emitted. (bug #104622)
638 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
639 on returned string. (bug #105291)
641 * test/event-listener-test.c: Add test for link-selected.
643 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
645 * atk-bridge/Makefile.am: Correct typo in previous commit.
647 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
649 * atk-bridge/Makefile.am: Allow for build directory to be different
650 from source directory
652 * registryd/Makefile.am: Allow for build directory to be different
653 from source directory
657 2003-01-29 Bill Haneman <bill.haneman@sun.com>
660 Fixed dependencies for libcspi so that libspi gets pulled in
661 properly. Fixes 104741.
665 Clean up inline docs a little.
667 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
669 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
670 This is done by implementing AtkComponent for SpiAtkDesktop, which is
671 the AtkObject within an SpiDesktop.
672 This addresses bug #101524.
674 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
675 Remove call to gdk_init().
677 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
678 so that Display is set when SpiDesktop is created.
680 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
682 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
683 This fixes bug #102830.
685 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
687 * test/test-simple.c: Update to take account of fact that GailButton
688 now implements AtkText.
689 (create_text_window): Set name on AtkObject for GtkEntry.
690 (validate_accessible): Check accessible name before calling test_text().
692 * libspi/Makefile.am: Fix problem with building outside of source
693 directory. Bug #98120.
695 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
696 typo in documentation comments. Bug #94275.
698 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
700 * libspi/text.c (impl_getBoundedRanges): Bug fix.
702 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
705 Add includes to avoid compiler warnings on Solaris.
706 (impl_getRangeExtents): Bug fix.
708 2002-12-17 Bill Haneman <bill.haneman@sun.com>
710 Fix for 100944, [API addition approved by Gman and murrayc].
717 * idl/Accessibility_Text.idl:
718 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
719 (Text::getRangeExtents): New method for efficient
720 bounds query of a text range.
721 (Text::getBoundedRanges): New method for efficient
722 clipping of text to bounding boxes.
723 (unImplemented7, unImplemented8):
724 Removed these padding methods to preserve bincompat.
727 (impl_getRangeExtents): implementation of new IDL.
728 (impl_getBoundedRanges): implementation of new IDL.
729 (SpiTextRect): Internal use struct.
730 (_spi_text_rect_union): internal method, calculates union of two
731 SpiTextRect bounding rects.
732 (_spi_text_range_seq_from_gslist): internal method, allows us
733 to build our sequence efficiently as a gslist then convert it
735 (_spi_bounds_contain): internal method, determines whether
736 a text character is "in" or "out" of a clip rect according to
737 values of TEXT_CLIP_TYPE.
738 (spi_text_class_init): Initialize the new methods in the epv.
741 (AccessibleTextClipType): New enum used by screen review api.
742 (AccessibleTextRange): New struct used by screen review api.
743 (AccessibleText_getRangeExtents):
744 cspi binding for Accessibility_Text_getRangeExtents.
745 (AccessibleText_getBoundedRanges):
746 cspi binding for Accessibility_Text_getBoundedRanges.
747 (AccessibleTextRange_freeRanges): convenience method.
750 (AccessibleText_getRangeExtents):
751 cspi binding for Accessibility_Text_getRangeExtents.
752 (AccessibleText_getBoundedRanges):
753 cspi binding for Accessibility_Text_getBoundedRanges.
754 (AccessibleTextRange_freeRanges): convenience method.
755 (get_accessible_text_clip_type): internal conversion method.
756 (get_accessible_text_ranges_from_range_seq): internal conversion method.
758 * registryd/deviceeventcontroller.c:
759 (spi_dec_mouse_check):
760 Improved behavior for mouse:abs events
761 [same granularity as mouse:rel events, and no
762 events when mouse is idle].
764 2002-12-16 Michael Meeks <michael@ximian.com>
766 * cspi/spi_accessible.c (spi_state_to_corba): rename.
768 * libspi/stateset.c (state_spi_to_atk): split out
769 ( fix several remote array bounds nasties )
770 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
771 (impl_remove): make safe from array bounds issues.
772 (spi_atk_state_from_spi_state): impl.
774 * libspi/stateset.h (spi_state_set_cache_is_empty):
775 add a set of wrapper defines to get layering right.
777 * cspi/spi_accessible.c: update state set stuff to
780 2002-12-14 Michael Meeks <michael@ximian.com>
782 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
783 to avoid 2 roundtrips to the registry per key event
784 (spi_atk_bridge_key_listener): upd.
785 (deregister_application): release the dec.
787 * registryd/registry.c (notify_listeners_cb):
788 bin lots of re-enterant complexity - we no longer
789 do a round-trip bonobo ref here, ensure that a single
790 listener's exception failure won't poison all other
792 (impl_registry_notify_event): bin obvious memory leak.
794 2002-12-13 Michael Meeks <michael@ximian.com>
796 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
797 init the ev so the error is meaningful.
798 (spi_atk_bridge_key_listener): ditto.
800 * cspi/spi_main.c (cspi_ev): init the ev so we start
801 with a clean slate, otherwise the first exception
804 * cspi/spi_text.c (get_accessible_text_boundary_type):
805 add a fallthrough for no warnings.
807 * cspi/spi_registry.c: prune unused warnings.
809 * cspi/spi_main.c (cspi_object_take): fix
810 mind-blowing brokenness ( by watching the compile
813 * cspi/spi_accessible.c (Accessible_getStateSet):
814 re-impl. to use an AtkStateSet.
815 (spi_state_type_from_accessible_state),
816 (init_state_table): bin these.
818 * libspi/stateset.c (spi_atk_state_set_from_sequence):
820 (atk_state_set_from_accessibility_state_set): here.
822 * cspi/spi_accessible.c (spi_state_to_atk): impl.
823 (AccessibleStateSet_contains, AccessibleStateSet_ref),
824 (AccessibleStateSet_unref, AccessibleStateSet_contains),
825 (AccessibleStateSet_add, AccessibleStateSet_remove),
826 (AccessibleStateSet_equals, AccessibleStateSet_compare),
827 (AccessibleStateSet_isEmpty): re-write to use a local
830 2002-12-13 Bill Haneman <bill.haneman@sun.com>
832 * configure.in: Revved to 1.1.7 (new keymask vals).
834 2002-12-10 Bill Haneman <bill.haneman@sun.com>
837 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
839 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
842 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
843 to compare two CORBA_TypeCodes.
844 (cspi_internal_event_add): Silence warning from FORTE compiler.
846 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
847 avoid implicit declaration of functions.
849 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
851 * atk-bridge/bridge.c:
852 (spi_atk_bridge_init_event_type_consts): Store signal id for
853 active-descendant-changed signal.
854 (spi_atk_register_event_listeners): Add signal listener for
855 active-descendant-changed signal,
856 (spi_atk_bridge_signal_listener): Move code in function
857 spi_atk-signal_emit_event() into this function.
858 Add support for active-descendant-changed
859 Update support for child-changed signal.
860 (spi_bridge_window_event_listener): Silence warning.
862 * libspi/spi_private.[ch]:
863 (spi_init_any_object): Change second parameter from CORBA_Object to
865 Omit call to CORBA_Object_duplicate().
866 Set CORBA_any's _value to CORBA_Object*.
868 2002-12-06 Bill Haneman <bill.haneman@sun.com>
874 (AccessibleEvent_ref, AccessibleEvent_unref):
875 New methods, for persisting an event outside the emission context.
876 Must be used if the new accessor methods are to be called
877 outside of the event listener's callback.
879 * cspi/bonobo/cspi-bonobo.c:
880 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
881 as second parameter instead of NULL, so we can call
882 cspi_check_ev afterwards.
885 (cspi_object_take): New internal method,
886 converts a CORBA_Object reference to a hard ref on
887 an Accessible if possible, returning NULL if the object
888 reference is invalid or an Accessible * otherwise.
891 (AccessibleEvent_ref):
892 Increment the event's internal private refcount, and
893 add the event's internal struct to an internal cache
894 if it's not already there.
895 (AccessibleEvent_unref):
896 Decrement the event's refcount and remove it from
897 the cspi event cache if refcount==0.
898 (cspi_event_compare): New private method.
899 Compares two event structs via their ids. Used
901 (cspi_internal_event_lookup): New private method.
902 (cspi_internal_event_check): New private method,
903 a 0-order sanity check for events to make sure their
904 private data is intact.
905 (cspi_internal_event_add, cspi_internal_event_remove):
906 New private methods for managiing the event cache.
908 * cspi/bonobo/cspi-bonobo-listener.c:
910 Initialize the new private data elements (id, magic, ref_count).
912 * atk-bridge/bridge.c:
913 (spi_atk_bridge_signal_listener):
914 Fixed bug #100530, passing wrong params to emission func.
916 * registryd/deviceeventcontroller.c:
917 (spi_dec_button_update_and_emit):
918 Fixed type in mask bit operations; fix for #99799.
920 2002-12-02 Bill Haneman <bill.haneman@sun.com>
922 Removed some of the more dangerous workarounds from
923 previous commit; they are only needed by GOK, which
924 in reality should be using another method to accomplish
925 the goals. So on reconsideration some of the workarounds
928 * registryd/deviceeventcontroller.c:
929 (spi_keycodes_contain, spi_dec_init_keycode_list):
930 Removed these methods, used only by a nasty hack to try
931 and detect whether a key synthesis should be allowed
932 to reset the XKB latch state or not. This code was only
933 required to work around an interaction between GOK,
934 button events, and XKB.
935 (impl_generate_key_event):
936 Removed hack at end of key generation that tried to
937 "do the right thing" if XKB latch keys were generated
938 in the midst of button press/release pairs.
941 Added a check for HAVE_XINPUT. Not normally used yet.
943 2002-11-25 Bill Haneman <bill.haneman@sun.com>
945 Workarounds and fixes for mouse event/XKB interaction.
947 * registryd/deviceeventcontroller.c:
948 (spi_keycodes_contain, spi_dec_init_keycode_list):
949 New internal methods.
950 (spi_dec_set_unlatch_pending):
951 Split the method that tells XKB to expect an
952 unlatch (and revert it) out of the rest of the
953 event handling code. This method is called by the
954 two mouse event handlers (the poll and the filter).
955 (spi_dec_update_and_emit, spi_dec_mouse_check):
956 New methods split from spi_dec_poll_mouse_moved.
957 The second one is now called from inside the filterFn
958 when an XKB delatch event is received, to determine
959 whether to revert the delatch or not.
960 (spi_poll_mouse_moved): Refactor; also we can now
961 properly handle the case where multiple button states
962 have changed between polling cycles and we didn't get
963 notified due to another client's grab.
965 Synchronize the server while handling an XKB notification.
966 Ugly, but apparently necessary to avoid nasty races.
967 Check the mouse state on receipt of an XKB latch change,
968 to decide whether to revert the latch or not. (Latches are
969 reverted if there is an immediately preceding mouse button
970 event that a client has consumed, in which case we don't want
971 the user to see the side-effect of the event).
972 (spi_device_event_controller_forward_mouse_event):
973 Check for modifier events and fire before resetting mouse_mask_state,
974 prevents losing modifier events.
976 (impl_generate_keyboard_event):
977 If we've just generated a keyboard event for a non-shift key,
978 we don't want to revert the pending XKB latch.
979 Otherwise, check the modifier state (via a call to
980 spi_dev_mouse_check) and set the relatch mask to
981 that state before returning.
983 2002-11-24 Bill Haneman <bill.haneman@sun.com>
986 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
989 * atk-bridge/bridge.c:
990 (spi_atk_register_event_listeners):
991 Don't re-register for ATK events if the registry has died
992 and the app needs to re-register; the ATK listeners are in
993 process and doing so will cause duplicate emission.
995 * registryd/deviceeventcontroller.c:
996 (spi_poll_mouse_moved):
997 Reformat the source, detect and emit multiple button-change
998 events (i.e. if multiple buttons have changed between poll
1000 Add code to detect mouse-down events even when the pointer
1001 is grabbed; workaround for GOK bug 98420.
1002 (spi_controller_register_with_devices):
1003 Call XTestGrabControl with 'impervious' flag set to True,
1004 allows us to synthesize events and query the pointer even during
1005 an active grab by another client.
1006 (spi_device_event_controller_forward_mouse_event):
1007 Set the mouse_mask_state to the mouse_button_state from
1008 the intercepted event, to synchronize the grab listener with
1011 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1013 * cspi/spi_accessible.c:
1014 (AccessibleRole_getName):
1015 Added necessary strings for making this (deprecated)
1016 method work with the new role types.
1017 (init_role_table, role_table):
1018 Added definition of SPI_ROLE_APPLICATION.
1020 * libspi/spi-roletypes.h:
1021 Added SPI_ROLE_APPLICATION.
1023 * idl/Accessibility_Role.idl:
1024 Added ROLE_APPLICATION.
1026 * docs/reference/cspi/at-spi-cspi-decl.txt:
1027 Added SPI_ROLE_APPLICATION to docs.
1029 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1031 * cspi/spi_accessible.c
1032 (cspi_init_role_table): Do not write beyond end of role_table.
1033 (Accessible_getRole): Use correct type for value returned by
1034 Accessibility_Accessible_getRole().
1036 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1037 beyond end of role_table. (This fixes bug #98269)
1039 * libspi/application.c: Add include file spi-private.h for
1040 definition of spi_init_any_nil.
1042 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1046 * libspi/spi-private.h:
1047 Added DGB() macro, and extern int _dbg declaration.
1049 * registryd/registry.c:
1050 (definitions) storage for _dbg.
1051 (spi_registry_init):
1052 Get environment variable "AT_SPI_DEBUG".
1053 (spi_registry_set_debug):
1054 New method, to initialize _dbg value.
1055 (spi_listener_struct_new, spi_registry_object_finalize):
1056 (notify_listeners_cb):
1057 Changed fprintfs to use DBG and g_warning().
1059 * registryd/deviceeventcontroller.c:
1060 (_deregister_keygrab, spi_controller_register_device_listener):
1061 Changed debug/warning messages to use DBG macro.
1063 * libspi/listener.c:
1064 (impl_notify_event):
1065 Changed warning messages to use DBG macro and g_warning().
1067 * atk-bridge/bridge.c:
1068 (atk_bridge_init, spi_atk_bridge_get_registry):
1069 (spi_atk_bridge_exit_func):
1070 (spi_atk_bridge_property_event_listener):
1071 Changed status, warning, and error messages to use
1072 g_warning, g_message, and DBG macros.
1075 Read the state of the AT_SPI_DEBUG environment variable
1076 and set a local '_dbg' accordingly.
1078 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1080 FIXES for 98836, 98842, other bugs.
1083 Revved to 1.1.4, interface-age=4, binary-age=4.
1085 * registryd/deviceeventcontroller.c:
1087 Fixed crasher bug in last_mouse_pos initialization.
1089 * registryd/registry.c:
1090 (desktop_add_application, desktop_remove_application):
1091 Added (and then commented out) some support for
1092 object context marshalling. [TODO]
1094 * atk-bridge/bridge.c:
1095 (spi_atk_bridge_event_context_create):
1096 Commented out object context creation until it can
1097 be properly tested and debugged.
1099 * registryd/registry.c:
1100 (impl_registry_notify_event):
1101 Fixed crasher bug, we were calling
1102 spi_re_entrant_list_foreach () with an empty list.
1104 2002-11-18 Bill Haneman <bill.haneman@sun.com>
1106 * idl/Accessibility_Action.idl:
1107 * idl/Accessibility_Component.idl:
1108 * idl/Accessibility_Desktop.idl:
1109 * idl/Accessibility_Event.idl:
1110 * idl/Accessibility_Hyperlink.idl:
1111 * idl/Accessibility_Image.idl:
1112 * idl/Accessibility_Relation.idl:
1113 * idl/Accessibility_Selection.idl:
1114 * idl/Accessibility_State.idl:
1115 * idl/Accessibility_Value.idl:
1116 Updated unimplemented slot count to minimum of
1117 four for all interfaces, for ABI freeze.
1119 * idl/Accessibility_EditableText.idl:
1120 * idl/Accessibility_Text.idl:
1121 Updated unimplemented slot count to six
1124 * idl/Accessibility_Registry.idl:
1125 Updated unimplemented slot count to six
1126 (also for DeviceEventController),
1129 * idl/Accessibility_Table.idl:
1130 Updated unimplemented slot count to eight,
1133 * idl/Accessibility_Event.idl:
1134 Added CORBA_any "any_data" member to Event struct.
1136 * idl/Accessibility_Event.idl:
1137 Added CORBA_any "any_data" member to Event struct.
1139 * atk-bridge/bridge.c:
1141 atk_signal_text_changed, atk_signal_child_changed,
1142 signal ids queried from gtype system.
1143 (AtkBridgeEventContextType): New enum.
1144 (AtkBridgeEventContextData): New struct.
1145 (AtkBridgeEventContext): New struct.
1146 (atk_bridge_init_event_type_consts):
1147 New method, initializes type contants for comparison
1148 prior to emit_eventv.
1149 (atk_bridge_event_context_init): New method,
1150 initializes a CORBA_any from an AtkBridgeEventContext.
1151 (atk_bridge_focus_tracker): Call spi_init_any_nil to
1152 initialize the event.any_data struct.
1153 (spi_atk_bridge_event_context_create): New method,
1154 creates an AtkBridgeEventContext from signal/event info.
1155 (spi_atk_bridge_event_context_free): New method.
1156 (spi_atk_emit_eventv): Changed to take an
1157 AtkBridgeEventContext parameter. We now initialize
1158 the event.any_data member prior to notifying the
1159 Registry, via the AtkBridgeEventContext.
1160 (spi_atk_bridge_property_event_listener):
1161 (spi_atk_bridge_state_event_listener):
1162 Match emit_eventv signature.
1163 (spi_atk_bridge_object_event_listener):
1164 Match emit_eventv signature, and create an
1165 event context from the event details.
1166 Free the event context afterwards.
1167 (spi_atk_bridge_window_event_listener):
1168 Create an event context, pass it to the
1172 (AccessibleEvent_getContextString):
1173 (AccessibleEvent_getContextObject):
1174 New methods, allow query of AccessibleEvent objects
1175 for more context details (via the "any_data" member
1176 of the Event struct, above).
1179 Definitions for AccessibleEvent_getContextString
1180 and AccessibleEvent_getContextObject.
1182 * cspi/spi_listener.h:
1183 (InternalEvent): New struct.
1186 (AccessibleEvent_getContextString):
1187 (AccessibleEvent_getContextObject):
1188 Implementations of new methods, for obtaining
1189 additional context information from some event types.
1191 * cspi/spi_registry.c:
1192 (SPI_registerGlobalEventListener):
1193 Added mention of active-descendant-changed event in docs.
1195 * cspi/cspi-bonobo-listener.c:
1197 Marshal the any into the AccessibleEvent via
1200 * libspi/spi-private.h:
1201 #include <orbit/orbit.h>
1203 (spi_init_any_string):
1204 (spi_init_any_object):
1205 New convenience function declarations.
1209 (spi_init_any_string):
1210 (spi_init_any_object):
1211 New convenience function implementations.
1213 * registryd/deviceeventcontroller.c:
1214 (spi_poll_dec_mouse_moved):
1215 (spi_device_event_controller_forward_mous_event):
1216 Initialize any_data member of event.
1217 (spi_deregister_controller_device_listener):
1218 Fix incorrect param pass which was preventing deregistration.
1220 * registryd/registry.c:
1221 (desktop_add_application):
1222 (desktop_remove_application):
1223 Add object data to event's any_data before dispatch.
1225 Fix for error messages from GAIL.
1227 * test/event-listener-test.c:
1228 Test new ContextString and "any_data" API:
1229 (report_text_event): New method query and output context string.
1230 (main): register a new text listener with report_text_event
1233 2002-11-19 Darren Kenny <darren.kenny@sun.com>
1235 Fixes for bugs 98127 and 97914.
1236 * cspi/spi-roletypes.h:
1237 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1239 * cspi/spi-statetypes.h:
1240 Added SPI_STATE_MANAGES_DESCENDANTS
1242 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1243 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1244 * cspi/spi_accessible.c:
1245 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1246 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
1247 Accessibility_STATE_MANAGES_DESCENDANTS
1248 * libspi/accessible.c:
1249 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1250 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
1251 As requested by Bill, I also cleaned up the alignment.
1252 * libspi/relation.c:
1253 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1254 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1255 * libspi/stateset.c:
1256 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1257 Accessibility_STATE_MANAGES_DESCENDANTS
1258 * docs/reference/cspi/tmpl/spi_accessible.sgml:
1259 Document changes reflecting modifications to roles.
1260 * docs/reference/cspi/tmpl/spi_relation.sgml:
1261 Document changes reflecting modifications to relations.
1262 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1263 Document changes reflecting modifications to states.
1265 2002-11-17 Bill Haneman <bill.haneman@sun.com>
1268 Revved to 1.1.3, interface-age=3, binary-age=3.
1269 Added REBUILD macro.
1272 Removed accessx-gui from the tests, since we have a nice
1273 keyboard accessibility capplet now :-)
1275 * test/keysynth-demo.c:
1276 (increment_scan): removed do-nothing default: case,
1279 * test/visual-bell.c:
1280 (main) : removed do-nothing default: case,
1283 * cspi/spi_action.c:
1284 (AccessibleAction_getKeyBinding_):
1285 Documented keybinding string format.
1289 (AccessibleText_getAttributes):
1290 Documented the text attribute string format.
1291 It's changed to use semicolon delimiters also,
1292 to prevent clashes with CSS attributes, but the old
1293 trick of looking for ", " strings will still work
1294 (as unreliably as ever). Fix for bug related to 97916.
1297 Include <cspi/bonobo/cspi-bonobo-listener.h>
1298 Fixes build warning.
1299 (SPI_freeAccessibleKeySet):
1300 (AccessibleKeystrokeListener_addCallback):
1301 (AccessibleKeystrokeListener_removeCallback):
1302 Modify to use AccessibleDeviceListener API internally,
1303 instead of AccessibleKeystrokeListener.
1305 * idl/Accessibility_Event.idl:
1306 Added two more empty slots to EventListener (for a total of four).
1308 * idl/Accessibility_Accessible.idl:
1309 Added four empty slots to Accessible interface.
1311 2002-11-15 Bill Haneman <bill.haneman@sun.com>
1313 * idl/Accessibility_Registry.idl:
1314 (KeyEventType, EventType):
1315 Marked KeyEventType as deprecated; it duplicates
1316 functionality of EventType, which has been extended to
1317 include Mouse-button events.
1318 (KeyEventTypeSeq): defined in terms of EventType.
1319 (registerDeviceEventListener, deregisterDeviceEventListener):
1320 New methods, for managing listeners to device events,
1321 which potentially may consume them.
1324 Added definition for AccessibleDeviceListener.
1326 * cspi/spi-listener.h:
1327 (enum AccessibleDeviceEventType):
1328 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1329 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1330 for backwards compat.
1331 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1332 and typedef'd AccessibleKeystroke to it for back-compat.
1333 (AccessibleDeviceListenerCB):
1334 New function prototype typedef.
1337 (AccessibleDeviceEventMask): New typedef.
1338 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1339 (AccessibleKeyMaskType):
1340 Set equivalent to AccessibleModifierMaskType for back-compat.
1341 (SPI_createAccessibleKeystrokeListener):
1342 (AccessibleKeystrokeListener_unref):
1343 Deprecated in favor of equivalent (better-named) new API below..
1344 keystroke listeners are like all device listeners.
1345 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1346 New API names for old features :-).
1347 (AccessibleDeviceListener_addCallback):
1348 (AccessibleDeviceListener_removeCallback):
1349 (SPI_registerDeviceEventListener):
1350 (SPI_deregisterDeviceEventListener):
1354 (SPI_createAccessibleKeystrokeListener):
1355 Use new preferred API, cspi_device_listener_new() and
1356 cspi_device_listener_add_cb().
1357 (AccessibleKeystrokeListener_removeCallback):
1358 Use new preferred API, cspi_device_listener_remove_cb().
1359 (AccessibleKeystrokeListener_unref):
1360 Use new preferred API, cspi_device_listener_unref().
1361 (SPI_createAccessibleDeviceListener):
1362 (AccessibleDeviceListener_addCallback):
1363 (AccessibleDeviceListener_removeCallback):
1364 Implementation of new API.
1366 * cspi/spi_registry.c:
1367 (SPI_registerDeviceEventListener):
1368 (SPI_deregisterDeviceEventListener):
1369 Implementation of new API. Fixed memory leak and removed need to
1370 allocate EventTypeSeq (thanks Michael for catching this).
1371 Squashed a wayward CORBA_exception_free that shouldn't get called.
1373 * cspi/bonobo/cspi-bonobo-listener.c:
1375 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1376 (cspi_key_event): renamed to cspi_device_event().
1377 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1378 Extended to handle mouse button events as well as key events.
1379 (CSpiKeystrokeListener):
1380 Class superceded by CSpiDeviceListener.
1381 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1382 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1384 * cspi/bonobo/cspi-bonobo-listener.h:
1385 (CSpiKeystrokeListener):
1386 Class superceded by CSpiDeviceListener.
1387 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1388 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1390 * libspi/Makefile.am:
1391 Replaced keystrokelistener.h and keystrokelistener.c
1392 with devicelistener.h and devicelistener.c; keystrokelisener.h
1393 stub retained for back-compat.
1395 * libspi/keystrokelistener.c:
1399 Replaced inclusion of keystrokelistener.h with devicelistener.h.
1401 * registryd/deviceeventcontroller.c:
1402 (DEControllerListener): Added Accessibility_EventTypeSeq member.
1403 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1404 (DEControllerPrivateData): Added xkb settings data.
1405 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1406 button release events (which can't be captured via XGrabButton).
1407 Don't dispatch via the 'normal' event mechanism if the device event was
1409 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1410 Handle the typeseq data in its new location (see above).
1411 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1412 New methods, for "generic" device listeners.
1413 (spi_controller_register_device_listener):
1414 Now handle mouse event listeners as well as key listeners.
1415 (spi_controller_notify_mouselisteners):
1416 New internal method.
1417 (spi_device_event_controller_forward_mouse_event):
1418 Now we notify mouse device listeners as well as generating the
1419 non-consumable "mouse:" events.
1421 We must check and restore the XKB
1422 modifier map if we consume the event, since the act of triggering
1423 a mouse event will normally reset the XKB latch. This is required for
1425 (spi_controller_register_with_devices):
1426 Load the XKB settings when registering, and register for XKB
1427 state notify events.
1428 (spi_key_eventtype_seq_contains_event):
1429 Renamed spi_eventtype_seq_contains_event, since it's used
1430 internally for all device event types now.
1431 (spi_key_event_matches_listener):
1432 Uses spi_eventtype_seq_contains_event now.
1433 (spi_device_event_controller_object_finalize):
1434 Free the private data and the XkbKeyboard struct.
1435 (impl_register_device_listener, impl_deregister_device_listener):
1436 Implementation of new IDL.
1437 (spi_deregister_controller_device_listener):
1438 New internal method.
1439 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1440 More efficient implementation, we don't have to create a new
1441 XkbControls structure every time we query.
1442 (spi_device_event_controller_class_init):
1443 Initialize the epv entries for the new IDL. Assign the
1444 "spi-dec-private" quark.
1445 (spi_device_event_controller_init):
1446 Initialize the private data.
1447 (spi_device_event_controller_forward_key_event):
1448 Removed a bogus CORBA_exception_free() call.
1450 * registryd/deviceeventcontroller.h:
1451 Replaced inclusion of keystrokelistener.h with
1454 * test/event-listener-test.c:
1455 (report_mouse_event):
1458 Added mouse-event device listener.
1460 * test/test-simple.c:
1461 (create_test_window):
1462 Fixed regression (we were instantiating a GtkRange,
1463 which is now an abstract class). Also fixed to match
1464 existing AtkRole names, this seems to have changed in ATK
1465 awhile ago; too late now I think, and the new
1466 mechanism is at least elegant and consistent with the
1467 glib enum "nick" APIs.
1469 2002-11-15 Darren Kenny <darren.kenny@sun.com>
1471 * idl/Accessibility_Relation.idl:
1472 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1473 RELATION_EMBEDS,RELATION_EMBEDDED_BY
1474 * idl/Accessibility_Role.idl:
1475 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1476 * idl/Accessibility_State.idl:
1477 add STATE_MANAGES_DESCENDANTS
1478 * test/event-listener-test.c:
1479 Added a listener for active-descendant events.
1481 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
1483 * atk-bridge/bridge.c
1484 (atk_bridge_init): If application is Bonobo component wait until top
1485 level is added before registering
1486 (spi_atk_bridge_do_registration): New function which contains code,
1487 formerly in atk_bridge_init, to do application registration.
1488 (spi_atk_bridge_toplevel_added): Signal called when top level
1489 added to Bonobo component
1491 This fixes bug #83134.
1493 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
1495 * registryd/deviceeventcontroller.c
1496 Fixed compilation error caused by calling gettimeofday()
1499 2002-10-18 Bill Haneman <bill.haneman@sun.com>
1504 Added template for HAVE_XKB.
1507 Changes to check for XKB, and to set the HAVE_XKB #define if it
1510 * libspi/listener.c:
1511 ()impl_notify_event): Make failure to get event source name
1514 * registryd/deviceeventcontroller.c:
1515 (#include): include X11/XKBlib.h.
1516 (DEControllerPrivateData) : New struct.
1517 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
1519 (dec_synth_keycode_press) (dec_synth_keycode_release):
1520 New methods; split the key synthesis code into these methods.
1521 They check XKB settings before determining the "time" values to
1522 pass to Xtest; this fixes bug #95828.
1523 (impl_generate_keyboard_event): Changed to use methods above,
1524 instead of callng Xtest directly.
1525 (spi_device_event_controller_init): Initialize new privae struct s
1527 (spi_device_event_controllr_object_finalize):
1528 Free the (new) private data.
1530 * registryd/deviceeventcontroller.h:
1531 Add new gpointer to end of struct data.
1533 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1536 Incremented revision to 1.1.2, SONAME is still '.so', library
1537 extensions are ".so.0.0.2".
1539 * registryd/deviceeventcontroller.c:
1540 FIXES FOR #93592 and #95940.
1541 (statics): renamed mouse_button_state to mouse_mask_state,
1542 added key_modifier_mask.
1543 (spi_dec_poll_mouse_moved):
1544 Added key modifier checks, and emit "keyboard:modifiers"
1545 events when the key modifiers currently in use change.
1546 Also generate "mouse:abs" events periodically, even if the mouse
1547 is stationary (should we?).
1548 Alternatively we could generate "mouse:abs" events for either all
1549 mouse movements, or every 'nth' mouse movement, or at the
1550 beginning and end of every "active" mouse period.
1552 * test/event-listener-test.c:
1553 (main): Added listener for "keyboard:modifiers" events.
1555 2002-10-15 Bill Haneman <bill.haneman@sun.com>
1557 * libspi/keymasks.h:
1558 Added key mask #defines for mouse buttons; e.g.
1559 SPI_KEYMASK_BUTTON1, etc.
1562 Incremented dependency on ATK to version 1.1.0. (This dependency
1563 is probably premature but will soon be real enough).
1565 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
1567 * libspi/hyperlink.[ch]
1568 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
1569 (get_hyperlink_from_servant): Check object is AtkHyperlink not
1572 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
1577 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
1579 * registryd/deviceeventcontroller.c
1580 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
1581 events to be ignored.
1582 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
1583 keyboard_mode so that XAllowEvents() can be called.
1587 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
1589 * cspi/spi-accessible.c: Correct names of roles returned by
1590 AccessibleRole_getName(). Fixes bug #95055.
1592 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
1594 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
1597 * registryd/registry.c
1598 (desktop_remove_application: Write diagnostic message to stderr for
1601 (impl_accessibility_registry_deregister_global_event_listener):
1602 Correct size of lists array. This addresses bug #94555).
1604 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
1606 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
1609 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
1611 * registryd/Makefile: Add CLEANFILES so that .server file is removed
1614 * registryd/registry.c (impl_registry_notify_event): Remove
1615 unnecessary call to parser_event_type().
1617 * docs/reference/cspi/tmpl/spi_component.sgml:
1618 Add reference to SPI_LAYER_WINDOW.
1620 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
1622 * registryd/registry.c
1623 (desktop_add_application): Remove leak.
1624 (desktop_remove_application): Remove leak.
1625 (parser_event_type): Remove leak.
1627 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
1629 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1630 bogus call to CORBA_string_dup(). Also removed unnecessary
1631 g_string_dup/g_free calls.
1633 2002-09-13 Bill Haneman <bill.haneman@sun.com>
1635 * registryd/deviceeventcontroller.c:
1636 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1638 * test/event-listener-test.c:
1639 main: commented out three redundant listeners, to reduce output
1640 noise. (They still are potentially useful for testing).
1643 2002-09-13 Michael Meeks <michael@ximian.com>
1645 * Update all the copyrights to include Ximian.
1647 2002-09-06 Mark McLoughlin <mark@skynet.ie>
1649 * cspi/spi.h: add SPI_LAYER_WINDOW.
1651 * cspi/spi_component.c: (AccessibleComponent_getLayer):
1652 add Accessibility_LAYER_WINDOW case.
1654 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1656 * libspi/component.c: (impl_accessibility_component_get_layer):
1657 add ATK_LAYER_WINDOW case.
1659 2002-08-28 Bill Haneman <bill.haneman@sun.com>
1661 * configure.in: incremented micro version.
1663 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1665 2002-08-20 Bill Haneman <bill.haneman@sun.com>
1668 Clarified and reworded our commit policy.
1671 Started an API "todo" addition list for 2.2.
1674 (impl_getSelection):
1675 Free char pointer from atk_text_get_selection, which was being leaked.
1677 2002-08-19 Bill Haneman <bill.haneman@sun.com>
1680 Small revision to author acknowledgement.
1682 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1684 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1685 If signal has detail add it to the type of the event.
1688 2002-08-12 Michael Meeks <michael@ximian.com>
1690 * test/test-simple.c (global_listener_cb): bin bogosity.
1691 (test_keylisteners): disable, still doesn't work reliably,
1692 certainly not on my system anyway.
1694 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1695 don't leak a reference on the DEC. This round-trip
1696 fetching of the DEC per keystroke sucks, it should be
1699 * cspi/spi-private.h,
1700 * cspi/cspi-lowlevel.h,
1701 * cspi/bonobo/cspi-bonobo-listener.[ch],
1702 * cspi/bonobo/cspi-bonobo.c: get the copyright
1703 notices better - there is still a large amount of
1704 work in at-spi falsely attributed solely to Sun.
1706 * cspi/spi_main.c (cspi_object_ref): kill bogus
1707 hash lookup, just increment the ref.
1708 (SPI_freeString): make explicit the fact that we
1709 handle NULL strings just fine.
1710 (report_leaked_ref): obey coding standards.
1711 (cspi_object_hash, cspi_object_equal): kill retval.
1712 (cspi_object_release): only release if not on loan.
1713 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1714 (cspi_object_borrow, cspi_object_return): impl.
1716 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1717 use cspi_object_borrow / return.
1719 2002-08-12 Darren Kenny <darren.kenny@sun.com>
1721 * cspi/bonobo/cspi-bonobo-listener.c:
1723 Don't call cspi_oject_new() because this is creating a new Accessible
1724 every single time that an event is fired. This causes ATs like at-poke
1725 to nolonger recognise the source of the event and thus ignore it.
1726 Re-use the object from the cache, ref it and then unref it after the
1727 listeners have been called.
1729 2002-08-06 Darren Kenny <darren.kenny@sun.com>
1731 * test/event-listener-test.c:
1732 Added command-line options to disable mouse events (m) and
1735 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
1737 * configure.in: Update required versions of ATK, GTK+ and GAIL
1739 * cspi-1.0.pc.in: Add dependency for X include files
1742 * cspi/bonobo/Makefile.am:
1743 Add $(X_CFLAGS) so that X include files
1744 are picked up even if not in standard place (bug #71686)
1746 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1748 * registryd/deviceeventcontroller.c: fix for 84261
1749 (spi_dec_mouse_moved):
1750 Added test of mouse button mask, so that we can detect mouse
1751 button release. Unfortunately we can't otherwise detect mouse
1752 button release events without consuming the mouse press event,
1753 because of the way XGrabButton works. This means that our mouse
1754 release events have a latency dependent on the polling period
1755 while the mouse button is down. At least in this case we only
1756 have to poll while the button is down, and not at other times.
1757 If the button masks don't match with what the last press event
1758 reported, we report the appropriate button release event.
1759 (spi_dec_ungrab_mouse):
1760 New method (not yet called).
1761 (spi_device_event_controller_forward_mouse_event):
1762 New method, sends mouse press event from GdkFilter.
1763 (spi_dec_init_mouse_listener):
1764 Added code to call XGrabButton, redirecting mouse button events to
1765 the root window and our Gdk event loop.
1767 Added code to filter mouse button events, and reordered.
1769 * test/event-listener-test.c:
1771 Added registration for mouse events of type "mouse:button".
1773 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1775 * registryd/deviceeventcontroller.c: partial fix for 84261
1776 (spi_dec_poll_mouse_idle):
1777 New method, a timeout which checks to see if the mouse
1779 (spi_dec_poll_mouse_moving):
1780 A timeout to be called when mouse motion is underway.
1781 (spi_dec_poll_mouse_moved):
1782 A method which fires an event if the mouse has moved, and reports
1783 whether or not it did so.
1784 (spi_dec_init_mouse_listener):
1785 A method which sets up the timeouts above.
1786 (spi_device_event_controller_new):
1787 Now calls spi_dec_init_mouse_listener.
1789 * registryd/registry.c:
1790 (spi_registry_init):
1791 Now we initialize the device event controller when the registry is
1792 initialized, instead of waiting until a client has requested a key
1793 event notification; this is because we need the event controller
1794 for mouse events, but the mouse event registration API is a
1795 "registry" call and doesn't explicitly call the
1796 deviceeventcontroller.
1797 We now report mouse motion events with a 100 ms idle latency and
1798 a 20 ms granularity when motion is in progress.
1800 * test/event-listener-test.c:
1802 We now register the "detail listener" for events of type
1803 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1804 delivered only for the first mouse event received, and thereafter
1805 "mouse:abs" events are delivered.)
1807 * cspi/spi_registry.c:
1808 DOCS: Documented the above mouse event typestrings.
1810 2002-06-21 Bill Haneman <bill.haneman@sun.com>
1812 Happy Summer Solstice...
1814 * registryd/deviceeventcontroller.c: [fix for bug 84100]
1815 (spi_controller_notify_keylisteners):
1816 Changes to remove a listener from the listener list, freeing its
1817 open keygrabs, if a notification to that listener fails. This
1818 means that although a dead listener can continue to hold a passive
1819 keygrab, a maximum of one dispatch to such a listener can fail
1820 before the listener is removed from the list, thus the keygrab
1821 will be released on the next occurrence.
1822 As part of this fix:
1823 (spi_notify_keylisteners):
1824 Renamed to spi_controller_notify_keylisteners, as the controller
1825 instance must now be passed as an argument.
1826 The copied 'notify' GList is now a list of DEControllerKeyListener
1827 objects, since we need more than just the CORBA reference if a
1828 notify fails and we need to deregister the listener.
1829 (impl_notify_listeners_sync):
1830 (impl_notify_listeners_async):
1831 (spi_device_event_controller_forward_key_event):
1832 Modify use of notify_keylisteners in accordance with above
1834 (spi_deregister_controller_key_listener):
1835 New method introduced by refactoring, from
1836 impl_deregister_keystroke_listener.
1837 (impl_deregister_keystroke_listener):
1838 Call spi_deregister_controller_key_listener.
1839 (spi_key_listener_clone):
1840 New method to copy a key listner without doing a 'ref' on the
1841 remote object instance; used to create a notifier list.
1842 (spi_key_listener_data_free):
1843 New method, frees data without unreffing the source.
1845 (spi_key_listener_clone_free): new method.
1846 (spi_key_listener_free):
1847 refactored to call spi_key_listener_data_free.
1849 2002-06-20 Bill Haneman <bill.haneman@sun.com>
1851 * registryd/registry.c: [fix for bug 86048]
1852 (notify_listeners_cb):
1853 Clear CORBA system exceptions which occur when notifying
1854 listeners, before returning to the source of the original event,
1855 since the event source doesn't care if the relayed notify failed.
1856 In other words, don't complain to the atk-bridge if the registry
1857 could not notify all its listeners, that's no fault of the
1858 application and thus should not appear to be an error from the
1859 application's perspective.
1861 * cspi/spi_main.c: [fix for bug 85980]
1863 Replaced use of bonobo_object_dup_ref with call to the wrapper
1864 method, csou_dup_ref (); this silences a compiler warning and
1865 provided more portability.
1867 Ping the registry before return, and restart if necessary.
1869 * cspi/bonobo/cspi-bonobo.c:
1871 New internal method.
1873 Fixed this method to return an object reference, as it should have
1876 * cspi/cspi-lowlevel.h:
1877 Added internal definition for cspi_ping() and fixed
1878 return type of cspi_dup_ref().
1881 2002-06-19 Bill Haneman <bill.haneman@sun.com>
1883 * atk-bridge/bridge.c: [fix for bug 85305]
1884 (spi_atk_bridge_register_application):
1885 New method where the initial application registry calls have been
1886 moved; it allows an application to re-register in response to
1887 certain error conditions (such as a registry restart, see below).
1889 Moved some initialization code to the method
1890 spi_atk_bridge_get_registry, below.
1891 (spi_atk_bridge_get_registry):
1892 New, private accessor function for the Accessibility_Registry
1893 instance. If the registry has not been started before, or has
1894 died (as detected by failure of a CORBA exception), it is
1895 restarted before return, and spi_atk_bridge_register_application
1896 is called again to register with the new bridge instance.
1897 (spi_atk_emit_eventv):
1898 Set registry_died on error; use spi_atk_bridge_get_registry () to
1899 access the registry.
1901 * registryd/registry.c:
1902 (impl_accessibility_registry_register_global_event_listener):
1903 Set listener's event_type_quark to etype.minor instead of
1904 etype.major (fix for bug 84856).
1906 * test/event-listener-test.c:
1907 (report_detail_event):
1908 Change the output string so that user/tester can tell that the
1909 'detail listener' was called instead of the 'generic listener'.
1911 2002-06-18 Bill Haneman <bill.haneman@sun.com>
1913 Fixes for bugs 84900, 84908, 84897, 84898.
1918 Revved version to 1.1.0
1919 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
1920 version is going to HEAD which will be used for gnome-2-0-1 and later.)
1922 * idl/Accessibility_Registry.idl:
1923 (EventListener::notifyEvent):
1924 Removed 'oneway' directive after extensive consulation with
1925 ORBit2 team and others. This means also that unref() of the event
1926 source can and should be done synchronously after emission, rather
1927 than remotely in the client, after servicing the notify call on
1930 NOTE: This change speeds up listener performance considerably, but
1931 introduces new latency on the application side. We may want to
1932 add an event queue to the atk-bridge.
1934 * atk-bridge/bridge.c:
1935 (spi_atk_bridge_focus_tracker):
1936 Do a local unref() on the event source after emission.
1938 * registryd/registry.c:
1939 (desktop_remove_application):
1940 Do an unref() on the event source after emission.
1941 (desktop_add_application):
1942 Do an unref() on the event source after emission.
1943 (notify_listeners_cb):
1944 When relaying an event, don't automatically add the event source
1945 to the local object cache, just CORBA_dup it instead. Likewise,
1946 if this method reenters, release the ref rather than calling
1948 (impl_registry_notify_event):
1949 No longer call remote unref() on the event source after dispatch.
1951 * libspi/eventlistener.c:
1952 (impl_accessible_event_notify_event):
1953 Removed remote unref ()
1955 * cspi/bonobo/cspi-bonobo-listener.c:
1957 We now call cspi_object_new() instead of cspi_object_add() on
1958 receipt of an event; thus we only have an implicit object ref
1959 while the cspi_event method is being executed. If we need to keep
1960 a reference to the object, the listener must call ref() on the
1961 object. Thus also we don't need to call cspi_object_unref() after
1962 invoking the listener callbacks in this method.
1966 New internal API for creating a new cspi object, without adding it
1967 to the object cache.
1969 Now uses cspi_object_new() to create the cspi object instance.
1971 Now checks to see if the object is in the internal object cache,
1972 and adds it if necessary before incrementing its refcount (note
1973 that new objects are added with a refcount of 1).
1974 (report_leaked_ref):
1975 New method which gives some information on leaked object instances
1976 if leak detection is turned on.
1978 * test/event-listener-test.c:
1979 (timing_test_event):
1980 New method, used for testing event delivery timing for special
1981 events of type "object:test". It reports elapsed time and
1982 events/sec every 500 events.
1984 Added a new listener, 'test listener', to check timing of event
1985 receipt as noted above.
1987 Added some timing output here also, reports elapsed time every 100
1990 * test/stress-test.c:
1991 Emit events of type "object:test", for use with "event-listener-test".
1993 * test/test-simple.c:
1994 (global_listener_cb):
1995 Call Accessible_ref() on the event source before calling
1996 validate_accessible, since the validation process does pointer
1997 comparisons on the event source, meaning that the event source
1998 needs to be added to the local object cache first. Any use of
1999 such pointer comparisons between Accessible objects requires that
2000 the caller hold an explicit reference to those objects.
2001 We also must therefore call Accessible_unref() when leaving this method.
2003 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2005 * registryd/deviceeventcontroller.c:
2006 (spi_controller_update_key_grabs):
2007 Fix for #84735, subsequent keygrab listeners not informed of
2008 registration failure.
2011 (spi_base_construct):
2012 Add an assertion on construct, to make sure the GObject passed in
2013 is really a GObject.
2015 Explicitly initialize object->gobj pointer to NULL;
2017 * cspi/bonobo/cspi-bonobo-listener.c:
2018 (cspi_object_add_ref):
2019 New method, can specify whether to dup-ref a bonobo object passed
2020 in if it's newly added to the object cache.
2022 Now calls cspi_object_add_ref with second param of "FALSE". This
2023 prevents us from doing a pointless dup-ref followed by
2024 release-unref for all those cases where the object is already in
2025 our object cache (fix for #85205).
2027 * atk-bridge/bridge.c:
2028 (spi_atk_bridge_idle_init):
2029 Removed this method, we don't need to initialize in an idle
2032 Changed to call spi_atk_register_event_listeners directly, not via an
2033 idle handler. (fix for #81139)
2034 (gnome_accessibility_module_shutdown):
2035 Removed conditional around deregistration of listeners, since we
2036 don't use the idle handler and thus have always registered when
2038 (spi_init_keystroke_from_atk_key_event):
2039 Changed references to Accessibility_KEY_PRESSED to
2040 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2042 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2044 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2049 * test/stress-test.c:
2052 (may have been an incomplete commit yesterday?)
2054 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2057 Added target for new stress-test.
2059 * test/stress-test.c:
2060 New test, sends 1000 focus notifies in quick succession.
2062 * test/key-listener-test.c:
2063 Now we report whether a keylistener registration
2064 request succeeded or failed.
2066 * test/event-listener-test.c:
2067 Uncommented some listeners which are now implemented.
2070 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2072 * registryd/deviceeventcontroller.c:
2073 (spi_controller_update_key_grabs):
2074 Fix for #82509, lack of failure notification when
2075 ALL_WINDOWS keygrabs fail due to XGrabKey
2076 failure: we synchronize the server when
2077 registering a passive grab, to make sure we get the
2078 error message before the call returns.
2080 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2082 * test/test-simple.c:
2084 Removed #ifdef KEY_IMPL_WORKS guards.
2085 (test_keylisteners):
2086 Removed #ifdef KEY_IMPL_WORKS guards.
2087 Fixed bug which was causing a hang waiting for a
2088 "press" event (which was already overwritten by a "release"
2089 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2091 Added code to set globals 'key_press_received' and
2092 'key_release_received'.
2095 Added section "1.1 API Proposed Additions" which
2096 lists API additions desired for at-spi-1.1 (only one so far).
2097 Updated TODO list a little.
2099 2002-06-02 Bill Haneman <bill.haneman@sun.com>
2101 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2104 * configure.in: Revved to 1.0.0.
2106 * idl/Accessibility_Registry.idl:
2107 (registerKeystrokeListener):
2108 Added boolean return value.
2110 * registryd/registry.c:
2111 (notify_listeners_cb): Minor fix to debug output.
2113 * registryd/Accessibility_Registry.server.in.in:
2114 Revved version number in OAFIID to 1.0.
2116 * registryd/registryd.c:
2118 Use new OAFIID version.
2120 * cspi/bonobo/cspi-bonobo.c:
2122 Use new OAFIID version.
2128 * atk-bridge/bridge.c:
2130 Use new OAFIID version.
2132 * registryd/deviceeventcontroller.c:
2133 (impl_register_keystroke_listener):
2134 Added CORBA_boolean return value.
2135 (spi_controller_register_device_listener):
2136 Added gboolean return value.
2137 (spi_controller_register_global_keygrabs):
2138 Added gboolean return value.
2139 (spi_key_set_contains_key):
2140 Added implementation for many more control keys,
2141 for instance F1-F12, arrow keys, End, Home, Page_Up,
2143 [TODO: some still not implemented].
2145 * text/screen-review-test.c:
2146 (text_chunk_pad_string):
2147 New function: it provides mapping between coordinate
2148 positions of text chunks and character positions in the
2149 screen-review-line output string.
2150 (text_chunk_to_string):
2151 New function, calls text_chunk_pad_string with various
2152 pad/delimiter characters. Pushbuttons are delimited with
2153 square brackets, Frames with vertical 'pipe' lines, and
2154 other text with double quotes.
2155 (text_chunk_list_to_string):
2156 Calls new function text_chunk_to_string.
2157 (toplevel_composite):
2158 New function to composite layers CANVAS through
2159 POPUP in each toplevel (other layers are composited
2160 across toplevels, i.e. BACKGROUND and OVERLAY).
2161 (review_buffer_composite):
2162 Revise to use new methods.
2168 2002-05-31 Laszlo Peter <laca@sun.com>
2170 * configure.in: add the Xtst libdir to the runpath on Solaris,
2171 since it's not in the default library search path.
2173 2002-05-29 jacob berkman <jacob@ximian.com>
2175 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2177 2002-05-29 Bill Haneman <bill.haneman@sun.com>
2179 * test/screen-review-test.c:
2180 (text_chunk_pad_string):
2181 Added method, which pads the string according to the
2182 text bounds of the chunk. It also takes a 3-character
2183 string as a param which indicates the characters to be
2184 used for start, padding, and end delimitation of the chunk.
2185 (text_chunk_to_string):
2186 Changed to use text_chunk_pad_string.
2188 * configure.in: Fixed bug in AC_OUTPUT that was
2189 causing path substitution in Accessibility_Registry.server
2192 2002-05-23 Bill Haneman <bill.haneman@sun.com>
2194 * text/screen-review-test.c:
2195 (guess_string_clip):
2196 New method which attempts a best-guess at clipping
2197 text from components (like Java labels) which don't
2198 actually implement AccessibleText. This inaccurate
2199 clip is based on the assumption that the label is
2200 justified left-and-right, and monospaced.
2201 (text_chunk_get_clipped_string):
2202 We now call guess_string_clip() for text-containing
2203 components that don't implement AccessibleText.
2205 * test/screen-review-test.c:
2206 (review_buffer_get_text_chunk):
2207 We now pull "name" from labels if they do not implement
2208 AccessibleText (i.e. for Java labels).
2209 (get_screen_review_line_at):
2210 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2213 Replaceded AC_OUTPUT target
2214 registryd/Accessibility_Registry.server with
2215 registryd/Accessibility_Registry.server.in.
2217 * registryd/Accessibility_Registry.server.in:
2218 Removed (this is now a Makefile target).
2220 * registryd/Accessibility_Registry.server.in.in:
2221 Added (source for target above). We now use $(libexecdir) as
2222 prefix for the executable at-spi-registryd.
2224 * registry/Makefile.am:
2225 Now install at-spi-registryd into $(libexecdir), and build .server
2226 file with path (see above).
2228 2002-05-22 Bill Haneman <bill.haneman@sun.com>
2230 * test/screen-review-test.c:
2231 (text_chunk_get_clipped_string):
2232 We now check to see if words fall within clip bounds
2233 before resorting to character-by-character clip bounds testing.
2235 * TODO: Added a section for "2.2 Proposed API Additions".
2237 2002-05-21 Bill Haneman <bill.haneman@sun.com>
2239 * test/screen-review-test.c:
2241 Added a screen review benchmarking and test program to test
2244 * cspi/spi_accessible.c:
2246 Made some of the debug strings passed to cspi_check_ev a
2247 little more specific.
2249 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
2251 * test/screen-review-test.c: Fix crashes in debug statements
2253 2002-05-20 Bill Haneman <bill.haneman@sun.com>
2255 * test/screen-review-test.c: Added this file.
2257 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2259 * atk-bridge/bridge.c: changed "object:state-change" to
2260 "object:state-changed" to match docs.
2262 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2264 * atk-bridge/bridge.c: Hooked up state-change event details.
2266 2002-05-11 Bill Haneman <bill.haneman@sun.com>
2268 * registryd/registry.c:
2269 Fixed quarking bug in event string parsing; now events with
2270 detail parameters get matched correctly to listeners.
2273 * util/idl/Magnifier.idl: remove.
2275 * util/*.[ch]: Remove.
2276 Magnification utilities and IDL are now in module gnome-mag.
2278 2002-05-10 Bill Haneman <bill.haneman@sun.com>
2280 * registryd/deviceeventcontroller.c:
2281 Fixed bug in grab key conversion which was causing keycode grabs
2282 to be converted to AnyKey grabs.
2285 updated NEWS file to reflect recent spin-off of gnome-mag.
2287 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
2289 * cspi/spi_accessible.c: Added exception checks. Fixed completely
2290 busted AccessibleStateSet_compare. Removed redundant casts.
2292 * cspi/spi-action.c: Removed redundant casts.
2294 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2296 * cspi/spi_component.c: Fixed typos and casting error.
2298 * cspi/spi_editabletext.c: Removed redundant casts.
2300 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2302 * cspi/spi_hypertext.c: Eliminated redundant casts.
2304 * cspi/spi_image.c: Eliminated redundant casts.
2306 * cspi/spi_registry.c: Eliminated redundant casts.
2307 SPI_deregisterGlobalEventListenerAll () removed retval variable.
2308 * cspi/spi_selection.c: Removed redundant casts.
2309 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
2310 handling. Screen geometry and text offsets were being returned as 0
2311 on error which is technically valid-- changed these to return -1.
2312 Added marshaller for text boundary types to fix bug with boundary
2313 types being passed incorrectly to atk.
2315 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2318 * cspi/spi_registry.c:
2319 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2320 which was uncovered by the recent key changes.
2322 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2324 * test/event-listener-test.c:
2326 Added new test, "event-listener-test";
2327 this code does two things; it benchmarks traversal time
2328 for the accessible hierarchy for the first running accessible
2329 app, and it connects listeners for all supported event types.
2330 It is thus useful as an example event listener and for
2331 diagnostics/debugging of event generation.
2333 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2336 Removed unnecessary dependency on libutil.
2339 Revved micro version: 0.13.1
2341 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2344 Removed util/Makefile from targets.
2347 Removed util subdir from SUBDIRS (temporarily,
2348 pending removal of magnifier-only code
2352 #ifdef-ed out magnifier dependencies, since
2353 magnifier IDL, headers, and binary now live in
2354 module gnome-mag and we don't want at-spi to depend
2355 on gnome-mag. A magnifier demo which can run alongside
2356 simple-at is forthcoming in the gnome-mag module.
2358 NOTE: Split magnifier binary, IDL, and magnification
2359 activation code from at-spi into module gnome-mag.
2361 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
2363 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2364 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2366 2002-05-03 Bill Haneman <bill.haneman@sun.com>
2369 Revved to version 0.13.0
2371 * idl/Accessibility_Registry.idl:
2372 Changed definition of KeySet from sequence of longs to sequence of
2373 KeyDefinitions, and added KeyDefinition struct.
2374 Required for fix to bug 80616.
2376 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2377 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2378 to use new definition (see above).
2380 * registryd/deviceeventcontroller.c: handle_keygrab(),
2381 spi_keyset_contains_key():
2382 Changed to make use of new struct; this allows matching based on
2383 string key-name, for instance "Tab". This also allows matching of
2384 composed characters, non-alphanumeric characters in a way that
2385 doesn't involve dependencies on X keysym codes directly, etc.
2387 * test/key-listener-test.c:
2388 Added test for Alt-Tab key using "string" specification of keyset,
2389 and modified one of the tests to use a keycode-based keyset.
2390 Thus this test both tests and demonstrates the creation and use of
2391 keysets of three forms: specified via keycode array,
2392 keysym array, and string array. (The string case only contains a
2393 single string, i.e. a string array of length 1).
2396 Turned on PRINT_TREE option by default. Also fixed a
2397 string-freeing bug in the PRINT_TREE code.
2398 Added a listener to window:minimize events.
2400 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
2402 * atk-bridge/bridge.c:
2403 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2404 for window:activate and window:deactiveate
2405 (atk_bridge_property_event_listener atk_bridge_signal_listener
2406 atk_bridge_window_event_listener) Tidy debug code
2408 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
2410 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2411 Fixed handling for NULL return value from ATK.
2413 * libspi/action.c libspi/component.c libspi/editabletext.
2414 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2415 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2416 Removed redundant casts.
2418 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2419 Fixed off by one bug.
2421 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2422 function not present in idl)
2424 2002-05-02 jacob berkman <jacob@ximian.com>
2426 * atk-bridge/Makefile.am: make atk-bridge a real module
2428 2002-04-26 Radek Doulik <rodo@ximian.com>
2430 * libspi/stateset.c (spi_init_state_type_tables): fix size of
2431 atk_state_types table
2433 2002-04-22 jacob berkman <jacob@ximian.com>
2436 * libspi/Makefile.am: add deps on the built files to help
2437 automake, and don't version the ORBit typelib
2439 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
2441 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
2442 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2443 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
2444 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2445 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2446 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2447 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2448 libspi/accessible.h libspi/accessible.h libspi/base.h
2449 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
2450 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2451 libspi/relation.h libspi/remoteobject.h libspi/selection.h
2452 libspi/spi-private.h libspi/statetset.h libspi/table.h
2453 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2454 util/mag_client.h util/mag_control.c util/mag_image.c
2455 util/mag_image.h util/magnifier.c util/magnifier.h:
2456 Add missing file headers; standardize existing ones
2458 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
2460 * atk-bridge/bridge.c: Added window event support.
2462 2002-04-18 Michael Meeks <michael@ximian.com>
2464 * libspi/relation.c (impl_getNTargets): impl.
2465 (impl_getTarget): impl.
2467 * libspi/Makefile.am: fix stateset install.
2469 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2472 Started putting useful info in this file.
2474 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
2476 * atk-bridge/bridge.c:
2477 Propagate state-changed notifications to ATs
2479 * cspi/spi_registry.c: update docs to reflect actual behavior of
2480 state-change events.
2482 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2485 Incremented version to 0.12.1
2487 * util/mag_client.h:
2488 Add missing declaration for magnifier_exit,
2489 used by mag_control.c - Forte compiler didn't like
2490 the implicit redeclaration of the function :-(
2493 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2496 Revved version to 0.12 due to API change (see below).
2498 * cspi/spi-roletypes.h:
2499 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
2500 definition from the inline docs, and added docs
2501 for SPI_ROLE_LAST_DEFINED.
2504 * cspi/spi_streamablecontent.c:
2505 Added missing seek_type parameter to
2506 (so far unused) method,
2507 AccessibleStreamableContent_seek().
2508 [ RT approval JodyG. ]
2511 Fixed docs for SPI_createAccessibleKeystrokeListener.
2513 * cspi/spi_registry.c:
2514 Fixed docs for SPI_KEYSET_ALL_KEYS.
2516 * docs/reference/cspi/at-spi-cspi-sections.txt:
2517 Added a number of missing APIs to SECTIONS.
2519 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2521 * registryd/Makefile.am:
2523 * cspi/bonobo/Makefile.am:
2524 Add $(X_LIBS) to makefiles.
2526 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2529 Revved version to 0.11.
2531 * libspi/component.c:
2532 Added implementation for grabFocus.
2534 * idl/Accessibility_Component.idl
2535 (Accessibility_Component_grabFocus):
2536 Made this method return boolean to indicate success or failure, to
2537 be consistent with cspi and the corresponding ATK method.
2539 * idl/Accessibility_Selection.idl
2540 (Accessibility_Selection_selectAll) :
2541 Made these methods return boolean to indicate success or
2542 failure, to be consistent with cspi and the corresponding ATK methods.
2544 * idl/Accessibility_EditableText.idl
2545 (Accessibility_EditableText_setTextContents,
2546 Accessibility_EditableText_insertText,
2547 Accessibility_EditableText_cutText,
2548 Accessibility_EditableText_deleteText,
2549 Accessibility_EditableText_pasteText):
2550 Made these methods return boolean to indicate
2553 * cspi/spi_editabletext.c:
2554 Made these methods return booleans.
2556 * libspi/selection.c:
2557 * libspi/component.c:
2558 * libspi/editabletext.c:
2559 Connected the boolean returns from ATK
2560 to the server-side code referenced above.
2562 2002-04-14 Bill Haneman <bill.haneman@sun.com>
2564 * idl/Accessibility_Table.idl: Added missing methods,
2565 Accessibility_Table_addRowSelection,
2566 Accessibility_Table_addColumnSelection,
2567 Accessibility_Table_removeRowSelection,
2568 Accessibility_Table_removeColumnSelection.
2571 Added C wrappers for above IDL:
2572 AccessibleTable_addRowSelection,
2573 AccessibleTable_addColumnSelection,
2574 AccessibleTable_removeRowSelection,
2575 AccessibleTable_removeColumnSelection.
2578 Added server-side implementation code for IDL above, connecting
2579 to pre-existing ATK api.
2581 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
2583 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
2585 * libspi/accessible.c: Added implementation fo
2586 Accessibility_Accessible_get_state.
2588 * libspi/libspi.h: Added stateset.h to the list of includes.
2590 * libspi/stateset.c: Fixed broken implementation.
2592 2002-04-13 Bill Haneman <bill.haneman@sun.com>
2595 Added implementation code for Accessibility_Magnifier_exit ().
2597 * util/mag_control.c:
2598 Added test code for above method; you can
2599 now kill an existing magnifier via
2600 ./mag_control q, from the util directory.
2602 * test/key-listener-test.c:
2604 Added a new test, for our key listener API.
2606 2002-04-11 Bill Haneman <bill.haneman@sun.com>
2608 * test/app.c, test/keysynth-demo.c:
2610 Replace use of snprintf with g_snprintf.
2611 (fix for bugzilla 78249)
2613 2002-03-27 Michael Meeks <michael@ximian.com>
2617 * util/Makefile.am (INCLUDES): fix.
2618 (DONT_DIST_SOURCE): don't distribute the
2621 * libspi/Makefile.am (dist-hook): ditto.
2623 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
2625 * libspi/hypertext.c:
2626 Fix warnings when yelp is used with atk-bridge
2628 2002-03-21 Michael Meeks <michael@ximian.com>
2630 * libspi/application.c (spi_application_new):
2631 use spi_accessible_construct so we use the AtkObject
2634 2002-03-19 Michael Meeks <michael@ximian.com>
2636 * registryd/registry.c (desktop_remove_application),
2637 (desktop_add_application): clean coding style.
2639 * registryd/desktop.c (spi_desktop_remove_application),
2640 (spi_desktop_add_application): kill re-enterency hazards.
2641 (spi_desktop_dispose): remove bogus redundant cast
2642 obscuring bug; fix bug too.
2643 (spi_desktop_init): make the desktop object immortal.
2645 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2648 Added a #define-guarded tree-traversal step
2649 when enumerating the apps (diagnostic tool).
2651 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2653 * idl/Accessibility_Role.idl:
2654 Added ROLE_DRAWING_AREA which seemed to be missing from the
2657 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2659 * cspi/spi-roletypes.h cspi/spi_accessible.c
2660 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2663 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2664 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2665 AT when applications are added and removed from the desktop. This
2666 reverts the previous broken implementation using the backing
2667 AtkObject for the SpiDesktop.
2669 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2671 * registryd/desktop.c: emit the "children-changed::add" and
2672 "children-changed::remove" signals on the backing ATK object for
2673 the desktop so AT can tell when applications are started and shut
2676 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2678 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2680 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2682 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2684 * cspi/spi_accessible.c: Implemented c bindings for stateset support
2686 * cspi/state-types.h: synched with IDL and ATK
2688 2002-03-13 Bill Haneman <bill.haneman@sun.com>
2690 * libspi/accessible.c
2691 (impl_accessibility_accessible_get_child_at_index):
2692 Change return value for g_return_if_fail ()
2693 to CORBA_OBJECT_NIL instead of "0" (!)
2695 * registryd/Makefile.am:
2696 * registryd/Accessibility_Register.server.in:
2697 Changed name of executable, "registryd",
2698 to something more informative:
2701 2002-03-13 Michael Meeks <michael@ximian.com>
2703 * atk-bridge/bridge.c (atk_bridge_init): don't register
2704 if we're in a bonobo-component, rather than a bonobo app.
2706 2002-03-13 Michael Meeks <michael@ximian.com>
2708 * atk-bridge/bridge.c (gtk_module_init): split
2709 out body to (atk_bridge_init): here, since otherwise
2710 we get symbol conflicts and oddness when invoked
2711 from (gnome_accessibility_module_init): here (upd.)
2713 2002-03-11 Bill Haneman <bill.haneman@sun.com>
2716 New file. Explicitly allow "build sheriff" putbacks provided
2717 they are tested on Solaris.
2719 * docs/reference/cspi/Makefile.am:
2720 Added '-' to the "cp" command for index.sgml.
2721 ("patch by thomasvs, soon coming to a GUADEC near you")
2724 Incremented version number (0.9.0) for new release.
2725 Changed macro that checks for popt, to better detect
2726 obsolete versions of popt.
2729 Added X_LIBS to AC_SUBST, for applications
2730 that call Xlib API directly.
2733 2002-03-07 Bill Haneman <bill.haneman@sun.com>
2736 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2739 Fix regression caused by hard-coding major
2740 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2743 * test/test-simple.c (test_editable_text),
2744 (test_test): revert previous change (error was
2745 a regression in gail which is now fixed).
2747 2002-03-04 Michael Meeks <michael@ximian.com>
2749 * test/test-simple.c (test_editable_text),
2750 (test_text): pass G_MAXINT instead of '-1' for
2751 whole string - is this a good thing !?
2753 * cspi/spi_accessible.c
2754 (Accessible_getRelationSet): fix crasher bug
2755 overwriting the end of the array.
2757 * test/test-simple.c (validate_accessible): free,
2758 not g_free returned relation set.
2760 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2762 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2763 implemented stateset support
2765 * idl/Accessibility_State.idl: Made necessary changes to
2766 the IDL to support state sets.
2768 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2770 * registryd/deviceeventcontroller.c:
2771 Added implementation for generateMouseEvent.
2773 * cspi/spi_registry.c:
2774 Connected new implementation for generateMouseEvent
2777 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2780 Incremented revision (but no change in public API
2781 outside of 'utils', which are not installed public yet.)
2783 * libspi/component.c:
2784 Changed to use atk_component API for layers and
2785 mdi_zorder, instead of deprecated atk_object API.
2787 Magnification Utility Enhancements:
2790 Added implementation of createZoomRegion, clearAllZoomRegions,
2791 resizeZoomRegion. Added new commandline argument
2792 "--no-initial-region". Note that clearAllZoomRegions doesn't
2793 unmap the old '0' region as it should (yet), and the other
2794 methods only work when creating/resizing a single region,
2795 which is "region 0".
2796 (Code for multiple region support will be added later.)
2799 Now we raise the magnifier window each time it's refreshed;
2800 this will help keep it on top.
2802 * util/mag_client.h:
2803 Added simple wrappers for above, used by mag_control.
2804 For general use, it's recommended to use the bonobo magnifier
2805 control API directly instead of using these wrappers.
2808 Moved ZoomRegionData from magnifier.c to this file.
2810 * util/mag_control.c:
2811 Added some code to exercise new IDL implementations.
2813 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2815 * libspi/text.c: Provide implementation for getAttributes.
2817 2002-02-04 Bill Haneman <bill.haneman@sun.com>
2820 Incremented revision.
2822 * test/test-simple.c:
2823 Replaced use of deprecated g_main_iteration with
2824 g_main_context_iteration.
2826 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
2829 Incremented revision for desktop alpha 2.
2831 2002-01-28 Mark McLoughlin <mark@skynet.ie>
2833 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2836 * test/simple-at.c: include netinet/in.h.
2838 2002-01-24 Mark McLoughlin <mark@skynet.ie>
2840 * cspi/spi_accessible.c: (Accessible_getRelationSet):
2841 use NULL, not CORBA_OBJECT_NIL.
2843 * libspi/accessible.c:
2844 (impl_accessibility_accessible_get_relation_set):
2845 allocate the sequence correctly.
2847 * libspi/remoteobject.h: kill spi_remote_object_new.
2849 * test/test-simple.c: (validate_accessible): add code
2850 to test relation sets, now all we need is to figure
2851 out how to excercise this code path :/
2853 2002-01-18 Michael Meeks <michael@ximian.com>
2855 * test/test-simple.c
2856 (key_listener_cb): consume the key.
2857 (test_keylisteners): update.
2858 (main): wait for any pending unrefs on events.
2860 * registryd/deviceeventcontroller.c
2861 (spi_controller_update_key_grabs): only re-issue the
2862 grab on a key release.
2863 (spi_device_event_controller_forward_key_event):
2864 refresh the keygrabs before we notify the listeners,
2865 to reduce the X ungrab / re-grab race.
2866 (spi_controller_register_with_devices): remove
2867 XSelectInput - we do that with the gdk_window_ call.
2868 (_spi_controller_device_error_handler): return a value.
2869 s/GDK_DISPLAY/spi_get_display/
2871 2002-01-17 Michael Meeks <michael@ximian.com>
2873 * registryd/deviceeventcontroller.c
2874 (_deregister_keygrab): don't blow out the later
2877 * test/test-simple.c (test_keylisteners): do a
2878 more intelligent validation.
2880 2002-01-14 Michael Meeks <michael@ximian.com>
2882 * atk-bridge/bridge.c
2883 (gnome_accessibility_module_init),
2884 (gnome_accessibility_module_shutdown): impl.
2885 (gtk_module_init): protect vs. double inits.
2886 (add_signal_listener): impl.
2887 (spi_atk_bridge_state_event_listener): kill
2888 (deregister_application): split out of
2889 (spi_atk_bridge_exit_func): here.
2891 2002-01-18 Bill Haneman <bill.haneman@sun.com>
2894 Added caret tracking when using magnifier, and
2895 now use text bounds for focus tracking of text elements, rather than
2896 the component bounds - this is helpful for short text fields in long
2897 table cells, at high magnification.
2899 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2901 * registryd/deviceeventcontroller.c:
2902 Regression fix for keylistener de-registration; global keygrabs
2903 were not being released when deregisterKeystrokeListener was
2904 called in cspi, since
2905 Accessibility_DeviceEventController_deregisterKeystrokeListener
2906 was called with a zero-length keyset. That is because the cspi
2907 method, SPI_deregisterKeystrokeListener, does not take a keyset
2908 parameter but instead should remove all the key grabs held be a
2910 The code in impl_deregister_keystroke_listener was changed to copy
2911 the keylist from the listener instance previously registered with
2912 the DeviceEventController before releasing the grabs.
2914 * registryd/registry.c:
2915 * registryd/deviceeventcontroller.c:
2916 * libspi/spi-private.h:
2918 Changed spelling of "re-enterant" to "re-entrant" globally.
2920 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2922 * test/test-simple.c:
2923 Changed key listeners test - the test was slightly mis-using the
2924 (admittedly poorly documented) SPI_generateKeyboardEvent API.
2925 It now uses '=' as the key event listened to and generated,
2926 relying on a keysym match rather than assuming that keycode 33
2927 is always equal to keysym '!'.
2929 2002-01-15 Bill Haneman <bill.haneman@sun.com>
2932 Changed simple-at to use a specific keyset, rather than
2933 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
2934 manager, desktop, etc.
2936 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2938 * registryd/deviceeventcontroller.c:
2939 Replaced standard X error handler with a special handler that
2940 is non-fatal for failed keygrabs. This works around
2941 problems with keygrab clashes sometimes observed on
2943 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
2944 mouse handling code as yet).
2946 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2949 Incremented revision for desktop alpha release.
2952 Fixed a couple of the more glaring errors (still not
2955 2002-01-11 Michael Meeks <michael@ximian.com>
2957 * registryd/deviceeventcontroller.c
2958 (spi_device_event_controller_forward_key_event): kill
2959 XUngrabKey / XKeyGrab race.
2960 (spi_controller_grab_keyboard): rename to
2961 (spi_controller_update_key_grabs): this, and deal
2962 with incremental adding / removing grabs more
2964 (_register_keygrab): ensure we're not pending a remove.
2965 (spi_grab_mask_free): impl.
2966 (spi_controller_register_global_keygrabs): split out
2968 (handle_keygrab): impl.
2969 (_deregister_keygrab): impl.
2970 (spi_controller_deregister_global_keygrabs): impl.
2971 (spi_controller_update_key_grabs): re-issue the grab if
2972 we just recieved a notification.
2974 * test/test-simple.c (key_listener_cb): remove debug.
2976 * registryd/deviceeventcontroller.c
2977 (spi_controller_register_device_listener): after
2978 registering a global keygrab, actualy register it !
2979 don't wait for a timeout; doh !
2981 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
2982 to make it more readable / manipulable.
2983 s/grabmask/grab_mask/ s/refcount/ref_count/
2984 s/keyval/key_val/ s/modmask/mod_mask
2986 2002-01-08 Michael Meeks <michael@ximian.com>
2988 * registryd/deviceeventcontroller.c
2989 (spi_controller_register_with_devices): use gdk calls to
2991 (global_filter_fn): implement the filter.
2992 (spi_device_event_controller_check_key_event): rename to
2993 (spi_device_event_controller_forward_key_event): this & upd.
2994 (spi_get_display): replace with GDK_DISPLAY.
2996 * registryd/deviceeventcontroller.c
2997 (spi_controller_deregister_device_listener): unroll into
2998 (impl_deregister_keystroke_listener): here to simplify.
2999 (spi_controller_register_global_keygrabs): split cut and
3000 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3001 (spi_controller_deregister_device_listener): remove.
3002 (impl_register_mouse_listener): remove, no mouse listener
3003 support in at-spi-1.0
3005 * registryd/registry.c
3006 (_device_event_controller_hook): kill.
3007 (spi_registry_init): upd.
3009 * registryd/deviceeventcontroller.c
3010 (spi_device_event_controller_class_init): upd.
3011 (spi_check_key_event): merge into.
3012 (spi_device_event_controller_check_key_event):
3013 here and kill strange static ev init, don't leak
3014 the x_event - nor dynamicaly allocate it.
3016 * registryd/registry-main.c (main): re-direct
3017 timeout to remove strange vtable mess.
3019 * registryd/deviceeventcontroller.c
3020 (remove_listener_cb): impl.
3021 (spi_controller_deregister_device_listener):
3022 fix re-enterancy hazard.
3024 2002-01-07 Michael Meeks <michael@ximian.com>
3026 * registryd/deviceeventcontroller.c
3027 (spi_device_event_controller_new): upd.
3028 (impl_notify_listeners_sync): upd. debug.
3029 (spi_notify_keylisteners): fix re-enterancy hazards,
3030 prettify, remove O(n*n) iteration.
3031 (spi_controller_grab_keyboard): fix iteration.
3032 (spi_check_key_event): re-format to suit coding style.
3033 Clean all the warnings - we're warning free.
3035 * registryd/deviceeventcontroller.h:
3036 * registryd/registry.h: make mutualy referential with
3037 typesafe forward references instead of (!) void pointer
3040 2002-01-11 Michael Meeks <michael@ximian.com>
3042 * cspi/spi_accessible.c (role_names): add a role name
3043 to sync this array with the enum; and make the regression
3046 2002-01-10 Michael Meeks <michael@ximian.com>
3048 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3049 allow expansion of enumeration & kill warning.
3051 * test/test-simple.c (key_listener_cb): impl.
3052 (test_keylisteners): impl.
3054 * cspi/spi-listener.h: make listener signatures const
3055 on the provided (const) events.
3057 * test/keysynth-demo.c: upd. to const events.
3059 * test/simple-at.c: ditto.
3061 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3064 Rev the version to 0.5 (the previous tarball was named 0.4,
3065 even though the micro number was 3), so we need to rev upwards
3066 again for beta2/"desktop-alpha"
3069 Checked in a demo script, which requires editing before use!
3070 Proceed with caution.
3073 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3075 * cspi/spi_accessible.c:
3076 Add a couple of missing enum initializations, and fix some enum
3079 * cspi/spi_registry.c:
3080 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3082 * docs/reference/cspi/at-spi-cspi-sections.txt:
3083 Remove/fix a couple of broken document references.
3086 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3087 as Alt-Control to listen for commands, since on some systems
3088 Control-Alt may already be grabbed.
3090 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3093 Update version number to 0.4 for Beta2.
3095 * libspi/accessible.c, libspi/accessible.h:
3096 Expose spi_accessible_construct, to enable libgail-gnome
3097 construction from spi_accessible subtype.
3099 * utils/magnifier.c:
3100 Workaround for bug in some non-gnome-compliant window managers
3101 which made magnifier resize improperly.
3103 2002-01-09 Bill Haneman <bill.haneman@sun.com>
3105 * libspi/accessible.c: (spi_accessible_new) :
3106 Move the test for SPI_IS_REMOTE_OBJECT to
3107 spi_accessible_new_return, fixing a bug and compile time warning.
3109 2002-01-08 Michael Meeks <michael@ximian.com>
3111 * registryd/registry.c (parse_event_type): remove strndup.
3113 * libspi/Makefile.am (libspi_la_SOURCES): remove
3114 sources already included in the headers section.
3116 * libspi/util.c: add.
3118 * libspi/spi-private.h: add.
3120 * registryd/registry.c: update to moved list iterators.
3122 2002-01-05 Michael Meeks <michael@ximian.com>
3124 * test/simple-at.c (main): upd. auto-module set to atk-bridge
3126 * test/test-simple.c (main): ditto.
3128 2002-01-04 Michael Meeks <michael@ximian.com>
3130 * libspi/accessible.c (spi_accessible_new): remove 2nd,
3131 redundant construct.
3133 * registryd/registry.c
3134 (get_listener_list): impl.
3135 (impl_accessibility_registry_register_global_event_listener):
3136 re-impl. to simplify using ~, remove dodgy const cast off.
3137 (parse_event_type): constify.
3138 (impl_accessibility_registry_deregister_global_event_listener_all):
3139 re-write, more efficiency and simplicity, kill re-enterancy
3141 (compare_listener_corbaref, compare_corba_objects),
3142 (compare_listener_quarks): define out.
3143 (impl_accessibility_registry_deregister_global_event_listener):
3144 re-write for effiency, and nail re-enterancy hazard.
3145 (impl_accessibility_registry_get_desktop_list): impl.
3146 (re_enterant_list_delete_link): impl.
3147 (re_enterant_list_foreach): impl.
3148 (remove_listener_cb): impl.
3149 (_registry_notify_listeners): kill.
3150 (notify_listeners_cb): impl.
3152 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3153 (SPI_getDesktopList): impl.
3155 * test/test-simple.c (test_desktop): test the methods.
3157 2002-01-03 Michael Meeks <michael@ximian.com>
3159 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3160 keystrings since we free them
3161 (SPI_freeAccessibleKeySet): in here.
3163 * libspi/accessible.c (spi_accessible_new): kill warning,
3164 wonder what is going on with the constructor here.
3166 2002-03-01 Bill Haneman <bill.haneman@sun.com>
3168 * libspi/accessible.c (spi_accessible_new ()) :
3169 Added check to see if AtkObject is an SpiRemoteObject before
3170 creating an SpiAccessible.
3172 2002-05-01 Bill Haneman <bill.haneman@sun.com>
3174 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3175 Enable keygrabs using the Control modifier, now that they are
3176 working properly (they were previously disabled).
3179 Change the command keygrab for this demo to "Control+Alt", so as
3180 to conflict with fewer other key commands on the system; this
3181 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3183 Removed a pointlessly-chatty keylistener for unshifted keys
3184 (shifted keys are still reported).
3186 2002-02-01 Bill Haneman <bill.haneman@sun.com>
3188 * libspi/remoteobject.h:
3189 * libspi/remoteobject.c:
3190 Added definitions for special AtkObject subtype, required for
3191 support of remote components (specifically, used by BonoboControl
3192 accessibility implementation).
3194 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
3196 * cspi/spi.h: synched relation types with ATK
3198 * cspi/spi_accessible.c: Added implementations of
3199 AcccessibleRelation_* methods
3201 * idl/Accessibility_Relation.idl: added getRelationTypeName
3202 method. Synched known relation types with ATK. Allowed for
3203 relation type extension with the RELATION_EXTENDED type.
3205 * libspi/relation.c: Provided implementations for
3206 AccessibleRelation methods.
3208 2002-01-01 Bill Haneman <bill.haneman@sun.com>
3210 API tweaks for today's API 'freeze'.
3213 Added placeholder functions to allow future compatible expansion
3214 of the IDL interfaces.
3216 * idl/Accessibility_Registry.idl:
3217 Changed generateKeyEvent to generateKeyboardEvent. Changed
3218 signature of this method to accept an optional keystring in
3219 parameter (for complex text input synthesis) and changed use of
3220 simple 'boolean' parameter in registerKeystrokeListener to a
3221 struct, EventListenerMode.
3223 * cspi/spi_accessible.c:
3225 * cspi/spi_streamablecontent.c:
3226 Added references to AccessibleStreamableContent interface, and
3227 definition and implementation of AccessibleStreamableContent
3230 * cspi/spi_registry.c:
3232 Changed generateKeyEvent API to generateKeyboardEvent,
3233 taking a new (optional) keystring parameter to support complex
3238 Renamed directory (to better reflect its actual purpose, bridging
3239 from at-spi to ATK). The .so module is also now named
3242 * idl/Accessibility_Hypertext.idl:
3243 * libspi/accessible.c:
3244 * libspi/hypertext.h:
3245 * libspi/hypertext.c:
3246 Changed Accessibility_Hypertext to *not* derive from
3249 * cspi/spi_registry.c:
3250 Added list of legal event type names for 'window' events, which
3251 completes the registry event API.
3253 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
3255 * at-bridge/bridge.c: Added registration for separate
3256 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3257 signals. If either of the first two parameters to the generic
3258 bridge signal handler are ints, they are passed on as event
3259 details. This allows an AT to determine what text was inserted.
3261 2001-12-21 Bill Haneman <bill.haneman@sun.com>
3263 * registryd/deviceeventcontroller.c:
3264 Fixed regressions in generateKeyEvent caused by the removal of
3265 gdk_init from registryd; we now use pure X calls to connect to the
3266 display, which makes sense because deviceeventcontroller already
3267 uses a fair bit of X API (should eventually be migrated to a
3268 'portability layer').
3270 * registryd/desktop.c:
3271 Fixed minor regression in spi_desktop_init, changed the way the
3272 desktop name is being set to work with new spi_base API
3273 (gobject-based, rather than AtkObject-based).
3275 * registryd/Makefile.am:
3276 Minor revision of makefile to use XTST_LIBS variable rather than
3277 hard-wiring the Xtst LD_ADD element.
3279 * test/keysynth-demo.c:
3280 Tweaked an output message; added initialization of the
3281 'keystrings' member of the "switch listener" key_set.
3283 * libspi/relation.c:
3284 Squashed compile-time warning.
3286 * libspi/accessible.c:
3287 Cosmetic and formatting fixes, renamed a static method.
3289 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3291 * libspi/accessible.c
3293 * libspi/application.c
3296 * libspi/component.c
3297 * libspi/editabletext.c
3298 * libspi/hyperlink.c
3299 * libspi/hypertext.c
3301 * libspi/selection.c
3305 * registryd/desktop.c:
3306 Changed SpiBase to contain a GObject pointer rather than an AtkObject
3308 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3310 * idl/Accessibility_Registry.idl:
3311 Added boolean member 'is_text' to DeviceEvent. This is for the
3312 use of key events, and helps prevent ambiguity between composed
3313 key strings and keysym names, since both may potentially be
3314 returned in the 'event_string' member.
3316 * at-bridge/bridge.c:
3317 * registryd/deviceeventcontroller.c:
3318 Use the 'is_text' member when notifying device event listeners.
3319 Knon issue: composed characters are not dealt with correctly by
3320 the global key listener implementation yet.
3322 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3324 * at-bridge/bridge.c:
3325 Namespaced local static methods to spi_atk_bridge_* where
3326 previously named bridge_*, and spi_* elsewhere.
3328 * at-bridge/bridge.c:
3329 * cspi/bonobo/cspi-bonobo-listener.c:
3330 Added demarshalling/conversion for string member of
3331 Accessibility_DeviceEvent to AccessibleKeystroke.
3333 * registryd/deviceeventcontroller.c:
3334 Added code to fill the Accessibility_DeviceEvent key string value
3335 member for global key events (i.e. from XGrabKey), to match
3336 behavior of Accessibility_DeviceEvent from the toolkit key events
3337 from the bridge. Fixed timestamp in global key event notifications.
3340 Added printout of key event's string value to
3341 report_ordinary_key_event, for demo/debugging purposes.
3343 2001-12-15 Bill Haneman <bill.haneman@sun.com>
3345 * idl/Accessibility_Registry.idl:
3346 Removed Accessibility_KeyStroke structure in favor of generic
3347 Accessibility_DeviceEvent structure.
3348 Changed Accessibility_ControllerEventMask from a struct to an
3351 * at-bridge/bridge.c:
3352 Changed APIs to use DeviceEvent structure as above, and removed
3353 bogus casting between these event structures.
3355 * cspi/spi-listener.h:
3356 Added keystring member of AccessibleKeystroke structure, to enable
3357 matching on event "names" rather than only hardware codes and
3361 Added keystrings member of AccessibleKeySet struct, to allow
3362 matching on event names (as above).
3363 Added declarations for SPI_createAccessibleKeySet and
3364 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
3365 event modmasks directly as unsigned ints rather than structs with
3366 refcounts, in the DeviceEventController methods.
3368 * cspi/spi_registry.c:
3369 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3371 * cspi/spi-roletypes.h:
3372 Added documentation of newly added SPI Roles.
3374 * cspi/bonobo/cspi-bonobo-listener.c:
3375 Changes in support of API changes above.
3377 * libspi/accessible.c:
3378 Converted APIs to use DeviceEvent structure (see IDL changes
3381 * registryd/deviceeventcontroller.c:
3382 Added DEControllerGrabMask structure to track keygrabs not only by
3383 modmask but by keyset as well; this allows us to do "global"
3384 (i.e. X) keygrabs on a per-key or keyset basis rather than always
3385 grabbing on AnyKey and then filtering after-the-fact.
3386 Bugfixes for event filtration mean that we don't get false matches
3387 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3389 * registryd/deviceeventcontroller.c:
3390 Namespaced a number of static methods to use spi_ prefix. Major
3391 revision to internals of global (i.e. X) key grabs.
3393 * registryd/deviceeventcontroller.h:
3394 Removed keymask_list and added keygrabs_list to
3395 SpiDeviceEventController struct.
3398 Added use of SPI_createAccessibleKeySet API when creating a
3399 listener for only one key. Attach a listener to "shift spacebar
3400 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
3401 X key event names to SPI key event names, so that listeners are
3402 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3404 * test/keysynth-demo.c:
3405 Changed (incorrect) use of X key event names (KeyPressed,
3406 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3409 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3411 * libspi/accessible.c:
3412 Convert all AtkRole enumerations to Accessibility_Role enums when
3413 getting a role from an AtkObject.
3415 * cspi/spi_accessible.c:
3416 Complete the conversion of Accessibility_Role enums at runtime to
3417 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3418 role enums correctly match those given in spi-roletypes.h.
3419 Re-synchronize the local names list for AccessibleRole_getName ().
3420 AccessibleRole_getName is now deprecated, since it duplicates the
3421 more reliable Accessible_getRoleName.
3422 Added some role types from Accessibility_Role.idl.
3424 * idl/Accessibility_Role.idl:
3425 Added some role types used by AtkRole.
3427 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3430 * cspi/spi_registry.c:
3432 * cspi/cspi-bonobo-listener.c:
3433 Namespaced all methods that did not begin with an "SPI_" or
3434 "Accessible" prefix to "SPI_".
3437 Homogenized internal function namespace to "cspi_" for statics.
3440 Patched tests to use the new CSPI API.
3442 * docs/reference/cspi/at-spi-cspi-sections.txt:
3443 Updated docs to reflect namespace changes, and added a number of
3444 methods to the documentation.
3446 * registryd/registry.c:
3447 Changed use of strings and string hashes in listener event
3448 matching and parse_event_string to use GQuark, which is guaranteed
3451 * registryd/registry.h:
3452 Squashed annoying warning.
3454 * idl/Accessibility_Role.idl:
3455 Extended range of available Accessibility_Role values.
3457 * cspi/spi_accessible.c:
3458 Re-ordered role names.
3460 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3462 * idl/Accessibility_Value.idl:
3463 Revert use of union back to CORBA_double, since the double type is
3464 more efficient and can contain the other types without loss of
3467 * idl/Accessibility_Accessible.idl:
3468 Added method Accessibility:Accessible:getRoleName, to complement
3469 Accessibility:Accessible:getRole.
3471 * cspi/spi_accessible.c:
3473 Added C binding for above, Accessible_getRoleName (), and changed
3474 signature of Accessible_getRole () to return an AccessibleRole.
3476 * cspi/spi-roletypes.h:
3477 Changed AccessibleRole_getName to return a char * instead of a
3478 const char *. This method is now at least temporarily deprecated
3479 in favor of asking Accessibles for their RoleNames directly.
3482 Revert to match Accessibility_Value.idl;
3486 Change signature of AccessibleValue methods to use double rather
3490 * cspi/spi_accessible.c:
3491 Changed Accessible_getRole to return an AccessibleRole enum rather
3492 than a UTF-8 string. The UTF-8 string can still be obtained via
3493 AccessibleRole_getName ().
3495 * test/test-simple.c:
3496 Add test_action. Small fixup to match API change to Accessible_getRole.
3499 Bugfix for get_action_from_servant ().
3501 2001-12-11 Michael Meeks <michael@ximian.com>
3503 * libspi/libspi.h: remove registry.h and
3504 desktop.h, deviceeventcontroller.h
3506 * libspi/Makefile.am: remove registry.[ch],
3507 desktop.[ch], deviceeventcontroller.[ch]
3509 * registryd/Makefile.am: add registry.[ch],
3510 desktop.[ch], rename registryd.c to registry-main.c.
3511 add deviceeventcontroller.[ch]
3513 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3516 Replace setenv() call with putenv ().
3518 * libspi/component.c:
3519 Bugfix in AccessibleComponent_getExtents (),
3522 2001-12-11 Michael Meeks <michael@ximian.com>
3524 * libspi/image.c (impl_getImageExtents): impl.
3525 (spi_image_class_init): upd.
3528 (AccessibleImage_getImageDescription): fix daft bug
3531 * test/test-simple.c (global_listener_cb): update
3532 to only quit if not --poke
3533 (main): catch --poke.
3534 (validate_accessible): upd. dumping, call test_image
3537 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3540 * idl/Accessibility.idl: update all IDL includes.
3542 * idl/*.idl - rename to namespace - this sucks, blame
3543 mjs' bad decision for oafd.
3545 * test/test-simple.c (create_test_window): add more tests.
3546 (create_tree): split this out.
3547 (validate_accessible): bugfix.
3549 2001-12-11 Michael Meeks <michael@ximian.com>
3551 * cspi/bonobo/cspi-bonobo-listener.c:
3552 (cspi_kestroke_listener_unref),
3553 (cspi_event_listener_unref): impl. undoing previous
3554 homenous environment - for Bill.
3556 * cspi/spi_table.c (long_seq_to_array): use
3559 * cspi/spi_main.c: split out all bonoboish bits into
3562 * cspi/spi-impl.h: upd. typedefs.
3564 * cspi/spi_registry.c: update to lowlevel API,
3565 return booleans to indicate success in some places.
3567 * cspi/spi_event.c: update to lowlevel API.
3569 * cspi/bonobo/Makefile.am: add.
3571 * cspi/bonobo/cspi-lowlevel.h: add
3573 * cspi/bonobo/cspi-bonobo.c: add
3575 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
3577 * cspi/Makefile.am: remove spi-listener-impl.[ch],
3578 (SUBDIRS): add bonobo, link in the libs.
3580 * cspi/spi-util.c: kill this file.
3582 * TODO: merge in my bits.
3584 2001-12-11 Michael Meeks <michael@ximian.com>
3586 * test/test-simple.c (test_value, test_table, main):
3587 remove unused variables causing warnings.
3589 * configure.in: cleanup checks - require gail.
3591 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3594 Changed Value interface to use SValue (scalars) rather than
3595 assuming all values are floats. This allows floats, doubles,
3596 longs, shorts, and unsigned values to be manipulated.
3597 Introduced Accessibility:SValue union.
3600 Updated to use new API above, and to work correctly with GValues
3601 of different types in AtkValue.
3604 Updated to use new API above. cspi's API is as yet unchanged.
3607 Updated the Value revision action item.
3609 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3611 * test/test-simple.c:
3612 Added test_table (GtkTreeView widget in test window to follow).
3613 Un-commented test_value, added GtkRange widget.
3614 Added GtkTreeView widget with GtkListStore. It passes regression
3615 test but leaks one SPI object for some reason.
3618 Fixed bug in impl__set_currentValue.
3620 2001-12-10 Michael Meeks <michael@ximian.com>
3622 * cspi/spi_text.c: audit for exception handling,
3623 tolerating NULL object references safely etc.
3625 * cspi/spi_value.c: ditto.
3627 * cspi/spi_table.c (AccessibleTable_getSummary),
3628 (AccessibleTable_getAccessibleAt),
3629 (AccessibleTable_getRowHeader),
3630 (AccessibleTable_getColumnHeader),
3631 (AccessibleTable_getCaption): fix bugs hidden by
3633 (long_seq_to_array): impl.
3634 (AccessibleTable_getSelectedRows),
3635 (AccessibleTable_getSelectedColumns): use it.
3637 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3640 Added a TODO list (rough and short for now).
3642 * cspi/spi_hyperlink.c:
3643 * cspi/spi_hypertext.c:
3644 Fixed macro name typos, and remove use of obsolete macro in
3645 AccessibleHyperlink_getLink.
3647 * cspi/spi_action.c:
3648 * cspi/spi_accessible.c:
3649 * cspi/spi_application.c:
3650 * cspi/spi_component.c:
3651 * cspi/spi_selection.c:
3654 Documentation fixes (removed return values from ref/unref methods).
3656 2001-12-10 Michael Meeks <michael@ximian.com>
3658 * cspi/spi_action.c: audit for exception handling,
3659 tolerating NULL object references safely etc.
3661 * cspi/spi_accessible.c: ditto.
3663 * cspi/spi_component.c: ditto.
3665 * cspi/spi_editabletext.c: ditto.
3667 * cspi/spi_hyperlink.c: ditto.
3669 * cspi/spi_hypertext.c: ditto.
3671 * cspi/spi_image.c: ditto.
3673 * cspi/spi_selection.c: ditto.
3675 2001-12-10 Michael Meeks <michael@ximian.com>
3677 * configure.in: use cspi/libspi.pc.in instead.
3679 * Makefile.am (pkgconfig_DATA): upd. to match.
3681 * test/simple-at.c (report_focus_event): kill hacks around
3682 bad return values, use putenv not setenv
3684 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3685 fire ChildGone - I killed it.
3687 * libspi/component.c
3688 (impl_accessibility_component_get_extents): remove
3691 * idl/Accessible.idl: kill ChildGone exception.
3693 * cspi/*.[ch]: kill int return from ref / unref.
3695 * cspi/spi_main.c (cspi_object_add_check): fold into
3696 (cspi_object_add): here.
3698 * cspi/spi_component.c (AccessibleComponent_getExtents):
3699 handle exceptions elegantly.
3701 * cspi/spi-private.h (cspi_check_ev_return),
3702 (cspi_return_if_fail): impl.
3704 * cspi/spi_accessible.c: use extensively.
3705 (AccessibleStateSet_equals): add direct compare check.
3707 * cspi/spi_selection.c: tolerate NULL objs, and check
3708 exceptions before return.
3710 * cspi/spi-util.c (cspi_warn_ev): rename to
3711 (cspi_check_ev): this & don't pass ev in; no point.
3713 2001-12-10 Michael Meeks <michael@ximian.com>
3715 * test/test-simple.c: use putenv not setenv
3716 (get_environment_vars): more chatty if you're not using
3719 * test/simple-at.c: do the setenv so more people see the
3722 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3724 * libspi/registry.c:
3725 Changed check of CORBA_environment on notification to be a warning
3726 instead of an error for the moment, since we can recover from this
3727 error when caused by a queued notification from a dead app.
3730 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3731 used by all current implementors of AtkValue), and coerce to
3732 CORBA_float. (Proper general case fix may require change to Value.idl).
3734 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3738 * cspi/spi_accessible.c:
3739 Documentation fixes: added user_data params to documentation for
3740 listeners and callbacks.
3742 * cspi/spi_accessible.c:
3743 Changed AccessibleStateSet_compare to return a
3744 StateSet rather than return the difference set into a third parameter.
3747 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3750 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3751 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3755 Remove subdirectory po from SUBDIRS for now.
3757 * at-bridge/bridge.c:
3758 Beefed up a couple of debug printouts.
3759 One-line fix for signal notification name formatting.
3761 * libspi/accessible.c:
3762 Added assertion to spi_accessible_new ().
3764 * libspi/application.c:
3765 Put #ifdef qualifiers around a printf.
3768 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3770 * registryd/Makefile.am:
3772 Replaces use of XML_I18N_MERGE_SERVER_RULE with
3773 INTLTOOL_SERVER_RULE macro.
3776 Added an event listener for several ATK signals, for
3777 testing and debugging. Removed a few g_warnings.
3778 Added test output if focussed item implements the Value interface.
3780 * test/test-simple.c:
3781 Added test_value () function (known not to pass at the moment, so
3782 not actually called yet.
3784 2001-12-08 Michael Meeks <michael@ximian.com>
3786 * at-bridge/bridge.c (bridge_focus_tracker),
3787 (emit_eventv): fix the same ref. leak.
3788 (register_atk_event_listeners): don't leak.
3790 * cspi/spi-listener-impl.c (cspi_event): more
3791 protection from client code.
3793 * test/test-simple.c (test_desktop): unref the app.
3795 * test/Makefile.am: upd. TESTS.
3797 * at-bridge/bridge.c (bridge_exit_func): release the registry.
3799 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3801 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3803 * cspi/spi_registry.c: constify in strings.
3804 (deregisterGlobalEventListenerAll): don't release the ref.
3806 * cspi/spi.h: start removing redundant / conflicting
3807 gtkdoc comments, making the API readable at a glance :-)
3809 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3811 * test/keysynth-demo.c (keysynth_exit, main): upd.
3813 * test/simple-at.c (main, simple_at_exit): upd.
3815 * test/test-simple.c (unutterable_horror): kill.
3816 (utterable_normal_derefs): kill.
3817 (main): upd & do a setenv before gtk_init, so that we
3818 can use memprof - and to save the pain of remembering
3819 this, if we're running under memprof - don't exit.
3821 * cspi/spi_main.c (SPI_exit): return exit status
3823 (SPI_event_quit): impl.
3824 (SPI_event_main): simplify.
3825 (cspi_is_gnome_app): kill.
3826 (SPI_init): kill isGNOMEapp arg.
3828 * at-bridge/bridge.c (register_atk_event_listeners):
3829 re-instate the unref.
3830 (bridge_exit_func): don't re-activate the registry,
3831 protect vs. theoretical re-entry, use the
3832 AT_BRIDGE_SHUTDOWN env. var to determine whether to
3833 assert a clean shutdown - for regression tests.
3835 2001-12-08 Abel Cheung <maddog@linux.org.hk>
3837 * configure.in: Comment out dummy i18n support for now,
3838 otherwise it fails to build.
3839 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3840 EXTRA_DIST. They are missing in tarball.
3842 2001-12-07 Michael Meeks <michael@ximian.com>
3844 * util/magnifier.c: kill bonobo activation reg. race.
3846 * libspi/component.c
3847 (impl_accessibility_component_get_extents): make it match
3850 * libspi/registry.c (_registry_notify_listeners):
3851 re-remove X headers & reconcile conflicts.
3852 (spi_listener_struct_free): bad conflict resolve.
3853 (impl_accessibility_registry_register_application):
3854 more bad merging fixed.
3855 (impl_accessibility_registry_deregister_application): ditto.
3856 (spi_registry_new): ditto.
3857 (spi_registry_init): don't have an applications field.
3859 [ merge fixups2 branch to here ]
3860 2001-12-07 Michael Meeks <michael@ximian.com>
3862 * test/simple-at.c (report_focus_event),
3863 (report_focussed_accessible): remove g_warning debug.
3865 2001-12-07 Michael Meeks <michael@ximian.com>
3867 * test/test-simple.c (validate_tree): comment out some checks.
3868 (test_desktop): app now not registered idly - horay.
3870 2001-12-07 Michael Meeks <michael@ximian.com>
3872 * cspi/spi_registry.c
3873 (registerAccessibleKeystrokeListener): clean, stop it leaking
3874 great swathes of memory, and device event controller references.
3875 ensure we always pass valid sequences.
3876 (deregisterAccessibleKeystrokeListener): ditto.
3877 (generateKeyEvent): upd.
3879 * at-bridge/bridge.c (bridge_key_listener): handle
3880 registry dead exception gracefully.
3881 (bridge_focus_tracker, emit_eventv): free ev.
3883 * test/simple-at.c (report_focus_event): fix polarity.
3885 * libspi/application.c (notify_listeners): kill the ev
3886 argument, and make sure we init the ev we use.
3887 (spi_application_object_event_listener): split out a chunk
3888 (get_atk_object_ref): here & fixup.
3889 (reverse_lookup_name_for_toolkit_event): make const.
3890 (spi_application_toolkit_event_listener): fixup, kill leaks
3893 * at-bridge/bridge.c (register_atk_event_listeners):
3894 don't unref the noop object - causes grief.
3896 * libspi/registry.c: remove the X headers.
3897 turn off the debug churn.
3899 * libspi/accessible.c (spi_accessible_new_return): only
3900 release the ref if we are supposed to [doh]
3902 * test/simple-at.c (report_button_press, report_focus_event):
3903 guard vs. unexpected exit.
3905 * at-bridge/bridge.c (gtk_module_init): prune printf.
3906 (bridge_exit_func): fix app unref.
3908 * libspi/Makefile.am: don't install registry or desktop.h
3910 * libspi/*.h: update includes.
3912 * libspi/application.h: don't include ourself, or
3913 other redundant headers.
3915 2001-12-06 Michael Meeks <michael@ximian.com>
3917 * libspi/accessible.c
3918 (get_accessible_from_servant): impl.
3919 Upd. all CORBA impl.s to use it killing cut and paste.
3921 * cspi/spi_main.c (cspi_cleanup): guard vs. double
3923 (SPI_init): register atexit cleanup handler here.
3925 2001-12-06 Michael Meeks <michael@ximian.com>
3927 * at-bridge/bridge.c (gtk_module_init): g_error on
3928 activation exception
3930 2001-12-06 Michael Meeks <michael@ximian.com>
3932 * at-bridge/bridge.c (gtk_module_init): some sort of
3933 confusing merge clash - reverted.
3934 (bridge_idle_init): ditto.
3936 * test/test-simple.c (main, utterable_normal_derefs):
3937 merge from Bill - somehow not committed.
3939 2001-12-06 Michael Meeks <michael@ximian.com>
3941 * libspi/value.c (spi_value_class_init): upd.
3942 (spi_value_finalize): kill.
3944 * libspi/table.c (spi_table_finalize): kill.
3945 (spi_table_interface_new): upd.
3946 (spi_table_class_init): upd.
3947 (get_table_from_servant): impl.
3948 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3950 * libspi/selection.c (spi_selection_finalize): kill.
3951 (spi_selection_interface_new): upd.
3952 (spi_selection_class_init): upd.
3953 (get_selection_from_servant): impl.
3954 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3956 * libspi/relation.c (spi_relation_finalize): kill.
3957 (spi_relation_class_init, spi_relation_new): upd
3959 * libspi/image.c (spi_image_finalize): kill.
3960 (spi_image_class_init): upd.
3961 (spi_image_interface_new): upd.
3962 (get_image_from_servant): impl.
3963 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3965 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
3966 (spi_hyperlink_finalize): kill.
3967 (spi_hyperlink_new): upd.
3968 (get_hyperlink_from_servant): impl.
3969 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3971 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
3972 (spi_hypertext_finalize): kill.
3973 (spi_hypertext_class_init): upd.
3974 (get_hypertext_from_servant): impl.
3975 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3977 * libspi/editabletext.c (spi_editable_text_finalize): kill.
3978 (spi_editable_text_interface_new): upd.
3979 (get_editable_text_from_servant): impl.
3980 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3982 * libspi/text.c (get_text_from_servant): impl.
3983 All impls - update to use it killing more cut and paste,
3984 also fix bad string returns on duff args ( a somewhat
3985 impossible case to handle - but hey ).
3986 (spi_text_construct): impl.
3987 (spi_text_interface_new): upd.
3988 (spi_text_object_finalize): kill.
3990 * libspi/component.c
3991 (accessibility_component_object_finalize): kill.
3992 (spi_component_class_init): upd.
3993 (get_component_from_servant): impl. helper to kill cut & paste.
3994 (impl_accessibility_component_contains):
3995 (impl_accessibility_component_get_accessible_at_point):
3996 (impl_accessibility_component_get_position):
3997 (impl_accessibility_component_get_extents):
3998 (impl_accessibility_component_get_mdi_z_order):
3999 (impl_accessibility_component_get_layer):
4000 (spi_component_interface_new): upd.
4002 * libspi/action.c (spi_action_finalize): kill.
4003 (spi_action_class_init): upd. inherit from SpiObject.
4004 (spi_action_interface_new): upd.
4005 (get_action_from_servant): impl. helper to reduce cut & paste.
4006 (impl_getKeyBinding, impl_getName, impl_doAction),
4007 (impl_getDescription): Use it everywhere.
4009 * cspi/spi_main.c (get_live_refs): a pointer hash.
4010 (spi_object_hash, spi_object_equal): comment out.
4011 There are issues with CORBA object hashing that need
4014 * libspi/application.c (spi_application_init),
4015 (spi_application_new): upd.
4017 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4018 (spi_accessible_class_init): upd.
4019 s/accessible/object/ in epv methods.
4021 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4023 * at-bridge/bridge.c:
4024 Reorder the bridge initialization into the bridge gtk_module_init,
4025 an immediate call to bridge_register_app, and an idle_add for
4026 register_atk_event_listeners (the only code that *must* wait until
4027 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4028 the activation, creates the application's Accessible object, and
4029 queues the bridge_idle_init function. Restored call to
4030 Accessibility_Registry_deregisterApplication().
4031 Prior to making this call we obtain a new reference to the
4032 registry, which is a temporary hack that helps us handle apps that
4033 shut down the bonobo mainloop before we get there.
4035 * libspi/registry.c:
4036 Fix string leakage in debug block, and don't segv if a an app
4037 dies before its event notifications have been propagated.
4040 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4041 as stopgap measure until we get proper exception handling when
4042 objects die during or before interrogation.
4046 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4047 Also changed default value of is_gnome_app to TRUE.
4050 * test/keysynth-demo.c:
4051 Changed use of SPI_init and SPI_event_main to reflect API change above.
4054 Made report_focus_event check the warning value from getName
4055 before reporting on focussed accessible; simplifies handling of
4056 notifications from dead objects.
4058 * test/test-simple.c: (Changes not in this patch since source is
4061 2001-12-05 Michael Meeks <michael@ximian.com>
4063 * registryd/registryd.c (main): protect against
4064 bonobo-activation startup race condition.
4066 * cspi/spi_main.c (cspi_object_add_check): cope
4067 with the exception elegantly.
4069 * idl/Accessible.idl: decl. ChildGone
4071 * libspi/desktop.c (spi_desktop_dispose): impl.
4072 (spi_desktop_class_init): upd.
4073 (spi_desktop_add_application),
4074 (spi_desktop_remove_application),
4075 (abnormal_application_termination): impl.
4076 (impl_desktop_get_child_at_index): re-impl.
4079 (impl_accessibility_registry_deregister_application),
4080 (impl_accessibility_registry_register_application):
4081 kill excessive debug clutter.
4083 * test/test-simple.c (test_misc): test some NULL
4084 tolerance. (main): upd.
4086 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4087 implements no interfaces - so let's not crash.
4089 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4091 * libspi/accessible.c (spi_accessible_new_return): impl.
4092 helper to calm the cut and paste, to cope with
4093 NULL AtkObjects effectively and efficiently, and to kill
4094 the referencing bugs.
4096 * libspi/table.c (impl_getAccessibleAt),
4097 (impl_getRowHeader, impl_getColumnHeader): upd.
4099 * libspi/hyperlink.c (impl_getObject): upd.
4101 * libspi/accessible.c
4102 (impl_accessibility_accessible_get_child_at_index): upd.
4104 * libspi/component.c
4105 (impl_accessibility_component_get_accessible_at_point): upd.
4107 * test/test-simple.c (test_editable_text, test_text): impl.
4110 * cspi/spi_editabletext.c
4111 (AccessibleEditableText_insertText): constify.
4113 * test/test-simple.c (focus_me): make more robust.
4115 * libspi/accessible.c: remove some printfs in methods that
4116 we test and work fine, so we can get a clean tree dump.
4118 * test/test-simple.c (validate_accessible),
4119 (validate_tree): make tree dumping pretty too.
4121 * at-bridge/bridge.c (bridge_signal_listener): upd. so
4122 it builds without debug on.
4124 * test/test-simple.c (validate_accessible): fix the most
4127 * cspi/spi_main.c (spi_object_release): leave the nicely
4128 blanked memory around if in debug mode.
4130 * cspi/spi-listener-impl.c (cspi_event): use add_check.
4132 [committed to fixups2]
4133 2001-12-05 Michael Meeks <michael@ximian.com>
4135 * libspi/editabletext.c
4136 (spi_editable_text_class_init): g_type_class_peek_parent,
4137 not interface peek - so we finalize cleanly.
4139 * libspi/accessible.c (spi_accessible_new): kill debug.
4141 * test/test-simple.c (validate_accessible): fix ref.
4142 leak, print strings before freeing them; sigh, comment a
4143 chunk out due to strangeness.
4144 (validate_tree): unref the child after use.
4146 * cspi/spi_component.c (AccessibleComponent_getLayer):
4147 add missing break statement, switch on zlayer not the
4148 uninitialized retval.
4150 * cspi/spi_main.c (cspi_object_add): add assert, local ref
4151 before (possibly re-entering) remote unref.
4153 * test/simple-at.c (main): unref the desktop.
4155 * cspi/spi_accessible.c (cspi_accessible_is_a): move
4158 * cspi/spi_main.c (cspi_accessible_is_a): here to
4159 isolate bonobo API usage more.
4161 * libspi/registry.c (impl_accessibility_registry_register_application):
4162 prune bogus comment.
4164 2001-12-04 Michael Meeks <michael@ximian.com>
4166 * test/test-simple.c (validate_tree): upd.
4167 IndexInParent check to make it more lucid.
4168 (validate_accessible): dump the tree.
4170 * libspi/accessible.c (de_register_public_ref),
4171 (get_public_refs): impl.
4172 (spi_accessible_new): make more efficient & intuitive.
4173 Now IndexInParent check works.
4175 2001-12-04 Michael Meeks <michael@ximian.com>
4177 * cspi/spi-util.h: remove.
4179 * cspi/spi.h: move SPI_freeString here
4181 * libspi/component.c (impl_accessibility_component_get_layer):
4183 (impl_accessibility_component_get_mdi_z_order): ditto,
4184 return -1 on error - is this ok ?
4186 * test/test-simple.c (test_application): impl.
4188 * cspi/spi_accessible.c (Accessible_getApplication),
4189 (Accessible_isApplication): impl.
4191 * libspi/registry.c (spi_listener_struct_free): release
4192 the CORBA reference too.
4194 * libspi/accessible.c
4195 (impl_accessibility_accessible_get_parent): fix ref leak.
4197 * libspi/registry.c (spi_registry_new): make the registry
4198 immortal - we don't want it to go away ever.
4200 * libspi/application.c
4201 (spi_accessible_application_finalize): impl. cleanup.
4203 * cspi/spi_registry.c
4204 (deregisterGlobalEventListenerAll),
4205 (deregisterGlobalEventListener),
4206 (deregisterAccessibleKeystrokeListener): fix ref leak.
4208 * cspi/spi_main.c (SPI_init): remove redundant ref.
4210 * test/test-simple.c (unutterable_horror): impl. to force a
4215 (impl_accessibility_registry_deregister_application): release
4216 the application when we de-register it.
4218 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4219 until we have the infastructure to get it right.
4221 2001-12-03 Michael Meeks <michael@ximian.com>
4223 * libspi/Makefile.am: only build eventlistener.[ch]
4225 * libspi/accessible.c
4226 (impl_accessibility_accessible_get_child_at_index): don't leak.
4228 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4229 before we hit the idle handler.
4231 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4232 debugging than exit.
4234 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4236 * libspi/listener.c (impl_notify_event): check source
4237 not NIL before unref.
4239 * libspi/registry.c (impl_registry_notify_event): ditto.
4241 * libspi/eventlistener.c
4242 (impl_accessible_event_notify_event): unref the source.
4244 * libspi/accessibleeventlistener.c
4245 (impl_accessible_event_notify_event): unref the source.
4247 * idl/Event.idl: remove 'hash_id' attribute - of no
4250 * libspi/application.c (notify_listeners): upd list
4252 (spi_application_object_event_listener),
4253 (spi_application_toolkit_event_listener): upd to do correct
4257 (_registry_notify_listeners): update.
4258 (parse_event_type): this method also leaks like a sieve.
4259 (impl_accessibility_registry_deregister_global_event_listener):
4260 fix ETYPE_WINDOW case.
4262 * libspi/application.c
4263 (impl_accessibility_application_register_object_event_listener):
4266 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4268 * libspi/hypertext.c (impl_getLink): ditto.
4270 * cspi/spi_main.c (cspi_object_add): remove
4271 bogus CORBA_Object_duplicate.
4273 * cspi/spi-listener-impl.c (cspi_event): dup/ref
4276 * cspi/spi_accessible.c
4277 (Accessible_getRelationSet): fix leak / referencing issue.
4279 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4280 (cspi_object_add, cspi_object_unref): upd.
4281 (spi_object_release, get_live_refs): impl.
4282 (cspi_cleanup): simplify.
4284 * *.[ch]: s/boolean/SpiBoolean/
4286 * cspi/spi_accessible.c (role_names): actualy order so it
4287 corresponds with the enum !
4289 * test/test-simple.c (test_roles): check some role strings
4290 vs. enums to detect offset errors.
4292 2001-12-01 Michael Meeks <michael@ximian.com>
4294 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4296 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4298 (Accessible_getChildAtIndex): use cspi_add_check so we
4299 check the ev before using a (possibly) invalid value.
4301 * libspi/accessible.c
4302 (impl_accessibility_accessible_get_parent): don't segv
4305 * at-bridge/bridge.c (gtk_module_init): upd.
4306 (bridge_property_event_listener): don't leak strings
4308 (bridge_state_event_listener),
4309 (bridge_property_event_listener): don't use a static
4310 buffer in case of recursive event emission &
4311 re-enterancy - split out the swathe of cut and paste
4313 (emit_eventv): and fix 2 ref leaks here & comply to the
4315 (bridge_register_app): rename to
4316 (bridge_idle_init): this and kill arg parsing, split
4317 various inits & bonobo-activation registration to module
4318 init time, kill referencing error.
4319 (bridge_exit_func): fix the same leak.
4320 (bridge_focus_tracker): don't leak event structures
4322 (bridge_signal_listener): more leakage and cut & paste
4324 (bridge_key_listener): return the result - FIXME is
4325 this polarity correct ?
4326 (accessibility_keystroke_from_atk_key_event): rename
4327 (accessibility_init_keystroke_from_atk_key_event): and stop
4329 (gtk_module_init): return a value - not that it is checked by
4331 (bridge_key_listener): register my horror at casting between
4332 IDL defined structs.
4333 (bridge_get_registry): kill - not used.
4335 * cspi/spi_accessible.c (Accessible_getRole): make return const.
4337 * test/test-simple.c (test_roles): impl.
4338 (test_desktop, validate_accessible, validate_tree): impl.
4340 * cspi/spi_accessible.c (role_names): fixup bogus
4341 MAX_ROLES setup, make constants const for efficient linkage
4342 (AccessibleRole_getName): conform to coding style, make
4345 2001-11-30 Michael Meeks <michael@ximian.com>
4347 * cspi/spi.h: add missing prototype.
4349 * libspi/registry.c (spi_listener_struct_new): fix sig.
4351 * test/Makefile.am: add test-simple
4353 * test/test-simple.c: add
4355 * test/test.sh: add.
4357 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4359 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4360 do it straight - since otherwise we often get an activation race.
4362 [ work before Bill duplicated a chunk of it ... ]
4363 2001-11-30 Michael Meeks <michael@ximian.com>
4365 * libspi/keystrokelistener.c
4366 (spi_keystroke_listener_class_init): fixup arg
4369 * libspi/eventlistener.c
4370 (spi_event_listener_class_init): ditto.
4372 * tests/test.sh: add.
4374 * cspi/spi-listener-impl.h: update macros.
4376 * cspi/spi-listener-impl.c
4377 (cspi_event_listener_remove_callback): add
4378 correct pre-conditions.
4380 * cspi/spi_main.c (SPI_exit): guard vs. double
4381 exits, exit the mainloop nicely.
4382 (SPI_event_main): make more sense.
4383 (SPI_init): move the atexit evilness here so we
4384 always do it (yuck).
4385 (SPI_event_main): upd.
4387 * test/simple-at.c: update for listener changes.
4389 * registryd/registryd.c (main): prune kruft.
4391 * libspi/libspi.h: upd.
4393 * libspi/eventlistener.[ch]: rename broken macros.
4395 * libspi/accessibleeventlistener.[ch]: remove.
4397 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4399 * test/test-simple.c: Add - automated tests.
4401 * cspi/spi-listener-impl.c (cspi_event),
4402 (cspi_key_event): add user_data to invoke.
4403 (cspi_keystroke_listener_finalize): impl.
4404 (cspi_keystroke_listener_class_init): upd.
4407 (createAccessibleEventListener),
4408 (AccessibleEventListener_addCallback),
4409 (createAccessibleKeystrokeListener),
4410 (AccessibleKeystrokeListener_addCallback): upd.
4412 * libspi/deviceeventcontroller.c
4413 (spi_device_event_controller_check_key_event): add public proto.
4416 (impl_accessibility_registry_deregister_global_event_listener):
4417 always init listeners.
4418 (_registry_notify_listeners): yes it is.
4420 * cspi/spi-listener-impl.c (cspi_key_event):
4422 (cspi_event_listener_finalize): impl.
4423 (cspi_event_listener_class_init): hook up.
4424 (event_handler_new, event_handler_free),
4425 (event_list_remove_by_callback): impl.
4426 (cspi_event_listener_remove_callback),
4427 (cspi_keystroke_listener_remove_callback),
4428 (cspi_keystroke_listener_add_callback),
4429 (cspi_event_listener_add_callback): upd.
4431 * libspi/keystrokelistener.c
4432 (keystroke_listener_object_finalize): kill
4433 (spi_keystroke_listener_class_init): upd.
4434 (spi_keystroke_listener_add_callback),
4435 (spi_keystroke_listener_remove_callback): kill,
4437 (impl_key_event): prune drasticaly.
4439 * libspi/eventlistener.c
4440 (spi_event_listener_add_callback),
4441 (spi_event_listener_remove_callback): kill, use
4443 (impl_accessible_event_notify_event): upd.
4444 (spi_event_listener_object_finalize): remove.
4446 * libspi/Makefile.am: use eventlistener.[ch]
4448 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4450 * libspi/registry.c (_registry_notify_listeners):
4451 Changed listener loop iteration to use preferred convention.
4452 Got rid of string memory leaks caused be calling g_strconcat
4453 inside function calls.
4455 * libspi/registry.c (parse_event_type):
4456 Stopped g_strconcat memory leaks, free the g_strsplit return,
4457 g_strdup the split pieces when used, etc.
4459 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4462 Change method 'compare' to return a 'difference set' rather than
4463 taking a StateSet as an out parameter (more Java-friendly).
4465 * idl/Accessible.idl:
4466 Added CORBA struct 'BoundingBox', to faciliate API changes below:
4468 * idl/Component.idl:
4470 Changed methods 'getExtents' and 'getImageExtents' in these
4471 interfaces to return a BoundingBox structure.
4472 (getPosition and getSize are redundant and possibly should be
4473 removed, rather than creating a corresponding Point struct.)
4475 * cspi/spi_component.c:
4476 Modify implementation of getExtents to reflect the above IDL
4481 Add (missing) AccessibleImage_getExtents () API.
4483 * docs/reference/cspi/at-spi-cspi-sections.txt:
4484 Added AccessibleImage_getImageExtents () to docs.
4486 2001-12-03 Bill Haneman <bill.haneman@sun.com>
4488 * idl/Component.idl:
4489 Added two methods, getLayer () and getMDIZOrder (), to reflect
4490 the new ATK methods atk_object_get_layer and
4491 atk_object_get_mdi_z_order. (Which arguably should be part of the
4492 AtkComponent API and AtkObject). Also added an enum,
4493 ComponentLayer, for the first method's return value.
4495 * libspi/component.c:
4496 Added implementations for these methods.
4498 * cspi/spi_component.c:
4500 Added cspi binding methods for above,
4501 AccessibleComponent_getLayer() and
4502 AccessibleComponent_getMDIZOrder().
4503 Added cspi enum 'AccessibleComponentLayer'.
4505 * docs/reference/cspi/at-spi-cspi-sections.txt:
4506 Added above methods to docs.
4510 Changed typedef for 'boolean' type (and all references to it) to
4511 SPIBoolean, to avoid keyword clashes with C++.
4514 Changed usages of 'boolean' to SPIBoolean.
4516 * test/keysynth-demo.c:
4517 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4518 app), except where SPIBoolean is required by the callbacks API.
4520 2001-12-02 Bill Haneman <bill.haneman@sun.com>
4522 * cspi/spi_registry.c:
4523 Removed obsolete X event loop for passive keygrabs (which now
4526 * registryd/registryd.c:
4527 Removed unnecessary call to gdk_init() [cruft]. This also allows
4528 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4531 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4533 * docs/reference/cspi:
4534 Included docs for SPI_freeString in generated documentation.
4537 Renamed spi_freeString to SPI_freeString, for consistency. Added
4538 documentation for this function.
4541 Renamed spi_freeString to SPI_freeString, for consistency.
4542 Removed obsolete method declaration string_from_corba_string.
4544 * test/keysynth-demo.c:
4545 Small tweak to comments.
4548 Stopped leaking the strings returned from CSPI.
4550 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4552 Merged Michael's branch (see his ChangeLog entries below).
4554 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4555 bridge is alive, release on exit.
4557 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4558 Fix type check macro.
4561 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
4564 Added is_gnome_app static, and method cspi_is_gnome_app(),
4565 so we can call the appropriate shutdown routine at exit in SPI_exit.
4567 * cspi/spi_main.c (cspi_object_ref):
4568 Duplicate the corba object passed in, since we're keeping it around.
4570 * cspi/SPI_exit.c, cspi_cleanup:
4571 Moved the releasing of the live refs to its own function, so we
4572 can put it in g_atexit (). Call the appropriate shutdown API
4573 depending on whethe calling client is a gnome app or not
4574 (bonobo_main_quit or CORBA_ORB_shutdown).
4576 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
4577 Unref the listener when this method is called, after
4578 deregistration. Updated the API docs to note this behavior.
4580 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
4581 Bugfixes: Ref the bonobo object when returning a parent or child
4582 reference, or an AccessibleRelation. Generally made sure
4583 BonoboObject refcount is incremented whenever we return an
4586 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
4587 Fixed typo/bug in signal declaration.
4589 * libspi/accessibleeventlistener.h:
4592 * libspi/application.c (spi_application_new):
4593 Fixed leak in initialization.
4596 Remembered to increment bonobo-object refcount when returning
4597 children (applications) from desktop object.
4598 Added (empty) finalize method.
4600 * libspi/deviceeventcontroller.c:
4601 Hold a ref to listeners inside DEControllerKeyListeners.
4602 Added dec_key_listener_free() method. Use prepend instead of
4603 append in key_listener list. Fixed some refcount madness and
4604 leaks in the listener registration/deregistration - deregistration
4605 now calls dec_key_listener_free() on listeners, and on the
4606 temporarily constructed dec_key_listener() used to perform the search/match.
4608 * libspi/hypertext.c (spi_hypertest_finalize):
4609 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
4610 class. Also fixed spi_hypertext_interface_new() and
4611 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
4613 * libspi/hypertext.h:
4614 Removed pointless and duplicate AtkObject pointer from
4617 * libspi/keystrokelistener.c:
4618 Fixed incorrect type of keystroke_listener_parent_class,
4619 renamed keystroke_listener_object_finalize to
4620 spi_keystroke_listener_object_finalize.
4621 Fixed typo in signal declaration
4622 (spi_keystroke_listener_class_init).
4624 * libspi/registry.c:
4625 Added funcsions spi_listener_struct_new() and
4626 spi_listener_struct_free() to help with memory management issues.
4627 We also now use these methods instead of gnew + poking stuff into
4628 the struct, and to decrement listener counts/free the listeners
4629 when deregistering them.
4630 Fix more refcount bugs in getDesktop() and
4631 getDeviceEventController().
4634 De-ref the desktop after enumerating the applications. Explicitly
4635 decrement the refcounts on the created listeners on exit (using
4636 _unref for keystroke listeners, and via the
4637 deregisterGlobalEventListenerAll command for other event
4640 2001-11-27 Michael Meeks <michael@ximian.com>
4642 * cspi/spi-listener.h: fixup enum.
4644 2001-11-27 Michael Meeks <michael@ximian.com>
4646 * cspi/spi-listener-impl.c (cspi_event_listener_new),
4647 (cspi_keystroke_listener_new): Use the cspi variants.
4649 2001-11-26 Michael Meeks <michael@ximian.com>
4651 * test/keysynth-demo.c: fix 2 compile warnings, missing
4654 * test/simple-at.c (report_focussed_accessible),
4655 (report_focus_event, report_button_press),
4656 (check_property_change, is_command_key),
4657 (report_ordinary_key_event, report_command_key_event): upd.
4659 * util/mag_client.h: include pre-requisites.
4661 * libspi/accessibleeventlistener.c
4662 (spi_event_listener_object_finalize): free any lingering
4665 * libspi/keystrokelistener.c
4666 (keystroke_listener_object_finalize): ditto.
4668 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4669 callbacks, with cspi types.
4671 * cspi/spi_event.c (createAccessibleEventListener): chain to
4672 (AccessibleEventListener_addCallback): here.
4673 (createAccessibleKeystrokeListener): chain to
4674 (AccessibleKeystrokeListener_addCallback): here.
4676 * libspi/keystrokelistener.c
4677 (spi_keystroke_listener_class_init): add signal.
4678 (impl_key_event): emit the event.
4679 (boolean_handled_accumulator): impl.
4680 (marshal_BOOLEAN__POINTER): add, gack.
4682 * libspi/accessibleeventlistener.c
4683 (spi_event_listener_class_init): add signal.
4684 (impl_accessible_event_notify_event): emit the signal &
4685 make the loop efficient.
4686 (spi_event_listener_add_callback): prepend the callback.
4688 * libspi/accessibleeventlistener.h: add an 'event' signal,
4689 decl type on callback.
4691 * libspi/keystrokelistener.h: ditto.
4693 * cspi/spi-listener.h: make methods typesafe and
4694 make them use the new event typedefs.
4696 * test/simple-at.c (report_focussed_accessible):
4697 include mag_client.h
4698 Use *(void *)text_interface not the other thing.
4700 * configure.in: add gtk to registryd bits - since we use
4703 * util/magnifier.c: include libbonobo.h
4705 2001-11-25 Bill Haneman <bill.haneman@sun.com>
4707 * test/keysynth-demo.c:
4708 Turned this into a simple scanning keyboard, to demonstrate the
4709 use of g_timeout_add () as a means of creating timers for
4710 scanning, and the use of GtkStyle for visually indicating when
4711 virtual keyboard elements are selected.
4713 keysynth-demo now listens to any keyboard keys with zero-valued
4714 keycodes (i.e. 'unused' keys) and interprets them as
4717 Reworked the shiftlatch code so that shift-down state isn't held
4718 for long periods (it's only synthesized immediately prior to
4719 the keysynth event it's modifying). Note that shiftlatch in this
4720 demo is a convenience, not intended to take the place of AccessX
4721 which is the better choice for getting 'sticky' modifier keys.
4723 * libspi/deviceeventcontroller.c:
4724 * at-bridge/bridge.c:
4725 * cspi/spi_registry.c:
4726 Removed some debug print stuff, and put other verbosity in #ifdef
4731 Implemented some more of the magnifier IDL for the simple
4732 magnifier: namely, getZoomRegionParams.
4733 Added mag_x and mag_y members to MagnifierData struct, aid of this
4735 Added GtkWindow::realize signal handler to magnifier, to keep it
4736 from receiving keyboard focus from the WM.
4738 2001-11-23 Mark McLoughlin <mark@skynet.ie>
4740 * cspi/spi-private.h: my guess at what michael forgot
4741 before he ran off to NZ :-)
4743 2001-11-23 Michael Meeks <michael@ximian.com>
4745 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4746 comment out non existant method invoke so we link.
4748 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4749 use bonobo_exception_get_text for more friendly warnings.
4751 * cspi/spi.c (Obj_Add): move into spi_main & rename
4752 spi_object_add; kill spi.c
4754 * cspi/spi_registry.c
4755 (deregisterGlobalEventListener),
4756 (deregisterGlobalEventListenerAll),
4757 (registerGlobalEventListener): fix exception leaks.
4759 * cspi/spi_main.c (spi_exception): impl. helper, so we
4760 don't leak exceptions.
4762 * cspi/spi_selection.c
4763 (AccessibleSelection_deselectSelectedChild): return the
4766 * cspi/spi_main.c (spi_ev): impl; hack - gack.
4767 (spi_registry): ditto.
4768 (SPI_init): guard against double inits.
4770 * cspi/*.c: use spi_ev (), and spi_registry () where
4771 appropriate - a temporary hack until we have something
4772 better. Use spi_object_add
4774 2001-11-22 Michael Meeks <michael@ximian.com>
4776 * cspi/Makefile.am: re organise, install the headers.
4778 * cspi/*.h: add G_BEGIN/END_DECLS
4780 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4783 Added non-preemptive keylistener for key events with no modifiers
4784 and shift-only modifier.
4786 * libspi/keystrokelistener.c:
4787 Removed some verbose diagnostics printout.
4789 * cspi/spi_registry.c:
4790 Fixed a bug that caused all key listeners to be registered as
4793 * libspi/deviceeventcontroller.c:
4794 Fixed bug that caused XGrabKey (preemptive key grab) to be called
4795 for non-preemptive key masks.
4798 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4800 * docs/reference/idl/at-spi-idl-docs.sgml:
4801 * docs/reference/idl/at-spi-idl-sections.txt:
4802 * docs/reference/idl/at-spi-idl-overrides.txt:
4803 Added missing files.
4805 * docs/reference/Makefile.am:
4806 removed idl from SUBDIRS until we can figure a way to get gtk-doc
4807 to scan the IDL files :-(
4812 Added .cvsignore files.
4814 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4816 * libspi/deviceeventcontroller.c:
4817 * libspi/keystrokelistener.c:
4819 * cspi/spi_registry.c:
4820 Added filters for KeySets, KeyEventSeq, and event types to key
4821 event dispatching, so listeners should only receive those events
4822 that they requested :-)
4824 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4829 * docs/reference:Makefile.am:
4830 * docs/reference/cspi:
4831 * docs/reference/cspi:Makefile.am:
4832 * docs/reference/cspi:tmpl:
4833 * docs/reference/cspi:tmpl:*.sgml:
4834 * docs/reference/idl:
4835 * docs/reference/idl:Makefile.am:
4836 * docs/reference/idl:at-spi-idl-sections.txt:
4837 * docs/reference/idl:at-spi-idl-docs.sgml:
4838 * docs/reference/idl:tmpl:
4839 * docs/reference/idl:tmpl:*.sgml:
4841 Restructured docs directory to allow separate 'reference' docs
4842 section, and forked idl and cspi docs. Added the sgml template
4843 files to CVS. Added the first sections/structural sgml for the
4846 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
4848 * configure.in, libspi/Makefile.am: find libXtst.
4850 2001-11-21 Michael Meeks <michael@ximian.com>
4852 * test/accessx-gui.c: s/spi_value/value/ - doh.
4854 * libspi/base.[ch]: add.
4856 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4858 * idl/Accessible.idl:
4859 * idl/Application.idl:
4862 Started gtk-doc cleanup on IDL.
4864 * libspi/deviceeventcontroller.c:
4865 Added and connected non-preemptive key notification from the
4866 toolkits (in addition to the pre-emptive support from XServer
4867 which we had before, but which causes 'focus flashing'). Filters
4868 are presently limited to key modifiers and global/non-global,
4869 KeySets are presently ignored, as are KeyEvent masks.
4871 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
4872 structs into the persistant structure rather than just storing
4873 pointers to things that might not persist across servant
4876 The XGrabKey call now does async keygrabs, because synchronous
4877 ones were deadlocking with GDK_event code in a very nasty way.
4879 Added boolean to internal method notify_keylisteners, to indicate
4880 whether the event came from the 'toolkit source' or the 'global
4881 (XServer) source' - this is used in the notification process to
4882 determine which listeners to send the event to.
4884 deviceeventcontroller.c is now warning-free.
4886 * libspi/registry.c:
4887 Fixed regression in application de-registration.
4888 Also fixed some really brain-dead weirdness having to do with
4889 event dispatching - event structs are now duplicated before being
4890 re-marshalled in the dispatch to listeners. This also fixes a
4891 Solaris build problem.
4894 2001-11-20 Michael Meeks <michael@ximian.com>
4897 (impl_accessibility_registry_deregister_global_event_listener):
4900 * libspi/deviceeventcontroller.c
4901 (spi_device_event_controller_check_key_event): return
4902 FALSE on no virtual method.
4904 * libspi/*..h: make includes work on a correctly pathed install.
4906 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
4908 * libspi/application.h: kill unused ( and whacked out )
4909 gboolean *spi_application_set_id (AtkObject *app, long id);
4911 2001-11-20 Michael Meeks <michael@ximian.com>
4913 * libspi/*.[ch]: further convert to bonobo's type func
4914 macros, remove redundnant casts etc.
4916 * libspi/text.c s/accessibility_text/spi_text/g,
4917 re-order to de-cruft.
4919 * libspi/hypertext.c: re-order to kill a huge slew
4920 of redundant forward decls.
4922 * libspi/relation.c: ditto.
4924 * libspi/image.c: ditto.
4926 * */.cvsignore: update
4928 2001-11-20 Michael Meeks <michael@ximian.com>
4930 * libspi/deviceeventcontroller.c
4931 (_controller_register_with_devices): use g_getenv,
4932 kill stdlib.h include.
4934 * libspi/keystrokelistener.c
4935 (spi_keystroke_listener_get_type): kill
4936 (spi_keystroke_listener_class_init),
4937 (spi_keystroke_listener_init): rename to this.
4939 * libspi/text.c (impl_getAttributes): fix warning / bug.
4941 * libspi/*.[ch]: more headers, includes and over commenting.
4943 2001-11-20 Michael Meeks <michael@ximian.com>
4945 * libspi/*.[ch]: fixup headers, includes and over commenting.
4947 * libspi/image.c (impl__get_imageDescription): const
4948 correctness warning fix. remove redundant casting.
4950 * libspi/table.c (impl_getRowDescription): ditto.
4951 (impl_getColumnDescription): ditto.
4953 * libspi/libspi.h: add.
4955 2001-11-19 Michael Meeks <michael@ximian.com>
4957 * libspi/editabletext.c (impl_setAttributes): fix warnings.
4959 * libspi/component.c (accessibility_component_get_type):
4960 rename to (spi_component_get_type): and macroify.
4961 (accessibility_component_init): rename to
4962 (spi_component_init): this
4963 (accessibility_component_class_init): rename to
4964 (spi_component_class_init): this
4966 * libspi/action.c (spi_action_get_type): kill, use the macro.
4968 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
4971 * libspi/application.c (spi_application_object_event_listener),
4972 (impl_accessibility_application_register_object_event_listener):
4973 warning fixes / const understanding updates.
4975 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
4978 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4980 * libspi/spi_accessible.c: Added docs and C bindings for
4981 AccessibleStateSet. (No implementations yet). Documentation
4982 coverage for C bindings now 100%. Made docs for event listeners
4987 boolean notifyListenersSync (in DeviceEventListener listener,
4988 in DeviceEvent event);
4990 oneway void notifyListenersAsync (in DeviceEventListener listener,
4991 in DeviceEvent event);
4993 Added DeviceEventListener and DeviceEvent structs (may deprecate
4994 KeyStroke and KeystrokeListener in favor of this generic
4995 event/listener framework for devices).
4997 * libspi/deviceeventcontroller.c:
4999 Changed some key listener code to take masks, etc., and paved the
5000 way for integration of toolkit/non-preemptive key events. Changed
5001 signatures of some internal methods.
5003 * at-bridge/bridge.c:
5004 Fixed regression connecting to interface signals, apparently
5005 caused by GTK+ changes.
5007 Added an internal bridge_state_listener to deal with
5008 property-change:accessible-state signals.
5010 Changed the key_listeners GList to store structs (including masks,
5011 etc.) instead of just CORBA_Objects (required for full
5012 implementation of key listener API).
5014 Connected the bridge to all currently supported Atk signals.
5015 Events now supported:
5016 object:property-change
5017 object:property-change:accessible-name
5018 object:property-change:accessible-state
5019 object:property-change:accessible-description
5020 object:property-change:accessible-parent
5021 object:property-change:accessible-value
5022 object:property-change:accessible-role
5023 object:property-change:accessible-table-caption
5024 object:property-change:accessible-table-column-description
5025 object:property-change:accessible-table-column-header
5026 object:property-change:accessible-table-row-description
5027 object:property-change:accessible-table-row-header
5028 object:property-change:accessible-table-summary
5029 object:children-changed
5030 object:visible-data-changed
5031 object:selection-changed
5032 object:text-selection-changed
5034 object:text-caret-moved
5036 object:row-reordered
5038 object:column-inserted
5039 object:column-reordered
5040 object:column-deleted
5041 object:model-changed
5043 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5045 * libspi/hyperlink.c,h:
5046 Fixed some broken stuff in hyperlink.
5048 * libspi/relation.h:
5049 * libspi/relation.c:
5050 * cspi/spi_accessible.c:
5051 Initial implementations of AccessibleRelation methods, and docs.
5053 * libspi/accessible.c:
5054 Fixed a bug that caused SEGV if an accessible
5055 object's description is NULL, and a client
5056 requests it. An empty string is now returned.
5058 * cspi/spi_editabletext.c:
5059 * cspi/spi_hypertext.c:
5061 * cspi/spi_hyperlink.c:
5065 Doc coverage now 95%.
5067 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5069 One last namespacing revision:
5070 * libspi/accessibleeventlistener.[ch]:
5071 Renamed SpiAccessibleEventListener to SpiEventListener,
5072 (no need for two namespaces ;-)
5074 And lots of documentation fixes:
5076 * docs/at-spi-docs.sgml:
5077 Fixed 'underscore vs. hyphen' bug that was preventing
5078 the gtk-doc API docs from being automatically generated.
5081 * cspi/spi-listener.h
5083 * cspi/spi_accessible.c
5085 * cspi/spi_application.c
5086 * cspi/spi_component.c
5087 * cspi/spi_editabletext.c
5089 * cspi/spi_hypertext.c
5091 * cspi/spi_registry.c
5092 * cspi/spi_selection.c
5096 * docs/at-spi-docs.sgml
5097 * docs/at-spi-sections.txt
5099 Added and fixed up gtk-doc documentation in cspi.
5101 Interfaces now (fully) documented (subject to revision and enhancement):
5103 Event Listener Support
5105 AccessibleApplication
5109 AccessibleEditableText
5116 AccessibleRelationSet
5121 2001-11-14 Bill Haneman <bill.haneman@sun.com>
5123 * at-bridge/bridge.c:
5124 Initial work for toolkit-level key snooper connection by bridge.
5129 New typedefs and fixes to support new namespacing, and cleaner
5130 separation of cspi bindings from libspi bonobo implementation.
5131 Removed inconsistent and extraneous Spi* namespace prefix that
5132 had crept into cspi headers.
5133 Lots of comment fixes that sed had missed.
5135 * cspi/spi-roletypes.h:
5136 * cspi/spi-statetypes.h:
5137 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5138 to AccessibleRoleType.
5140 * libspi/accessibleeventlistener.h:
5141 Fixed minor namespacing weirdness.
5143 * libspi/deviceeventcontroller.c:
5144 Reordered some internal API for device listeners.
5145 Changed the key registry final boolean to 'is_system_global'
5146 rather than 'is_synchronous', which is more descriptive of its
5148 Added spi_device_event_controller_new().
5149 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
5151 * libspi/keystrokelistener.[ch]:
5152 Namespaced KeystrokeListener to SpiKeystrokeListener.
5153 Changed uses of keymasks to use SPI_ prefix, and did other
5156 * libspi/keymasks.h:
5157 Namespaced keymask constants with SPI_ prefix.
5159 * libspi/registry.c:
5160 Some warning fixes, and knock-on fixes from namespace changes.
5163 Added rules for accessx-gui test program.
5165 * test/accessx-gui.c:
5166 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5167 utility. It doesn't actually use at-spi, but it's still cool and
5170 * test/keysynth-demo.c:
5174 Fixes so that these test clients work properly with the namespaced
5175 libraries. (Incompletely tested for technical reasons, fixes may follow)
5178 2001-11-13 Michael Meeks <michael@ximian.com>
5180 * libspi/application.c
5181 (impl_accessibility_application_get_version),
5182 (impl_accessibility_application_get_toolkit_name):
5184 (impl_accessibility_application_set_id),
5185 (impl_accessibility_application_get_id): remove
5186 redundant casting code.
5188 * libspi/action.c (impl_getDescription): fix warnings.
5190 * libspi/accessible.c
5191 (impl_accessibility_accessible_get_parent),
5192 (impl_accessibility_accessible_get_child_at_index),
5193 (impl_accessibility_accessible_get_state),
5194 (impl_accessibility_accessible_get_relation_set):
5195 warning fixes & include action.h
5197 2001-11-13 Michael Meeks <michael@ximian.com>
5199 * *.[ch] fix bits I screwed up:
5201 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5202 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5204 2001-11-13 Michael Meeks <michael@ximian.com>
5206 * *.[ch] Namespace libspi into spi_ and Spi.
5208 2001-13-11 Michael Meeks <michael@ximian.com>
5210 * Makefile.am: dist & install at-spi-1.0.pc
5212 * libspi/Makefile.am: install into at-spi-1.0
5214 * idl/Makefile.am (idldir): install into at-spi-1.0
5216 * at-spi-1.0.pc.in: add.
5218 * configure.in: build it.
5220 2001-11-12 Bill Haneman <bill.haneman@sun.com>
5222 * test/keysynth-demo.c:
5223 Use a 'realize' signal-handler to set the WM properties for
5224 the virtual keyboard, rather than making it a "POPUP" type
5225 override-redirect window (thanks to anders carlsson for that
5228 2001-11-11 Bill Haneman <bill.haneman@sun.com>
5231 * test/keysynth-demo.c:
5232 Added new test of key synthesis, which creates a simple
5233 (mouse-operated) onscreen keyboard. It inserts key events into
5234 the currently-focused window, thus it does not grab keyboard focus
5237 * cspi/spi_registry.c:
5238 Added C binding for AT-SPI generateKeyEvent.
5240 * libspi/deviceeventcontroller.c:
5241 Added call to XFilterEvent so that key listener works with XIM (we
5242 hope). Added event_synth_type to generateKeyEvent, so that we can
5243 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5244 synthesize a press/release pair for KeySyms.
5246 2001-11-09 Bill Haneman <bill.haneman@sun.com>
5248 * libspi/Makefile.am:
5249 * registryd/Makefile.am:
5250 (temporary) hack to include libXtst in libspi and registryd.
5251 (Needed for keystroke synthesis, see below).
5254 Improved API for registerKeystrokeListener, in accordance with
5255 discussions with Gnopernicus team and X server research.
5257 * libspi/registry.c:
5258 * libspi/deviceeventcontroller.c:
5259 * libspi/accessible.c:
5260 * libspi/keystrokelistener.c:
5261 Changes and fixes to support keylisteners for potentially
5262 consumed key events (that is, 'passive grabs').
5263 Added implementation for generateKeyEvent() [untested].
5266 Changes to registerKeystrokeListener() API, as above.
5267 Added deregisterGlobalEventListenerAll(), and
5268 deregisterKeystrokeListener(), which are needed for clean exit of
5270 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5271 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5273 * cspi/spi_registry.c:
5274 Added implementations of function prototypes mentioned above.
5276 * registryd/registryd.c:
5277 Added the key listener event source as a g_timeout(), to allow
5278 receipt of key events that are not caught by GDK (since GDK
5279 doesn't support passive keygrabs, this was necessary).
5282 Changed to attach a keylistener to 'Alt' keys, and
5283 respond to the following keycommands: Alt-M (toggle magnifier);
5284 Alt-F (toggle speech); Alt-Q (quit).
5285 Added an exit routine to deregister the listeners, and a key
5286 listener that prints some key info to the console when a key
5287 matches the listener mask (and is thus received by the listener).
5289 * util/idl/Magnifier.idl:
5290 Changes to magnifier API to support multiple zoom regions,
5291 non-uniform scaling in x and y, markDirty, and a host of other
5292 features that would be useful to magnification.
5295 * util/mag_client.c:
5296 * util/mag_client.h:
5297 * util/mag_control.c:
5299 Source code changes to support the above IDL changes.
5302 As above, and also changes to use a (slower) generic conversion
5303 path for colormap conversions, since the fast RGB conversions have been
5304 reported to fail for 16-bit displays.
5306 2001-10-26 Michael Meeks <michael@ximian.com>
5308 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5310 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
5312 * at-bridge/Makefile.am: fix LDFLAGS.
5314 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5316 * at-bridge/bridge.c:
5317 Re-worked listeners for toolkit events, now we have signal
5318 and property listeners. Added a private method
5319 register_atk_event_listeners(), which registers with the
5320 various atk and gtk signals we need to monitor in order to emit
5322 Added emission hook for AtkObject:property-change events, to
5323 support the 'property listeners'.
5324 Fixed some alloc()s of Accessibility_Event structs to use CORBA
5327 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5328 which emit warnings and exit, respectively, if CORBA errors occur
5329 during remote calls, and we now use these methods to check most of
5330 our CORBA calls in the C bindings.
5332 * cspi/spi_accessible.c:
5333 Changed AccessibleSelection_refSelectedChild() to
5334 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5335 now increment refcounts.
5337 * cspi/spi_component.c:
5338 Fixed some long pointer casts (dangerous!) to pass pointers to
5339 CORBA_longs of the proper type to the CORBA stubs, and copy the
5340 data into the longs that were passed into the C bindings code.
5342 * at-bridge/bridge.c:
5344 * libspi/accessible.c:
5345 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5346 hyperlinks, AtkHyperlink is an object type.
5348 * libspi/application.c:
5349 Added various conversions to and from "generic" event types and
5350 atk-specific types; this is really part of the 'bridge'
5351 implementation but is valid for all AtkObject-based accessibility
5354 * libspi/editabletext.c:
5355 Fixed nasty bug wherein editable text's finalize method was
5356 unref'ing tha AtkObject reference that the text parent class was
5357 about to unref _again_. There was also a nasty inheritance bug
5358 that meant that the AccessibleEditableText class was corrupt.
5360 * libspi/selection.c:
5361 Provided implementations for some selection API that was broken.
5363 * idl/Application.idl:
5364 Added registerObjectEventListener () method.
5367 Fixed a number of return values that were Bonobo_Unknowns from
5368 bonobo_object_corba_objref(), which I
5369 forgot to dup before returning. Changed instances of
5370 bonobo_object_corba_objref (bonobo_object(o)) to
5371 BONOBO_OBJREF(o), for concision and clarity.
5373 2001-10-13 Louise Miller <louise.miller@sun.com>
5375 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5376 idl/Event.idl, idl/Registry.idl
5377 Changed these files to include Bonobo_Unknown.idl instead
5380 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
5382 * libspi/component.c libspi/component.h:
5383 Fixed typo. Added assertions for object checks in
5384 AccessibleComponent code.
5386 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5388 * idl/Accessible.idl:
5389 Added 'isEqual (Accessible *object)'
5390 method for Accessible. (Not Yet Implemented).
5393 Changed signature of registerKeystrokeListener() to
5394 take a KeySet and KeyEventSeq so that specific keys and event
5395 types could be requested for monitoring, and added a flag
5396 is_synchronous so that either synchronous or asynchronous
5397 notification could be requested. (However this is not all
5398 implemented yet). This also meant adding two new typedefs,
5399 KeyEventSeq and KeySet.
5402 Added two new relations, RELATION_TOOLTIP_FOR and
5403 RELATION_LEAFNODE_OF.
5406 Added new state, STATE_HAS_TOOLTIP.
5408 * libspi/text.c, editabletext.c:
5409 Added new assertions to all casts of bonobo-objects from
5410 CORBA servants, to prevent Text API calls on non-text objects.
5411 Changed suspect casts of int-pointer types, so that we
5412 always send a valid CORBA_long pointer to the CORBA APIs that use
5413 in/out long parameters. We then have to copy from the CORBA_long
5414 into the regular long or int for return to the C bindings, or
5415 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5418 * libspi/deviceeventcontroller.c:
5419 Cleaned these sources up.
5421 Changed return type for getCharacterAtOffset to
5422 CORBA_unsigned_long, to allow for 32-bit characters.
5425 2001-10-08 Bill Haneman <bill.haneman@sun.com>
5429 Fixed 'make dist' so that distro compiles...
5430 * libspi/keymasks.h:
5432 * cspi/spi-listener.c:
5433 KeystrokeListenerCB now returns a boolean.
5435 Added KeyEventType struct, and KeyStroke.
5436 Also added createKeystrokeListener(),
5437 KeystrokeListener_addCallback(),
5438 KeystrokeListener_removeCallback(), and added a keymask to
5439 registerKeystrokeListener().
5440 * cspi/spi_accessible.c:
5441 Changed numerous return types for interfaces from
5442 AccessibleComponent to Accessible<InterfaceName>; this was
5443 probably a cut-and-paste error.
5445 Implementations of new KeystrokeListener api (from spi.h,
5448 Changes to key modifier mapping.
5449 Created ControllerEventMask struct.
5450 Made DeviceEventController derive from Bonobo::Unknown.
5452 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5453 * libspi/deviceeventcontroller.c:
5454 Added a number of new internal (private) methods.
5455 * libspi/editabletext.c:
5456 * libspi/editabletext.h:
5457 Fixed a number of bugs related to the fact that
5458 editabletext inherits from text. Fixed the EditableText struct,
5459 the init() call, and use correct casts when calling Text methods
5460 from an EditableText object. Removed (duplicate) atko from the
5461 EditableText structure, we use the one in the parent Text
5462 structure via the casts mentioned above.
5463 * libspi/keystrokelistener.[ch]:
5464 * libspi/registry.c:
5465 Changes in support of keyboard handling (above).
5467 Keyboard handling, though partly functional, is still not
5468 recommended for at-spi client use as there is considerable
5469 work yet to be done.
5472 Changed some places where pointers to various int types
5473 are cast to be pointers to CORBA_long types and vice-versa:
5474 pointer casting is not safe so we pass pointers of the correct
5475 types and then cast the result before putting it into the target
5478 * libspi/text.h: minor typos corrected.
5480 We now speak not only the name of a Text element, but the
5481 first sentence of its content, when it receives focus.
5482 I also changed the text compression to 75% from 50%.
5483 * util/Accessibility_Util.server.in:
5484 Changed the default magnifier type to be a 3x vertical
5485 splitscreen magnifier (was previously a 2x horizontal one).
5487 2001-10-03 Bill Haneman <bill.haneman@sun.com>
5489 * libspi/keystrokelistener.h:
5490 * libspi/keystrokelistener.c:
5491 Initial functional implementations of KeystrokeListener.
5494 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
5496 Fixed string handling for NULL strings in libspi.
5497 Added spi_freeString to free strings returned by C bindings.
5499 2001-09-30 Bill Haneman <bill.haneman@sun.com>
5501 * libspi/keystrokelistener.h:
5502 * libspi/keystrokelistener.c:
5503 Began (no-op) implementations of KeystrokeListener
5505 * libspi/deviceeventcontroller.c:
5506 * libspi/deviceeventcontroller.h:
5507 Began creating implementations of DeviceEventController,
5508 to handle keystroke and mouse event listening and
5510 * libspi/accessible.c:
5511 Stubbed-in the implementations for
5512 Accessibility_Accessible_getState and
5513 Accessibility_Accessible_getRelationSet.
5514 * libspi/registry.c:
5515 Improved de-registration process and fixed some bugs,
5516 deregistration now works correctly.
5518 Added initialization of applications list (to NULL).
5520 Reduced speech compression from 0.5 to 0.7, for demo.
5521 Changed call to gdk_window_set_decorations()
5522 to gtk_window_set_decorated().
5523 * at-bridge/bridge.c:
5524 Bridge now deregisters when app exits, via
5525 registration of a cleanup function
5526 with the g_atexit() call.
5527 Required making 'app' static, renamed 'this_app'.
5528 Fixed broken use of bonobo_init, passing argv wrongly.
5530 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5534 Created a new directory for
5535 accessibility-related utilities, primarily for
5536 testing and demo purposes, but with possible
5543 Onscreen magnifier utility that
5544 is implemented as a bonobo service.
5546 * util/mag_client.c:
5547 * util/mag_client.h:
5548 Client-side support (simple C bindings)
5549 for Magnification service
5551 * util/mag_control.c:
5552 Client program example for
5553 Magnification service
5555 * util/Accessibility_Magnifier.server.in:
5556 Bonobo-activation file for the
5557 Magnification service.
5560 * util/idl/Magnifier.idl:
5561 IDL defining the bonobo Magnification
5565 Modifications to use the bonobo-activated magnifier
5566 above, in place of trying to connect to an existing
5567 magnifier that uses socket-listening IPC.
5569 If env variable MAGNIFIER is set, a magnifier service
5570 will be started if one does not exist.
5572 2001-09-25 Bill Haneman <bill.haneman@sun.com>
5574 * at-bridge/bridge.c:
5575 applied patch from Marc to build and run
5576 against new glib and gtk+ (seemed like a change
5577 to bonobo_init signature was made ?)
5579 made festival-server support turned off by default.
5580 Added support for a simple magnifier (off by default)
5581 which will be added to a 'util' directory later.
5582 * at-bridge/Makefile.am:
5583 Changed "application.h" header from a 'source'
5584 to a 'dependency' of libat-bridge.
5586 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5595 Added interface implementation c files to list of
5596 includes so they are included in libcspi.
5599 Changed prototype of AccessibleAction_doAction to return a
5601 Changed prototype of AccessibleTable_getCaption to
5602 return an Accessible.
5603 Changed prototype of AccessibleTable_getSelectedRows
5604 and AccessibleTable_getSelectedColumns to
5605 return a long (returns the number of selected rows
5606 or columns respectively).
5607 Changed name of AccessibleText_refRunAttributes to
5608 AccessibleText_getAttributes.
5609 Changed prototype of AccessibleText_getCharacterExtents to
5610 return a void rather than a boolean.
5611 Added support for a AccessibleCoordType parameter
5612 specifying what type of coordinates are desired.
5613 Added an AccessibleCordType parameter to
5614 AccessibleText_getPointAtOffset.
5616 * cspi/spi_accessible.c:
5617 Added code to return the outstanding interfaces from
5618 Accessible_queryInterface.
5620 * cspi/spi_action.c:
5622 Corrected call to getNActions to call the c binding
5625 * cspi/spi_editabletext.c:
5627 Changed name from setRunAttributes to setAttributes.
5629 * cspi/spi_hyperlink.c:
5631 Changed call to getNAnchors to correctly call the c
5632 binding for an attribute.
5634 * cspi/spi_hypertext.c:
5636 Changed getImageDescription to correctly call the
5637 binding for an attribute.
5639 * cspi/spi_selection.c:
5640 Changed getNSelectedChildren to correctly call the c
5641 binding for the attribute.
5642 Changed refSelectedChild to getSelectedChild.
5646 Changed getCaption to return an Accessible.
5647 Fixed calls which retrieve attributes.
5648 Changed refAt to getAccessibleAt.
5649 Changed getNSelectedRows and getNSelectedColumns to
5653 Changed getCharacterExtents and getPointAtOffset to accept an
5654 AccessibleCoordType.
5656 Changed calls which retrieve attributes.
5657 Changed refRunAttributes to getAttributes.
5662 * idl/Hyperlink.idl:
5663 Changed n_anchors attribute to nAnchors to keep naming
5664 convention consistent.
5667 Made Table inherit from Bonobo::Unknown.
5668 Added nSelectedColumns and nSelectedRows attributes.
5671 Made Value inherit from Bonobo::Unknown.
5673 * libspi/hyperlink.c:
5674 Change for nAnchors attributte name change.
5676 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5684 Added interface implementation c files to list of
5685 includes so they are included in libcspi.
5688 Changed prototype of AccessibleAction_doAction to return a
5690 Changed prototype of AccessibleTable_getCaption to
5691 return an Accessible.
5692 Changed prototype of AccessibleTable_getSelectedRows
5693 and AccessibleTable_getSelectedColumns to
5694 return a long (returns the number of selected rows
5695 or columns respectively).
5696 Changed name of AccessibleText_refRunAttributes to
5697 AccessibleText_getAttributes.
5698 Changed prototype of AccessibleText_getCharacterExtents to
5699 return a void rather than a boolean.
5700 Added support for a AccessibleCoordType parameter
5701 specifying what type of coordinates are desired.
5702 Added an AccessibleCordType parameter to
5703 AccessibleText_getPointAtOffset.
5705 * cspi/spi_accessible.c:
5706 Added code to return the outstanding interfaces from
5707 Accessible_queryInterface.
5709 * cspi/spi_action.c:
5711 Corrected call to getNActions to call the c binding
5714 * cspi/spi_editabletext.c:
5716 Changed name from setRunAttributes to setAttributes.
5718 * cspi/spi_hyperlink.c:
5720 Changed call to getNAnchors to correctly call the c
5721 binding for an attribute.
5723 * cspi/spi_hypertext.c:
5725 Changed getImageDescription to correctly call the
5726 binding for an attribute.
5728 * cspi/spi_selection.c:
5729 Changed getNSelectedChildren to correctly call the c
5730 binding for the attribute.
5731 Changed refSelectedChild to getSelectedChild.
5735 Changed getCaption to return an Accessible.
5736 Fixed calls which retrieve attributes.
5737 Changed refAt to getAccessibleAt.
5738 Changed getNSelectedRows and getNSelectedColumns to
5742 Changed getCharacterExtents and getPointAtOffset to accept an
5743 AccessibleCoordType.
5745 Changed calls which retrieve attributes.
5746 Changed refRunAttributes to getAttributes.
5751 * idl/Hyperlink.idl:
5752 Changed n_anchors attribute to nAnchors to keep naming
5753 convention consistent.
5756 Made Table inherit from Bonobo::Unknown.
5757 Added nSelectedColumns and nSelectedRows attributes.
5760 Made Value inherit from Bonobo::Unknown.
5762 * libspi/hyperlink.c:
5763 Change for nAnchors attributte name change.
5766 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
5768 implementations-- made server implementations own AtkObject pointers
5769 rather than their respective AtkInterrface pointers to fix
5770 refcounting. AtkHyperlink is still broken.
5772 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5773 * cspi/spi_accessible.c:
5774 Added method Accessible_Role_getName(),
5775 and requisite string array (role_names).
5776 Added conversion string_from_corba_strin() call
5777 to Accessible_getName and _getDescription.
5778 * libspi/accessible.c:
5779 Added implementation for Accessible_getRole()
5781 Added festival support, used if environment variable
5784 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5786 * at-bridge/bridge.c:
5787 Now allocate Accessibility_Event using
5788 Accessibility_Event__alloc() instead of g_new0().
5789 * libspi/accessibleeventlistener.c:
5790 Initialize AccessibleEventListener->callbacks to NULL.
5791 Fixed accessible__event_listener_init() param, changed to
5792 "AccessibleEventListener *" type.
5793 Changed a bonobo_object_release_unref() call to
5794 Accessibility_Accessible_unref().
5795 * libspi/listener.c:
5796 Changed Bonobo_Unknown_unref to (equivalent)
5797 Accessibility_Accessible_unref.
5798 * libspi/registry.c:
5799 Changed bonobo_object_release_unref to
5800 Accessibility_Accessible_unref.
5802 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5805 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5806 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5807 spi-util.c spi-util.h
5808 Implementations for C bindings to remaining accessibility
5811 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5814 changed return value of Action from void to boolean to
5815 bring in line with ATK.
5818 Changed getText funcions to return "out" start and end offsets.
5819 Changed getAttributes to take and offset and return the start
5820 and end offset of the attribute run.
5821 Changed getOffsetAtPoint and getCharacterExtents to take an
5822 enum describing whether coordinates are window or screen.
5825 libspi/action.c libspi/action.h libspi/editabletext.c
5826 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5827 libspi/hypertext.c libspi/hypertext.h libspi/image.c
5828 libspi/image.h libspi/selection.c libspi/selection.h
5829 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
5830 libspi/value.c libspi/value.h
5831 Added server implementations for outstanding ATK interfaces
5832 not yet implemented.
5834 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5837 Added (missing) getName() method.
5838 Made nActions an attribute.
5839 * idl/EditableText.idl:
5840 Changed order of params in setAttributes.
5841 * idl/Hyperlink.idl:
5842 Removed getAnchor, added getURI.
5844 Changed attributes to methods, for efficiency
5845 (so that getting extents can be done in one call)
5846 * idl/Selection.idl:
5847 Changed nSelectedChildren to attribute, and re-indented.
5848 * idl/Table.idl: changed nrows, ncolumns, caption, summary
5850 * idl/Text.idl: reformatted to match our coding style.
5851 (temporarily?) removed getRowColumnAtOffset().
5852 Changed text selection API to support multi-select and
5853 non-contiguous selections, as in ATK.
5854 * idl/Value.idl: changed some methods to attributes.
5856 2001-08-24 Mark McLoughlin <mark@skynet.ie>
5858 * libspi/listener.c(impl_notify_event):
5859 BonoboUnkown_unref the source instead
5860 of bonobo_object_release_unref - the ORB
5861 handles the releasing.
5863 * configure.in: require ORBit-2.3.94 for
5866 2001-08-21 Bill Haneman <bill.haneman@sun.com>
5868 Tagged CVS repository 'EA_1_0'.
5869 * README.EARLY_ACCESS:
5870 Alphabetized acknowledgements list, and
5872 Listed some known dependencies of at-spi.
5874 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5876 * docs/at-spi-docs.sgml:
5877 * docs/at-spi-sections.txt:
5878 * docs/at-spi-overrides.txt: (Added zero-length file)
5879 Documentation improvements - gtk-doc should build
5880 docs for all implemented C bindings now.
5883 * cspi/spi.c: (New file)
5884 * cspi/spi_event.c: (New file)
5885 * cspi/spi_registry.c: (New file)
5886 * cspi/spi_accessible.c: (New file)
5887 * cspi/spi_application.c: (New file)
5888 * cspi/spi_component.c: (New file)
5889 Split spi_main.c into six parts, and included them from
5890 "spi.c". This is a bit of a hack, probably temporary,
5891 but required by gtk-doc, apparently.
5893 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5896 * docs/at-spi-docs.sgml:
5897 * docs/at-spi-sections.txt:
5899 Initial checkins/modifications for gtk-doc generation.
5902 Added (missing) interface query methods to Accessible's C binding.
5904 Added GenericInterface type definition.
5906 Added query for AccessibleComponent interface to focus event handler.
5907 Added printout of bounding box for focussed component.
5908 * libspi/component.c:
5909 Added partial implementation for AccessibleComponent to C binding.
5910 * idl/Application.idl:
5911 * libspi/registry.c:
5912 * libspi/listener.c:
5913 * libspi/application.c:
5914 * libspi/application.h:
5915 Changed "ID" attribute type from string to long.
5917 2001-08-19 Bill Haneman <bill.haneman@sun.com>
5921 Made method naming consistent: methods taking object args
5922 start with uppercase, other methods (except those using
5923 acronyms) start with lowercase. Underscores delimit between
5924 object names and method names:
5925 SPI_init() - uppercase since it starts with an acronym.
5926 getDesktopCount () - lowercase start since no object param0.
5927 Accessible_getName() - uppercase object type name, studlyCaps method
5931 Added gtk-doc documentation for all currently implemented
5932 methods in the C bindings API.
5934 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5936 * Makefile.am : changed build order to build test last.
5939 Changed "createEventListener" to "CreateEventListener".
5940 * libspi/accessibleeventlistener.c :
5941 Bugfix for addition of callbacks.
5942 * test/Makefile.am :
5943 * test/simple-at.c :
5944 Added new test that uses the C bindings API.
5946 * libspi/listener.c :
5947 * libspi/registry.c :
5948 * libspi/accessibleeventlistener.c :
5949 * at-bridge/bridge.c :
5950 Renamed member "target" of Accessibility_Event to "source",
5951 which is more descriptive.
5954 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5958 * cspi/Makefile.am :
5959 Added makefile support for at-spi/cspi directory.
5962 * cspi/spi-listener.h : (NEW FILE)
5963 Added support for/use of spi-listener.h.
5965 C bindings now build successfully, with no warnings.
5966 * libspi/accessibleeventlistener.h : (NEW FILE)
5967 * libspi/accessibleeventlistener.c : (NEW FILE)
5968 * libspi/Makefile.am :
5969 Added new object type "AccessibleEventListener"
5970 which inherits from Listener, and allows attachment
5971 of in-process callbacks (so that a client with a listening
5972 object instance can add functionality to the local
5973 implementation, dynamically).
5975 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5977 * libspi/accessible.c:
5978 Add implementation for get_index_in_parent().
5980 Added #include of "spi-roletypes.h", and
5981 added enumerated type AccessibleCoordType.
5982 Added definition for KeystrokeListener (function type).
5985 * cspi/spi-statetypes.h :
5986 * cspi/spi-roletypes.h :
5988 Added these headers, used by spi.h.
5990 Added code (NOTE: not yet built by make).
5992 2001-08-18 Mark McLoughlin <mark@skynet.ie>
5994 * libspi/Makefile.am: generate imodule
5995 at the same time as other idl compiler
5998 2001-08-17 Bill Haneman <bill.haneman@sun.com>
5999 * libspi/registry.c :
6000 * libspi/application.c :
6001 * idl/Application.idl :
6002 Made registration with toolkit an application method,
6003 which is required since each app has its own toolkit static
6004 environment. Thus the bridge must register for
6005 notification of toolkit events from each application in turn.
6006 Toolkit notifications are now successfully registered for, and
6007 sent to the listening at client.
6009 Changed toolkit event string to use hyphens rather than underscores.
6010 * libspi/listener.c :
6011 listner now gives more info in debug mode - it reports the
6012 name of the event received, as well as the name of the source.
6015 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6017 * libspi/registry.c :
6018 added more implementation for toolkit events.
6019 Fixed bug such that toolkit event registrations
6020 (via atk) use the whole event name string, not
6022 Removed a useless call to an ORBit_ method.
6023 * at-bridge/bridge.c :
6024 Removed unused local sbuf[] variable.
6026 We now register for Gtk:GtkWidget:button_press_event
6027 events as well as "focus:" events.
6029 Add some more API from Registry.idl that was missing,
6030 for keystroke listening, keystroke and mouse event
6031 synthesis, and enumeration of accessible desktops.
6033 2001-08-16 Michael Meeks <michael@ximian.com>
6035 * configure.in: use AM_GLIB_GNU_GETTEXT.
6037 * Makefile.am (SUBDIRS): kill intl.
6039 2001-08-15 Michael Meeks <michael@ximian.com>
6041 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6043 * configure.in: upd.
6045 * configure.in: depend on a recent bonobo-activation that
6046 will find our server files ...
6048 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6050 * libspi/accessible.c : accessible_new() :
6051 Now we add the Component interface via bonobo_object_add_interface,
6052 if the contained AtkObject implements AtkComponent.
6053 * libspi/accessible.h : now include "component.h"
6054 * libspi/component.h :
6055 * libspi/component.c : added files - implementation of
6056 bonobo wrapper object for Accessibility/Component
6057 * libspi/listener.c :
6058 Added test code to check for Accessibility/Component:1.0
6059 interface and report whether it is implemented by the
6061 * libspi/registry.c :
6062 Now we check for not only the hash of the whole event
6063 string before relaying the event, we also check the
6064 "minor" event string (without the detail string).
6065 This allows event listeners to be registered against
6066 all events of a certain major+minor type, or just
6067 against a specific major+minor+detail type.
6068 * libspi/accessible.c :
6069 Added implementations for Accessible:get_parent(),
6070 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6071 * libspi/registry.c :
6072 * libspi/listener.c :
6073 Replaced calls to Accessibility_Accessible_ref() and
6074 Accessibility_Accessible_unref() with
6075 calls to bonobo_object_dup_ref() and
6076 bonobo_object_release_unref(), so that the CORBA object
6077 is dup-ed and released when relayed, as well as the bonobo object.
6079 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6081 * libspi/Makefile.am,
6082 registryd/Makefile.am,
6083 at-bridge/Makefile.am.
6084 test/Makefile.am, configure.in:
6085 reverse previous changes.
6087 * /idl/Image.idl: fix typo.
6089 * test/Makefile.am: put DEBUG_FLAGS
6092 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6094 * test/app.c: use argv[0] instead of
6097 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6099 * libspi/Makefile.am,
6100 registryd/Makefile.am,
6101 at-bridge/Makefile.am.
6102 test/Makefile.am, configure.in:
6103 cleanup, replace individual LIBS/CFLAGS with
6104 AT_COMMON_{LIBS|CFLAGS}.
6108 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6110 * configure.in, libspi/Makefile.am:
6111 Change IDL path checking for bonobo-activation
6114 2001-08-15 Bill Haneman <bill.haneman@sun.com>
6116 * registryd/registry.c : separated event listeners to use
6117 3 separate lists (focus, window, toolkit). Began testing
6118 event names against hashes before relaying events.
6119 * test/at.c : now register for events of type "focus:"
6120 * test/app.c : now generate events of type "focus:"
6121 * at-bridge/bridge.c : register with ATK for focus events,
6122 and we now relay those focus events to any "focus:" listeners.
6123 This now works with the bridge as a GTK_MODULE when running test/at.
6124 * libspi/registry.c :
6125 * libspi/listener.c :
6126 now we ref event sources before propagating, and unref on receipt.
6127 * libspi/registry.c :
6128 some changes to internal structs, to support event typestring hashes.
6129 * text/app.c : changed the way the appname is generated.
6130 * cspi : added directory that will hold the C bindings library for
6131 non-CORBA/bonobo-savvy clients.
6132 * cspi/spi.h : header file that contains the function prototypes for the C binding.
6133 * idl/Component.idl : added in parameter to indicate coord system for
6134 geometry-related calls.
6135 * idl/Hyperlink.idl : added readonly n_links attribute
6136 * idl/Image.idl : changed methods to attributes.
6138 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6140 * at-bridge/Makefile.am: link against
6141 ../libspi/libspi.la instead of -lspi.
6143 * at-spi/test/app.c: include
6144 bonobo-activation.h. Use a default appname
6145 if one is not provided.
6147 2001-08-14 Bill Haneman <bill.haneman@sun.com>
6149 * idl/Registry.idl : temporarily changed register_Application
6150 to oneway, to work around issue with initial registration
6152 * idl/Application.idl : changed attribute "id" from readonly
6153 to read-write, since it needs to be assigned by Registry.
6154 * registryd/registryd.c : added call to set application id
6156 * registryd/registry.c : changed de-registration procedure to
6157 use CORBA_Object_hash() to find matching object ref in application
6158 lists and listener lists.
6159 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6160 began distinguishing between event types (work in progress).
6162 2001-08-13 Bill Haneman <bill.haneman@sun.com>
6165 * libspi/application.c:
6166 Added implementations for get/set id, get_toolkitName,
6168 * registryd/registryd.c :
6172 Converted from use of OAF to bonobo-activation.
6173 * libspi/desktop.h :
6174 * libspi/desktop.c :
6176 Removed references to atksimpleobject, since base atkobject
6177 implementation now provides functionality we need.
6178 * libspi/atksimpleobject.c :
6179 * libspi/atksimpleobject.h :
6184 * at-bridge/Makefile.am
6185 * at-bridge/bridge.c
6188 Added directory "bridge" and contents, and added dependencies
6189 in Makefile.am/configure.in.
6190 Initial checkin of "at-bridge".
6191 This code is a GTK_MODULE which automatically registers
6192 GTK+ apps with the accessibility registry, using an object
6193 reference to the root ATK object.
6195 2001-08-10 Mark McLoughlin <mark@skynet.ie>
6197 * po/Makefile.in.in: Remove. Again. If this
6198 doesn't get autogenerated - you need to update
6201 2001-08-07 Mark McLoughlin <mark@skynet.ie>
6203 * po/Makefile.in.in: Add. Again.
6205 2001-07-31 Bill Haneman <bill.haneman@sun.com>
6207 * libspi/accessible.c : added support for 'description' property.
6208 * libspi/accessible.c
6210 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6211 (since the two are now equivalent in libbonobo)
6219 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6220 Bonobo::Unknown as does Accessibility::Accessible.
6221 * idl/StreamableContent.idl : as above, and replaced internal InputStream
6222 interface with Bonobo::Stream, since it was redundant with it.
6223 (The Stream returned by a StreamableContext object is expected to
6224 implement only a subset of Bonobo::Stream)
6226 2001-07-28 Anders Carlsson <andersca@gnome.org>
6228 * libspi/accessible.c (accessible_object_finalize): Change
6229 g_free to g_object_unref since the AtkObject is a GObject.
6231 2001-07-30 Bill Haneman <bill.haneman@sun.com>
6233 * idl/Accessibility.idl: add new IDL files
6236 * idl/Action.idl: Definitions of actionable UI object
6237 * idl/Component.idl: Definitions of UI component geometry, etc.
6238 * idl/Hyperlink.idl: Defs of hyperlink behavior
6239 * idl/Image.idl: Def of accessible image
6240 * idl/Selection.idl: Definition of UI object with selectable children
6241 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6242 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6243 * idl/Text.idl: Interface defs for UI elements with complex textual content
6244 * idl/Value.idl: Definition of UI element that is a value controller or display
6246 2001-07-27 Michael Meeks <michael@ximian.com>
6248 * po/Makefile.in.in: remove autogenerated file from CVS.
6250 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6253 * idl/Registry.idl: include guard.
6255 * idl/Accessibility.idl: Add, and include all the other IDL
6258 * idl/*.idl: remove mass of pragmas etc.
6260 2001-07-26 Michael Meeks <michael@ximian.com>
6262 * registryd/Makefile.am (registryd_SOURCES): remove
6265 2001-07-27 Mark McLoughlin <mark@skynet.ie>
6267 * libspi/.cvsignore, registryd/.cvsignore,
6268 test/.cvsignore: updated.
6270 * po/Makefile.in.in: gettext update.
6272 2001-07-25 Bill Haneman <bill.haneman@sun.com>
6274 * initial CVS checkin
6276 2001-06-29 Michael Meeks <michael@ximian.com>
6278 * configure.in: add AM_CONFIG_HEADER to gen config.h