1 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
3 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
4 number of signal parameter values before accessing them. This fixes
7 2003-04-01 Bill Haneman <bill.haneman@sun.com>
9 * configure.in: Fixed duplicate inclusion of -lspi.
10 * branched for gnome-2-2/HEAD.
11 [created tag "gnome-2-2"]
13 2003-03-07 Bill Haneman <bill.haneman@sun.com>
15 * configure.in: 1.1.9 release.
18 2003-03-07 Bill Haneman <bill.haneman@sun.com>
20 [needed by GOK, to fix bugs 107985 and 107988]
21 * registryd/deviceeventcontroller.c:
22 (spi_dec_clear_unlatch_pending):
23 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
24 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
25 (spi_dec_init_mouse_listener):Emit warning if mouse button
27 (spi_device_event_controller_forward_mouse_event):
28 Removed unnecessary parens from a conditional.
29 (global_filter_fn):Added TODO comment.
30 (impl_generate_keyboard_event):
31 Cancel a pending relatch if a 'delatching' key was
34 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
36 * atk-bridge/bridge.c:
37 Change atk_signal_child_changed to atk_signal_children_changed.
38 Reorganize code in spi_atk_bridge_signal_listener().
40 * test/event-listener-test.c:
41 Add children_changed_listener and report_children_changed_event()
42 to test AccessibleChildEvent_getChildAccessible.
44 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
46 * cspi/spi_event.c (cspi_internal_event_get_text): Change
47 g_strdup to CORBA_String_dup (bug #105291)
49 * test/event-listener-test.c (report_text_event): Add call to
52 2003-02-28 Bill Haneman <bill.haneman@sun.com>
54 * registryd/deviceeventcontroller.c:
55 (spi_keystroke_from_x_key_event):
56 Fix string and keysym return codes to match modifier state.
59 2003-02-28 Bill Haneman <bill.haneman@sun.com>
61 * registryd/deviceeventcontroller.c:
62 (spi_keystroke_from_x_key_event):
63 Fix segv due to improper use of isprint(c). [bug #107254]
65 2003-02-24 Bill Haneman <bill.haneman@sun.com>
68 (get_accessible_text_boundary_type):
69 Move default return value to (new) default case in switch.
70 (get_accessible_text_clip_type):
71 Move default return value to (new) default case in switch.
73 * libspi/application.c:
74 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
75 Remove unused methods.
76 (impl_accessibility_application_register_object_event_listener):
77 Remove unused methods.
80 Added #include of <math.h>.
82 * registryd/deviceeventcontroller.c:
83 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
84 we don't currently use this method.
85 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
87 (impl_generate_key_event):
88 Remove unused variables.
89 (impl_generate_mouse_event):
90 Initialize button to zero, just in case we get an invalid
91 input. Added support for mouse buttons 4 and 5.
92 (spi_device_event_controller_new):
93 Removed unused variable declaration for 'private'.
95 Added #include of <gdk/gdk.h>
97 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
99 * configure.in: Update to work when X is not installed in expected
100 location. Fixes bug #105836.
102 * atk-bridge/bridge.c
103 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
105 (spi_atk_register_event_listener): Add signal listener for
107 (spi_atk_bridge_signal_listener): Event event when link-selected
108 signal is emitted. (bug #104622)
110 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
111 on returned string. (bug #105291)
113 * test/event-listener-test.c: Add test for link-selected.
115 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
117 * atk-bridge/Makefile.am: Correct typo in previous commit.
119 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
121 * atk-bridge/Makefile.am: Allow for build directory to be different
122 from source directory
124 * registryd/Makefile.am: Allow for build directory to be different
125 from source directory
129 2003-01-29 Bill Haneman <bill.haneman@sun.com>
132 Fixed dependencies for libcspi so that libspi gets pulled in
133 properly. Fixes 104741.
137 Clean up inline docs a little.
139 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
141 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
142 This is done by implementing AtkComponent for SpiAtkDesktop, which is
143 the AtkObject within an SpiDesktop.
144 This addresses bug #101524.
146 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
147 Remove call to gdk_init().
149 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
150 so that Display is set when SpiDesktop is created.
152 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
154 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
155 This fixes bug #102830.
157 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
159 * test/test-simple.c: Update to take account of fact that GailButton
160 now implements AtkText.
161 (create_text_window): Set name on AtkObject for GtkEntry.
162 (validate_accessible): Check accessible name before calling test_text().
164 * libspi/Makefile.am: Fix problem with building outside of source
165 directory. Bug #98120.
167 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
168 typo in documentation comments. Bug #94275.
170 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
172 * libspi/text.c (impl_getBoundedRanges): Bug fix.
174 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
177 Add includes to avoid compiler warnings on Solaris.
178 (impl_getRangeExtents): Bug fix.
180 2002-12-17 Bill Haneman <bill.haneman@sun.com>
182 Fix for 100944, [API addition approved by Gman and murrayc].
189 * idl/Accessibility_Text.idl:
190 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
191 (Text::getRangeExtents): New method for efficient
192 bounds query of a text range.
193 (Text::getBoundedRanges): New method for efficient
194 clipping of text to bounding boxes.
195 (unImplemented7, unImplemented8):
196 Removed these padding methods to preserve bincompat.
199 (impl_getRangeExtents): implementation of new IDL.
200 (impl_getBoundedRanges): implementation of new IDL.
201 (SpiTextRect): Internal use struct.
202 (_spi_text_rect_union): internal method, calculates union of two
203 SpiTextRect bounding rects.
204 (_spi_text_range_seq_from_gslist): internal method, allows us
205 to build our sequence efficiently as a gslist then convert it
207 (_spi_bounds_contain): internal method, determines whether
208 a text character is "in" or "out" of a clip rect according to
209 values of TEXT_CLIP_TYPE.
210 (spi_text_class_init): Initialize the new methods in the epv.
213 (AccessibleTextClipType): New enum used by screen review api.
214 (AccessibleTextRange): New struct used by screen review api.
215 (AccessibleText_getRangeExtents):
216 cspi binding for Accessibility_Text_getRangeExtents.
217 (AccessibleText_getBoundedRanges):
218 cspi binding for Accessibility_Text_getBoundedRanges.
219 (AccessibleTextRange_freeRanges): convenience method.
222 (AccessibleText_getRangeExtents):
223 cspi binding for Accessibility_Text_getRangeExtents.
224 (AccessibleText_getBoundedRanges):
225 cspi binding for Accessibility_Text_getBoundedRanges.
226 (AccessibleTextRange_freeRanges): convenience method.
227 (get_accessible_text_clip_type): internal conversion method.
228 (get_accessible_text_ranges_from_range_seq): internal conversion method.
230 * registryd/deviceeventcontroller.c:
231 (spi_dec_mouse_check):
232 Improved behavior for mouse:abs events
233 [same granularity as mouse:rel events, and no
234 events when mouse is idle].
236 2002-12-16 Michael Meeks <michael@ximian.com>
238 * cspi/spi_accessible.c (spi_state_to_corba): rename.
240 * libspi/stateset.c (state_spi_to_atk): split out
241 ( fix several remote array bounds nasties )
242 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
243 (impl_remove): make safe from array bounds issues.
244 (spi_atk_state_from_spi_state): impl.
246 * libspi/stateset.h (spi_state_set_cache_is_empty):
247 add a set of wrapper defines to get layering right.
249 * cspi/spi_accessible.c: update state set stuff to
252 2002-12-14 Michael Meeks <michael@ximian.com>
254 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
255 to avoid 2 roundtrips to the registry per key event
256 (spi_atk_bridge_key_listener): upd.
257 (deregister_application): release the dec.
259 * registryd/registry.c (notify_listeners_cb):
260 bin lots of re-enterant complexity - we no longer
261 do a round-trip bonobo ref here, ensure that a single
262 listener's exception failure won't poison all other
264 (impl_registry_notify_event): bin obvious memory leak.
266 2002-12-13 Michael Meeks <michael@ximian.com>
268 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
269 init the ev so the error is meaningful.
270 (spi_atk_bridge_key_listener): ditto.
272 * cspi/spi_main.c (cspi_ev): init the ev so we start
273 with a clean slate, otherwise the first exception
276 * cspi/spi_text.c (get_accessible_text_boundary_type):
277 add a fallthrough for no warnings.
279 * cspi/spi_registry.c: prune unused warnings.
281 * cspi/spi_main.c (cspi_object_take): fix
282 mind-blowing brokenness ( by watching the compile
285 * cspi/spi_accessible.c (Accessible_getStateSet):
286 re-impl. to use an AtkStateSet.
287 (spi_state_type_from_accessible_state),
288 (init_state_table): bin these.
290 * libspi/stateset.c (spi_atk_state_set_from_sequence):
292 (atk_state_set_from_accessibility_state_set): here.
294 * cspi/spi_accessible.c (spi_state_to_atk): impl.
295 (AccessibleStateSet_contains, AccessibleStateSet_ref),
296 (AccessibleStateSet_unref, AccessibleStateSet_contains),
297 (AccessibleStateSet_add, AccessibleStateSet_remove),
298 (AccessibleStateSet_equals, AccessibleStateSet_compare),
299 (AccessibleStateSet_isEmpty): re-write to use a local
302 2002-12-13 Bill Haneman <bill.haneman@sun.com>
304 * configure.in: Revved to 1.1.7 (new keymask vals).
306 2002-12-10 Bill Haneman <bill.haneman@sun.com>
309 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
311 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
314 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
315 to compare two CORBA_TypeCodes.
316 (cspi_internal_event_add): Silence warning from FORTE compiler.
318 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
319 avoid implicit declaration of functions.
321 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
323 * atk-bridge/bridge.c:
324 (spi_atk_bridge_init_event_type_consts): Store signal id for
325 active-descendant-changed signal.
326 (spi_atk_register_event_listeners): Add signal listener for
327 active-descendant-changed signal,
328 (spi_atk_bridge_signal_listener): Move code in function
329 spi_atk-signal_emit_event() into this function.
330 Add support for active-descendant-changed
331 Update support for child-changed signal.
332 (spi_bridge_window_event_listener): Silence warning.
334 * libspi/spi_private.[ch]:
335 (spi_init_any_object): Change second parameter from CORBA_Object to
337 Omit call to CORBA_Object_duplicate().
338 Set CORBA_any's _value to CORBA_Object*.
340 2002-12-06 Bill Haneman <bill.haneman@sun.com>
346 (AccessibleEvent_ref, AccessibleEvent_unref):
347 New methods, for persisting an event outside the emission context.
348 Must be used if the new accessor methods are to be called
349 outside of the event listener's callback.
351 * cspi/bonobo/cspi-bonobo.c:
352 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
353 as second parameter instead of NULL, so we can call
354 cspi_check_ev afterwards.
357 (cspi_object_take): New internal method,
358 converts a CORBA_Object reference to a hard ref on
359 an Accessible if possible, returning NULL if the object
360 reference is invalid or an Accessible * otherwise.
363 (AccessibleEvent_ref):
364 Increment the event's internal private refcount, and
365 add the event's internal struct to an internal cache
366 if it's not already there.
367 (AccessibleEvent_unref):
368 Decrement the event's refcount and remove it from
369 the cspi event cache if refcount==0.
370 (cspi_event_compare): New private method.
371 Compares two event structs via their ids. Used
373 (cspi_internal_event_lookup): New private method.
374 (cspi_internal_event_check): New private method,
375 a 0-order sanity check for events to make sure their
376 private data is intact.
377 (cspi_internal_event_add, cspi_internal_event_remove):
378 New private methods for managiing the event cache.
380 * cspi/bonobo/cspi-bonobo-listener.c:
382 Initialize the new private data elements (id, magic, ref_count).
384 * atk-bridge/bridge.c:
385 (spi_atk_bridge_signal_listener):
386 Fixed bug #100530, passing wrong params to emission func.
388 * registryd/deviceeventcontroller.c:
389 (spi_dec_button_update_and_emit):
390 Fixed type in mask bit operations; fix for #99799.
392 2002-12-02 Bill Haneman <bill.haneman@sun.com>
394 Removed some of the more dangerous workarounds from
395 previous commit; they are only needed by GOK, which
396 in reality should be using another method to accomplish
397 the goals. So on reconsideration some of the workarounds
400 * registryd/deviceeventcontroller.c:
401 (spi_keycodes_contain, spi_dec_init_keycode_list):
402 Removed these methods, used only by a nasty hack to try
403 and detect whether a key synthesis should be allowed
404 to reset the XKB latch state or not. This code was only
405 required to work around an interaction between GOK,
406 button events, and XKB.
407 (impl_generate_key_event):
408 Removed hack at end of key generation that tried to
409 "do the right thing" if XKB latch keys were generated
410 in the midst of button press/release pairs.
413 Added a check for HAVE_XINPUT. Not normally used yet.
415 2002-11-25 Bill Haneman <bill.haneman@sun.com>
417 Workarounds and fixes for mouse event/XKB interaction.
419 * registryd/deviceeventcontroller.c:
420 (spi_keycodes_contain, spi_dec_init_keycode_list):
421 New internal methods.
422 (spi_dec_set_unlatch_pending):
423 Split the method that tells XKB to expect an
424 unlatch (and revert it) out of the rest of the
425 event handling code. This method is called by the
426 two mouse event handlers (the poll and the filter).
427 (spi_dec_update_and_emit, spi_dec_mouse_check):
428 New methods split from spi_dec_poll_mouse_moved.
429 The second one is now called from inside the filterFn
430 when an XKB delatch event is received, to determine
431 whether to revert the delatch or not.
432 (spi_poll_mouse_moved): Refactor; also we can now
433 properly handle the case where multiple button states
434 have changed between polling cycles and we didn't get
435 notified due to another client's grab.
437 Synchronize the server while handling an XKB notification.
438 Ugly, but apparently necessary to avoid nasty races.
439 Check the mouse state on receipt of an XKB latch change,
440 to decide whether to revert the latch or not. (Latches are
441 reverted if there is an immediately preceding mouse button
442 event that a client has consumed, in which case we don't want
443 the user to see the side-effect of the event).
444 (spi_device_event_controller_forward_mouse_event):
445 Check for modifier events and fire before resetting mouse_mask_state,
446 prevents losing modifier events.
448 (impl_generate_keyboard_event):
449 If we've just generated a keyboard event for a non-shift key,
450 we don't want to revert the pending XKB latch.
451 Otherwise, check the modifier state (via a call to
452 spi_dev_mouse_check) and set the relatch mask to
453 that state before returning.
455 2002-11-24 Bill Haneman <bill.haneman@sun.com>
458 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
461 * atk-bridge/bridge.c:
462 (spi_atk_register_event_listeners):
463 Don't re-register for ATK events if the registry has died
464 and the app needs to re-register; the ATK listeners are in
465 process and doing so will cause duplicate emission.
467 * registryd/deviceeventcontroller.c:
468 (spi_poll_mouse_moved):
469 Reformat the source, detect and emit multiple button-change
470 events (i.e. if multiple buttons have changed between poll
472 Add code to detect mouse-down events even when the pointer
473 is grabbed; workaround for GOK bug 98420.
474 (spi_controller_register_with_devices):
475 Call XTestGrabControl with 'impervious' flag set to True,
476 allows us to synthesize events and query the pointer even during
477 an active grab by another client.
478 (spi_device_event_controller_forward_mouse_event):
479 Set the mouse_mask_state to the mouse_button_state from
480 the intercepted event, to synchronize the grab listener with
483 2002-11-20 Bill Haneman <bill.haneman@sun.com>
485 * cspi/spi_accessible.c:
486 (AccessibleRole_getName):
487 Added necessary strings for making this (deprecated)
488 method work with the new role types.
489 (init_role_table, role_table):
490 Added definition of SPI_ROLE_APPLICATION.
492 * libspi/spi-roletypes.h:
493 Added SPI_ROLE_APPLICATION.
495 * idl/Accessibility_Role.idl:
496 Added ROLE_APPLICATION.
498 * docs/reference/cspi/at-spi-cspi-decl.txt:
499 Added SPI_ROLE_APPLICATION to docs.
501 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
503 * cspi/spi_accessible.c
504 (cspi_init_role_table): Do not write beyond end of role_table.
505 (Accessible_getRole): Use correct type for value returned by
506 Accessibility_Accessible_getRole().
508 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
509 beyond end of role_table. (This fixes bug #98269)
511 * libspi/application.c: Add include file spi-private.h for
512 definition of spi_init_any_nil.
514 2002-11-19 Bill Haneman <bill.haneman@sun.com>
518 * libspi/spi-private.h:
519 Added DGB() macro, and extern int _dbg declaration.
521 * registryd/registry.c:
522 (definitions) storage for _dbg.
524 Get environment variable "AT_SPI_DEBUG".
525 (spi_registry_set_debug):
526 New method, to initialize _dbg value.
527 (spi_listener_struct_new, spi_registry_object_finalize):
528 (notify_listeners_cb):
529 Changed fprintfs to use DBG and g_warning().
531 * registryd/deviceeventcontroller.c:
532 (_deregister_keygrab, spi_controller_register_device_listener):
533 Changed debug/warning messages to use DBG macro.
537 Changed warning messages to use DBG macro and g_warning().
539 * atk-bridge/bridge.c:
540 (atk_bridge_init, spi_atk_bridge_get_registry):
541 (spi_atk_bridge_exit_func):
542 (spi_atk_bridge_property_event_listener):
543 Changed status, warning, and error messages to use
544 g_warning, g_message, and DBG macros.
547 Read the state of the AT_SPI_DEBUG environment variable
548 and set a local '_dbg' accordingly.
550 2002-11-19 Bill Haneman <bill.haneman@sun.com>
552 FIXES for 98836, 98842, other bugs.
555 Revved to 1.1.4, interface-age=4, binary-age=4.
557 * registryd/deviceeventcontroller.c:
559 Fixed crasher bug in last_mouse_pos initialization.
561 * registryd/registry.c:
562 (desktop_add_application, desktop_remove_application):
563 Added (and then commented out) some support for
564 object context marshalling. [TODO]
566 * atk-bridge/bridge.c:
567 (spi_atk_bridge_event_context_create):
568 Commented out object context creation until it can
569 be properly tested and debugged.
571 * registryd/registry.c:
572 (impl_registry_notify_event):
573 Fixed crasher bug, we were calling
574 spi_re_entrant_list_foreach () with an empty list.
576 2002-11-18 Bill Haneman <bill.haneman@sun.com>
578 * idl/Accessibility_Action.idl:
579 * idl/Accessibility_Component.idl:
580 * idl/Accessibility_Desktop.idl:
581 * idl/Accessibility_Event.idl:
582 * idl/Accessibility_Hyperlink.idl:
583 * idl/Accessibility_Image.idl:
584 * idl/Accessibility_Relation.idl:
585 * idl/Accessibility_Selection.idl:
586 * idl/Accessibility_State.idl:
587 * idl/Accessibility_Value.idl:
588 Updated unimplemented slot count to minimum of
589 four for all interfaces, for ABI freeze.
591 * idl/Accessibility_EditableText.idl:
592 * idl/Accessibility_Text.idl:
593 Updated unimplemented slot count to six
596 * idl/Accessibility_Registry.idl:
597 Updated unimplemented slot count to six
598 (also for DeviceEventController),
601 * idl/Accessibility_Table.idl:
602 Updated unimplemented slot count to eight,
605 * idl/Accessibility_Event.idl:
606 Added CORBA_any "any_data" member to Event struct.
608 * idl/Accessibility_Event.idl:
609 Added CORBA_any "any_data" member to Event struct.
611 * atk-bridge/bridge.c:
613 atk_signal_text_changed, atk_signal_child_changed,
614 signal ids queried from gtype system.
615 (AtkBridgeEventContextType): New enum.
616 (AtkBridgeEventContextData): New struct.
617 (AtkBridgeEventContext): New struct.
618 (atk_bridge_init_event_type_consts):
619 New method, initializes type contants for comparison
620 prior to emit_eventv.
621 (atk_bridge_event_context_init): New method,
622 initializes a CORBA_any from an AtkBridgeEventContext.
623 (atk_bridge_focus_tracker): Call spi_init_any_nil to
624 initialize the event.any_data struct.
625 (spi_atk_bridge_event_context_create): New method,
626 creates an AtkBridgeEventContext from signal/event info.
627 (spi_atk_bridge_event_context_free): New method.
628 (spi_atk_emit_eventv): Changed to take an
629 AtkBridgeEventContext parameter. We now initialize
630 the event.any_data member prior to notifying the
631 Registry, via the AtkBridgeEventContext.
632 (spi_atk_bridge_property_event_listener):
633 (spi_atk_bridge_state_event_listener):
634 Match emit_eventv signature.
635 (spi_atk_bridge_object_event_listener):
636 Match emit_eventv signature, and create an
637 event context from the event details.
638 Free the event context afterwards.
639 (spi_atk_bridge_window_event_listener):
640 Create an event context, pass it to the
644 (AccessibleEvent_getContextString):
645 (AccessibleEvent_getContextObject):
646 New methods, allow query of AccessibleEvent objects
647 for more context details (via the "any_data" member
648 of the Event struct, above).
651 Definitions for AccessibleEvent_getContextString
652 and AccessibleEvent_getContextObject.
654 * cspi/spi_listener.h:
655 (InternalEvent): New struct.
658 (AccessibleEvent_getContextString):
659 (AccessibleEvent_getContextObject):
660 Implementations of new methods, for obtaining
661 additional context information from some event types.
663 * cspi/spi_registry.c:
664 (SPI_registerGlobalEventListener):
665 Added mention of active-descendant-changed event in docs.
667 * cspi/cspi-bonobo-listener.c:
669 Marshal the any into the AccessibleEvent via
672 * libspi/spi-private.h:
673 #include <orbit/orbit.h>
675 (spi_init_any_string):
676 (spi_init_any_object):
677 New convenience function declarations.
681 (spi_init_any_string):
682 (spi_init_any_object):
683 New convenience function implementations.
685 * registryd/deviceeventcontroller.c:
686 (spi_poll_dec_mouse_moved):
687 (spi_device_event_controller_forward_mous_event):
688 Initialize any_data member of event.
689 (spi_deregister_controller_device_listener):
690 Fix incorrect param pass which was preventing deregistration.
692 * registryd/registry.c:
693 (desktop_add_application):
694 (desktop_remove_application):
695 Add object data to event's any_data before dispatch.
697 Fix for error messages from GAIL.
699 * test/event-listener-test.c:
700 Test new ContextString and "any_data" API:
701 (report_text_event): New method query and output context string.
702 (main): register a new text listener with report_text_event
705 2002-11-19 Darren Kenny <darren.kenny@sun.com>
707 Fixes for bugs 98127 and 97914.
708 * cspi/spi-roletypes.h:
709 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
711 * cspi/spi-statetypes.h:
712 Added SPI_STATE_MANAGES_DESCENDANTS
714 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
715 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
716 * cspi/spi_accessible.c:
717 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
718 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
719 Accessibility_STATE_MANAGES_DESCENDANTS
720 * libspi/accessible.c:
721 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
722 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
723 As requested by Bill, I also cleaned up the alignment.
725 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
726 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
728 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
729 Accessibility_STATE_MANAGES_DESCENDANTS
730 * docs/reference/cspi/tmpl/spi_accessible.sgml:
731 Document changes reflecting modifications to roles.
732 * docs/reference/cspi/tmpl/spi_relation.sgml:
733 Document changes reflecting modifications to relations.
734 * docs/reference/cspi/tmpl/spi_stateset.sgml:
735 Document changes reflecting modifications to states.
737 2002-11-17 Bill Haneman <bill.haneman@sun.com>
740 Revved to 1.1.3, interface-age=3, binary-age=3.
744 Removed accessx-gui from the tests, since we have a nice
745 keyboard accessibility capplet now :-)
747 * test/keysynth-demo.c:
748 (increment_scan): removed do-nothing default: case,
751 * test/visual-bell.c:
752 (main) : removed do-nothing default: case,
756 (AccessibleAction_getKeyBinding_):
757 Documented keybinding string format.
761 (AccessibleText_getAttributes):
762 Documented the text attribute string format.
763 It's changed to use semicolon delimiters also,
764 to prevent clashes with CSS attributes, but the old
765 trick of looking for ", " strings will still work
766 (as unreliably as ever). Fix for bug related to 97916.
769 Include <cspi/bonobo/cspi-bonobo-listener.h>
771 (SPI_freeAccessibleKeySet):
772 (AccessibleKeystrokeListener_addCallback):
773 (AccessibleKeystrokeListener_removeCallback):
774 Modify to use AccessibleDeviceListener API internally,
775 instead of AccessibleKeystrokeListener.
777 * idl/Accessibility_Event.idl:
778 Added two more empty slots to EventListener (for a total of four).
780 * idl/Accessibility_Accessible.idl:
781 Added four empty slots to Accessible interface.
783 2002-11-15 Bill Haneman <bill.haneman@sun.com>
785 * idl/Accessibility_Registry.idl:
786 (KeyEventType, EventType):
787 Marked KeyEventType as deprecated; it duplicates
788 functionality of EventType, which has been extended to
789 include Mouse-button events.
790 (KeyEventTypeSeq): defined in terms of EventType.
791 (registerDeviceEventListener, deregisterDeviceEventListener):
792 New methods, for managing listeners to device events,
793 which potentially may consume them.
796 Added definition for AccessibleDeviceListener.
798 * cspi/spi-listener.h:
799 (enum AccessibleDeviceEventType):
800 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
801 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
802 for backwards compat.
803 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
804 and typedef'd AccessibleKeystroke to it for back-compat.
805 (AccessibleDeviceListenerCB):
806 New function prototype typedef.
809 (AccessibleDeviceEventMask): New typedef.
810 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
811 (AccessibleKeyMaskType):
812 Set equivalent to AccessibleModifierMaskType for back-compat.
813 (SPI_createAccessibleKeystrokeListener):
814 (AccessibleKeystrokeListener_unref):
815 Deprecated in favor of equivalent (better-named) new API below..
816 keystroke listeners are like all device listeners.
817 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
818 New API names for old features :-).
819 (AccessibleDeviceListener_addCallback):
820 (AccessibleDeviceListener_removeCallback):
821 (SPI_registerDeviceEventListener):
822 (SPI_deregisterDeviceEventListener):
826 (SPI_createAccessibleKeystrokeListener):
827 Use new preferred API, cspi_device_listener_new() and
828 cspi_device_listener_add_cb().
829 (AccessibleKeystrokeListener_removeCallback):
830 Use new preferred API, cspi_device_listener_remove_cb().
831 (AccessibleKeystrokeListener_unref):
832 Use new preferred API, cspi_device_listener_unref().
833 (SPI_createAccessibleDeviceListener):
834 (AccessibleDeviceListener_addCallback):
835 (AccessibleDeviceListener_removeCallback):
836 Implementation of new API.
838 * cspi/spi_registry.c:
839 (SPI_registerDeviceEventListener):
840 (SPI_deregisterDeviceEventListener):
841 Implementation of new API. Fixed memory leak and removed need to
842 allocate EventTypeSeq (thanks Michael for catching this).
843 Squashed a wayward CORBA_exception_free that shouldn't get called.
845 * cspi/bonobo/cspi-bonobo-listener.c:
847 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
848 (cspi_key_event): renamed to cspi_device_event().
849 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
850 Extended to handle mouse button events as well as key events.
851 (CSpiKeystrokeListener):
852 Class superceded by CSpiDeviceListener.
853 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
854 These internal APIs changed to "*device_listener" from "*keystroke_listener".
856 * cspi/bonobo/cspi-bonobo-listener.h:
857 (CSpiKeystrokeListener):
858 Class superceded by CSpiDeviceListener.
859 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
860 These internal APIs changed to "*device_listener" from "*keystroke_listener".
862 * libspi/Makefile.am:
863 Replaced keystrokelistener.h and keystrokelistener.c
864 with devicelistener.h and devicelistener.c; keystrokelisener.h
865 stub retained for back-compat.
867 * libspi/keystrokelistener.c:
871 Replaced inclusion of keystrokelistener.h with devicelistener.h.
873 * registryd/deviceeventcontroller.c:
874 (DEControllerListener): Added Accessibility_EventTypeSeq member.
875 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
876 (DEControllerPrivateData): Added xkb settings data.
877 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
878 button release events (which can't be captured via XGrabButton).
879 Don't dispatch via the 'normal' event mechanism if the device event was
881 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
882 Handle the typeseq data in its new location (see above).
883 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
884 New methods, for "generic" device listeners.
885 (spi_controller_register_device_listener):
886 Now handle mouse event listeners as well as key listeners.
887 (spi_controller_notify_mouselisteners):
889 (spi_device_event_controller_forward_mouse_event):
890 Now we notify mouse device listeners as well as generating the
891 non-consumable "mouse:" events.
893 We must check and restore the XKB
894 modifier map if we consume the event, since the act of triggering
895 a mouse event will normally reset the XKB latch. This is required for
897 (spi_controller_register_with_devices):
898 Load the XKB settings when registering, and register for XKB
900 (spi_key_eventtype_seq_contains_event):
901 Renamed spi_eventtype_seq_contains_event, since it's used
902 internally for all device event types now.
903 (spi_key_event_matches_listener):
904 Uses spi_eventtype_seq_contains_event now.
905 (spi_device_event_controller_object_finalize):
906 Free the private data and the XkbKeyboard struct.
907 (impl_register_device_listener, impl_deregister_device_listener):
908 Implementation of new IDL.
909 (spi_deregister_controller_device_listener):
911 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
912 More efficient implementation, we don't have to create a new
913 XkbControls structure every time we query.
914 (spi_device_event_controller_class_init):
915 Initialize the epv entries for the new IDL. Assign the
916 "spi-dec-private" quark.
917 (spi_device_event_controller_init):
918 Initialize the private data.
919 (spi_device_event_controller_forward_key_event):
920 Removed a bogus CORBA_exception_free() call.
922 * registryd/deviceeventcontroller.h:
923 Replaced inclusion of keystrokelistener.h with
926 * test/event-listener-test.c:
927 (report_mouse_event):
930 Added mouse-event device listener.
932 * test/test-simple.c:
933 (create_test_window):
934 Fixed regression (we were instantiating a GtkRange,
935 which is now an abstract class). Also fixed to match
936 existing AtkRole names, this seems to have changed in ATK
937 awhile ago; too late now I think, and the new
938 mechanism is at least elegant and consistent with the
939 glib enum "nick" APIs.
941 2002-11-15 Darren Kenny <darren.kenny@sun.com>
943 * idl/Accessibility_Relation.idl:
944 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
945 RELATION_EMBEDS,RELATION_EMBEDDED_BY
946 * idl/Accessibility_Role.idl:
947 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
948 * idl/Accessibility_State.idl:
949 add STATE_MANAGES_DESCENDANTS
950 * test/event-listener-test.c:
951 Added a listener for active-descendant events.
953 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
955 * atk-bridge/bridge.c
956 (atk_bridge_init): If application is Bonobo component wait until top
957 level is added before registering
958 (spi_atk_bridge_do_registration): New function which contains code,
959 formerly in atk_bridge_init, to do application registration.
960 (spi_atk_bridge_toplevel_added): Signal called when top level
961 added to Bonobo component
963 This fixes bug #83134.
965 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
967 * registryd/deviceeventcontroller.c
968 Fixed compilation error caused by calling gettimeofday()
971 2002-10-18 Bill Haneman <bill.haneman@sun.com>
976 Added template for HAVE_XKB.
979 Changes to check for XKB, and to set the HAVE_XKB #define if it
983 ()impl_notify_event): Make failure to get event source name
986 * registryd/deviceeventcontroller.c:
987 (#include): include X11/XKBlib.h.
988 (DEControllerPrivateData) : New struct.
989 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
991 (dec_synth_keycode_press) (dec_synth_keycode_release):
992 New methods; split the key synthesis code into these methods.
993 They check XKB settings before determining the "time" values to
994 pass to Xtest; this fixes bug #95828.
995 (impl_generate_keyboard_event): Changed to use methods above,
996 instead of callng Xtest directly.
997 (spi_device_event_controller_init): Initialize new privae struct s
999 (spi_device_event_controllr_object_finalize):
1000 Free the (new) private data.
1002 * registryd/deviceeventcontroller.h:
1003 Add new gpointer to end of struct data.
1005 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1008 Incremented revision to 1.1.2, SONAME is still '.so', library
1009 extensions are ".so.0.0.2".
1011 * registryd/deviceeventcontroller.c:
1012 FIXES FOR #93592 and #95940.
1013 (statics): renamed mouse_button_state to mouse_mask_state,
1014 added key_modifier_mask.
1015 (spi_dec_poll_mouse_moved):
1016 Added key modifier checks, and emit "keyboard:modifiers"
1017 events when the key modifiers currently in use change.
1018 Also generate "mouse:abs" events periodically, even if the mouse
1019 is stationary (should we?).
1020 Alternatively we could generate "mouse:abs" events for either all
1021 mouse movements, or every 'nth' mouse movement, or at the
1022 beginning and end of every "active" mouse period.
1024 * test/event-listener-test.c:
1025 (main): Added listener for "keyboard:modifiers" events.
1027 2002-10-15 Bill Haneman <bill.haneman@sun.com>
1029 * libspi/keymasks.h:
1030 Added key mask #defines for mouse buttons; e.g.
1031 SPI_KEYMASK_BUTTON1, etc.
1034 Incremented dependency on ATK to version 1.1.0. (This dependency
1035 is probably premature but will soon be real enough).
1037 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
1039 * libspi/hyperlink.[ch]
1040 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
1041 (get_hyperlink_from_servant): Check object is AtkHyperlink not
1044 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
1049 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
1051 * registryd/deviceeventcontroller.c
1052 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
1053 events to be ignored.
1054 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
1055 keyboard_mode so that XAllowEvents() can be called.
1059 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
1061 * cspi/spi-accessible.c: Correct names of roles returned by
1062 AccessibleRole_getName(). Fixes bug #95055.
1064 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
1066 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
1069 * registryd/registry.c
1070 (desktop_remove_application: Write diagnostic message to stderr for
1073 (impl_accessibility_registry_deregister_global_event_listener):
1074 Correct size of lists array. This addresses bug #94555).
1076 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
1078 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
1081 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
1083 * registryd/Makefile: Add CLEANFILES so that .server file is removed
1086 * registryd/registry.c (impl_registry_notify_event): Remove
1087 unnecessary call to parser_event_type().
1089 * docs/reference/cspi/tmpl/spi_component.sgml:
1090 Add reference to SPI_LAYER_WINDOW.
1092 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
1094 * registryd/registry.c
1095 (desktop_add_application): Remove leak.
1096 (desktop_remove_application): Remove leak.
1097 (parser_event_type): Remove leak.
1099 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
1101 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1102 bogus call to CORBA_string_dup(). Also removed unnecessary
1103 g_string_dup/g_free calls.
1105 2002-09-13 Bill Haneman <bill.haneman@sun.com>
1107 * registryd/deviceeventcontroller.c:
1108 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1110 * test/event-listener-test.c:
1111 main: commented out three redundant listeners, to reduce output
1112 noise. (They still are potentially useful for testing).
1115 2002-09-13 Michael Meeks <michael@ximian.com>
1117 * Update all the copyrights to include Ximian.
1119 2002-09-06 Mark McLoughlin <mark@skynet.ie>
1121 * cspi/spi.h: add SPI_LAYER_WINDOW.
1123 * cspi/spi_component.c: (AccessibleComponent_getLayer):
1124 add Accessibility_LAYER_WINDOW case.
1126 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1128 * libspi/component.c: (impl_accessibility_component_get_layer):
1129 add ATK_LAYER_WINDOW case.
1131 2002-08-28 Bill Haneman <bill.haneman@sun.com>
1133 * configure.in: incremented micro version.
1135 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1137 2002-08-20 Bill Haneman <bill.haneman@sun.com>
1140 Clarified and reworded our commit policy.
1143 Started an API "todo" addition list for 2.2.
1146 (impl_getSelection):
1147 Free char pointer from atk_text_get_selection, which was being leaked.
1149 2002-08-19 Bill Haneman <bill.haneman@sun.com>
1152 Small revision to author acknowledgement.
1154 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1156 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1157 If signal has detail add it to the type of the event.
1160 2002-08-12 Michael Meeks <michael@ximian.com>
1162 * test/test-simple.c (global_listener_cb): bin bogosity.
1163 (test_keylisteners): disable, still doesn't work reliably,
1164 certainly not on my system anyway.
1166 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1167 don't leak a reference on the DEC. This round-trip
1168 fetching of the DEC per keystroke sucks, it should be
1171 * cspi/spi-private.h,
1172 * cspi/cspi-lowlevel.h,
1173 * cspi/bonobo/cspi-bonobo-listener.[ch],
1174 * cspi/bonobo/cspi-bonobo.c: get the copyright
1175 notices better - there is still a large amount of
1176 work in at-spi falsely attributed solely to Sun.
1178 * cspi/spi_main.c (cspi_object_ref): kill bogus
1179 hash lookup, just increment the ref.
1180 (SPI_freeString): make explicit the fact that we
1181 handle NULL strings just fine.
1182 (report_leaked_ref): obey coding standards.
1183 (cspi_object_hash, cspi_object_equal): kill retval.
1184 (cspi_object_release): only release if not on loan.
1185 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1186 (cspi_object_borrow, cspi_object_return): impl.
1188 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1189 use cspi_object_borrow / return.
1191 2002-08-12 Darren Kenny <darren.kenny@sun.com>
1193 * cspi/bonobo/cspi-bonobo-listener.c:
1195 Don't call cspi_oject_new() because this is creating a new Accessible
1196 every single time that an event is fired. This causes ATs like at-poke
1197 to nolonger recognise the source of the event and thus ignore it.
1198 Re-use the object from the cache, ref it and then unref it after the
1199 listeners have been called.
1201 2002-08-06 Darren Kenny <darren.kenny@sun.com>
1203 * test/event-listener-test.c:
1204 Added command-line options to disable mouse events (m) and
1207 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
1209 * configure.in: Update required versions of ATK, GTK+ and GAIL
1211 * cspi-1.0.pc.in: Add dependency for X include files
1214 * cspi/bonobo/Makefile.am:
1215 Add $(X_CFLAGS) so that X include files
1216 are picked up even if not in standard place (bug #71686)
1218 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1220 * registryd/deviceeventcontroller.c: fix for 84261
1221 (spi_dec_mouse_moved):
1222 Added test of mouse button mask, so that we can detect mouse
1223 button release. Unfortunately we can't otherwise detect mouse
1224 button release events without consuming the mouse press event,
1225 because of the way XGrabButton works. This means that our mouse
1226 release events have a latency dependent on the polling period
1227 while the mouse button is down. At least in this case we only
1228 have to poll while the button is down, and not at other times.
1229 If the button masks don't match with what the last press event
1230 reported, we report the appropriate button release event.
1231 (spi_dec_ungrab_mouse):
1232 New method (not yet called).
1233 (spi_device_event_controller_forward_mouse_event):
1234 New method, sends mouse press event from GdkFilter.
1235 (spi_dec_init_mouse_listener):
1236 Added code to call XGrabButton, redirecting mouse button events to
1237 the root window and our Gdk event loop.
1239 Added code to filter mouse button events, and reordered.
1241 * test/event-listener-test.c:
1243 Added registration for mouse events of type "mouse:button".
1245 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1247 * registryd/deviceeventcontroller.c: partial fix for 84261
1248 (spi_dec_poll_mouse_idle):
1249 New method, a timeout which checks to see if the mouse
1251 (spi_dec_poll_mouse_moving):
1252 A timeout to be called when mouse motion is underway.
1253 (spi_dec_poll_mouse_moved):
1254 A method which fires an event if the mouse has moved, and reports
1255 whether or not it did so.
1256 (spi_dec_init_mouse_listener):
1257 A method which sets up the timeouts above.
1258 (spi_device_event_controller_new):
1259 Now calls spi_dec_init_mouse_listener.
1261 * registryd/registry.c:
1262 (spi_registry_init):
1263 Now we initialize the device event controller when the registry is
1264 initialized, instead of waiting until a client has requested a key
1265 event notification; this is because we need the event controller
1266 for mouse events, but the mouse event registration API is a
1267 "registry" call and doesn't explicitly call the
1268 deviceeventcontroller.
1269 We now report mouse motion events with a 100 ms idle latency and
1270 a 20 ms granularity when motion is in progress.
1272 * test/event-listener-test.c:
1274 We now register the "detail listener" for events of type
1275 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1276 delivered only for the first mouse event received, and thereafter
1277 "mouse:abs" events are delivered.)
1279 * cspi/spi_registry.c:
1280 DOCS: Documented the above mouse event typestrings.
1282 2002-06-21 Bill Haneman <bill.haneman@sun.com>
1284 Happy Summer Solstice...
1286 * registryd/deviceeventcontroller.c: [fix for bug 84100]
1287 (spi_controller_notify_keylisteners):
1288 Changes to remove a listener from the listener list, freeing its
1289 open keygrabs, if a notification to that listener fails. This
1290 means that although a dead listener can continue to hold a passive
1291 keygrab, a maximum of one dispatch to such a listener can fail
1292 before the listener is removed from the list, thus the keygrab
1293 will be released on the next occurrence.
1294 As part of this fix:
1295 (spi_notify_keylisteners):
1296 Renamed to spi_controller_notify_keylisteners, as the controller
1297 instance must now be passed as an argument.
1298 The copied 'notify' GList is now a list of DEControllerKeyListener
1299 objects, since we need more than just the CORBA reference if a
1300 notify fails and we need to deregister the listener.
1301 (impl_notify_listeners_sync):
1302 (impl_notify_listeners_async):
1303 (spi_device_event_controller_forward_key_event):
1304 Modify use of notify_keylisteners in accordance with above
1306 (spi_deregister_controller_key_listener):
1307 New method introduced by refactoring, from
1308 impl_deregister_keystroke_listener.
1309 (impl_deregister_keystroke_listener):
1310 Call spi_deregister_controller_key_listener.
1311 (spi_key_listener_clone):
1312 New method to copy a key listner without doing a 'ref' on the
1313 remote object instance; used to create a notifier list.
1314 (spi_key_listener_data_free):
1315 New method, frees data without unreffing the source.
1317 (spi_key_listener_clone_free): new method.
1318 (spi_key_listener_free):
1319 refactored to call spi_key_listener_data_free.
1321 2002-06-20 Bill Haneman <bill.haneman@sun.com>
1323 * registryd/registry.c: [fix for bug 86048]
1324 (notify_listeners_cb):
1325 Clear CORBA system exceptions which occur when notifying
1326 listeners, before returning to the source of the original event,
1327 since the event source doesn't care if the relayed notify failed.
1328 In other words, don't complain to the atk-bridge if the registry
1329 could not notify all its listeners, that's no fault of the
1330 application and thus should not appear to be an error from the
1331 application's perspective.
1333 * cspi/spi_main.c: [fix for bug 85980]
1335 Replaced use of bonobo_object_dup_ref with call to the wrapper
1336 method, csou_dup_ref (); this silences a compiler warning and
1337 provided more portability.
1339 Ping the registry before return, and restart if necessary.
1341 * cspi/bonobo/cspi-bonobo.c:
1343 New internal method.
1345 Fixed this method to return an object reference, as it should have
1348 * cspi/cspi-lowlevel.h:
1349 Added internal definition for cspi_ping() and fixed
1350 return type of cspi_dup_ref().
1353 2002-06-19 Bill Haneman <bill.haneman@sun.com>
1355 * atk-bridge/bridge.c: [fix for bug 85305]
1356 (spi_atk_bridge_register_application):
1357 New method where the initial application registry calls have been
1358 moved; it allows an application to re-register in response to
1359 certain error conditions (such as a registry restart, see below).
1361 Moved some initialization code to the method
1362 spi_atk_bridge_get_registry, below.
1363 (spi_atk_bridge_get_registry):
1364 New, private accessor function for the Accessibility_Registry
1365 instance. If the registry has not been started before, or has
1366 died (as detected by failure of a CORBA exception), it is
1367 restarted before return, and spi_atk_bridge_register_application
1368 is called again to register with the new bridge instance.
1369 (spi_atk_emit_eventv):
1370 Set registry_died on error; use spi_atk_bridge_get_registry () to
1371 access the registry.
1373 * registryd/registry.c:
1374 (impl_accessibility_registry_register_global_event_listener):
1375 Set listener's event_type_quark to etype.minor instead of
1376 etype.major (fix for bug 84856).
1378 * test/event-listener-test.c:
1379 (report_detail_event):
1380 Change the output string so that user/tester can tell that the
1381 'detail listener' was called instead of the 'generic listener'.
1383 2002-06-18 Bill Haneman <bill.haneman@sun.com>
1385 Fixes for bugs 84900, 84908, 84897, 84898.
1390 Revved version to 1.1.0
1391 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
1392 version is going to HEAD which will be used for gnome-2-0-1 and later.)
1394 * idl/Accessibility_Registry.idl:
1395 (EventListener::notifyEvent):
1396 Removed 'oneway' directive after extensive consulation with
1397 ORBit2 team and others. This means also that unref() of the event
1398 source can and should be done synchronously after emission, rather
1399 than remotely in the client, after servicing the notify call on
1402 NOTE: This change speeds up listener performance considerably, but
1403 introduces new latency on the application side. We may want to
1404 add an event queue to the atk-bridge.
1406 * atk-bridge/bridge.c:
1407 (spi_atk_bridge_focus_tracker):
1408 Do a local unref() on the event source after emission.
1410 * registryd/registry.c:
1411 (desktop_remove_application):
1412 Do an unref() on the event source after emission.
1413 (desktop_add_application):
1414 Do an unref() on the event source after emission.
1415 (notify_listeners_cb):
1416 When relaying an event, don't automatically add the event source
1417 to the local object cache, just CORBA_dup it instead. Likewise,
1418 if this method reenters, release the ref rather than calling
1420 (impl_registry_notify_event):
1421 No longer call remote unref() on the event source after dispatch.
1423 * libspi/eventlistener.c:
1424 (impl_accessible_event_notify_event):
1425 Removed remote unref ()
1427 * cspi/bonobo/cspi-bonobo-listener.c:
1429 We now call cspi_object_new() instead of cspi_object_add() on
1430 receipt of an event; thus we only have an implicit object ref
1431 while the cspi_event method is being executed. If we need to keep
1432 a reference to the object, the listener must call ref() on the
1433 object. Thus also we don't need to call cspi_object_unref() after
1434 invoking the listener callbacks in this method.
1438 New internal API for creating a new cspi object, without adding it
1439 to the object cache.
1441 Now uses cspi_object_new() to create the cspi object instance.
1443 Now checks to see if the object is in the internal object cache,
1444 and adds it if necessary before incrementing its refcount (note
1445 that new objects are added with a refcount of 1).
1446 (report_leaked_ref):
1447 New method which gives some information on leaked object instances
1448 if leak detection is turned on.
1450 * test/event-listener-test.c:
1451 (timing_test_event):
1452 New method, used for testing event delivery timing for special
1453 events of type "object:test". It reports elapsed time and
1454 events/sec every 500 events.
1456 Added a new listener, 'test listener', to check timing of event
1457 receipt as noted above.
1459 Added some timing output here also, reports elapsed time every 100
1462 * test/stress-test.c:
1463 Emit events of type "object:test", for use with "event-listener-test".
1465 * test/test-simple.c:
1466 (global_listener_cb):
1467 Call Accessible_ref() on the event source before calling
1468 validate_accessible, since the validation process does pointer
1469 comparisons on the event source, meaning that the event source
1470 needs to be added to the local object cache first. Any use of
1471 such pointer comparisons between Accessible objects requires that
1472 the caller hold an explicit reference to those objects.
1473 We also must therefore call Accessible_unref() when leaving this method.
1475 2002-06-13 Bill Haneman <bill.haneman@sun.com>
1477 * registryd/deviceeventcontroller.c:
1478 (spi_controller_update_key_grabs):
1479 Fix for #84735, subsequent keygrab listeners not informed of
1480 registration failure.
1483 (spi_base_construct):
1484 Add an assertion on construct, to make sure the GObject passed in
1485 is really a GObject.
1487 Explicitly initialize object->gobj pointer to NULL;
1489 * cspi/bonobo/cspi-bonobo-listener.c:
1490 (cspi_object_add_ref):
1491 New method, can specify whether to dup-ref a bonobo object passed
1492 in if it's newly added to the object cache.
1494 Now calls cspi_object_add_ref with second param of "FALSE". This
1495 prevents us from doing a pointless dup-ref followed by
1496 release-unref for all those cases where the object is already in
1497 our object cache (fix for #85205).
1499 * atk-bridge/bridge.c:
1500 (spi_atk_bridge_idle_init):
1501 Removed this method, we don't need to initialize in an idle
1504 Changed to call spi_atk_register_event_listeners directly, not via an
1505 idle handler. (fix for #81139)
1506 (gnome_accessibility_module_shutdown):
1507 Removed conditional around deregistration of listeners, since we
1508 don't use the idle handler and thus have always registered when
1510 (spi_init_keystroke_from_atk_key_event):
1511 Changed references to Accessibility_KEY_PRESSED to
1512 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
1514 2002-06-12 Bill Haneman <bill.haneman@sun.com>
1516 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
1521 * test/stress-test.c:
1524 (may have been an incomplete commit yesterday?)
1526 2002-06-12 Bill Haneman <bill.haneman@sun.com>
1529 Added target for new stress-test.
1531 * test/stress-test.c:
1532 New test, sends 1000 focus notifies in quick succession.
1534 * test/key-listener-test.c:
1535 Now we report whether a keylistener registration
1536 request succeeded or failed.
1538 * test/event-listener-test.c:
1539 Uncommented some listeners which are now implemented.
1542 2002-06-06 Bill Haneman <bill.haneman@sun.com>
1544 * registryd/deviceeventcontroller.c:
1545 (spi_controller_update_key_grabs):
1546 Fix for #82509, lack of failure notification when
1547 ALL_WINDOWS keygrabs fail due to XGrabKey
1548 failure: we synchronize the server when
1549 registering a passive grab, to make sure we get the
1550 error message before the call returns.
1552 2002-06-03 Bill Haneman <bill.haneman@sun.com>
1554 * test/test-simple.c:
1556 Removed #ifdef KEY_IMPL_WORKS guards.
1557 (test_keylisteners):
1558 Removed #ifdef KEY_IMPL_WORKS guards.
1559 Fixed bug which was causing a hang waiting for a
1560 "press" event (which was already overwritten by a "release"
1561 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
1563 Added code to set globals 'key_press_received' and
1564 'key_release_received'.
1567 Added section "1.1 API Proposed Additions" which
1568 lists API additions desired for at-spi-1.1 (only one so far).
1569 Updated TODO list a little.
1571 2002-06-02 Bill Haneman <bill.haneman@sun.com>
1573 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
1576 * configure.in: Revved to 1.0.0.
1578 * idl/Accessibility_Registry.idl:
1579 (registerKeystrokeListener):
1580 Added boolean return value.
1582 * registryd/registry.c:
1583 (notify_listeners_cb): Minor fix to debug output.
1585 * registryd/Accessibility_Registry.server.in.in:
1586 Revved version number in OAFIID to 1.0.
1588 * registryd/registryd.c:
1590 Use new OAFIID version.
1592 * cspi/bonobo/cspi-bonobo.c:
1594 Use new OAFIID version.
1600 * atk-bridge/bridge.c:
1602 Use new OAFIID version.
1604 * registryd/deviceeventcontroller.c:
1605 (impl_register_keystroke_listener):
1606 Added CORBA_boolean return value.
1607 (spi_controller_register_device_listener):
1608 Added gboolean return value.
1609 (spi_controller_register_global_keygrabs):
1610 Added gboolean return value.
1611 (spi_key_set_contains_key):
1612 Added implementation for many more control keys,
1613 for instance F1-F12, arrow keys, End, Home, Page_Up,
1615 [TODO: some still not implemented].
1617 * text/screen-review-test.c:
1618 (text_chunk_pad_string):
1619 New function: it provides mapping between coordinate
1620 positions of text chunks and character positions in the
1621 screen-review-line output string.
1622 (text_chunk_to_string):
1623 New function, calls text_chunk_pad_string with various
1624 pad/delimiter characters. Pushbuttons are delimited with
1625 square brackets, Frames with vertical 'pipe' lines, and
1626 other text with double quotes.
1627 (text_chunk_list_to_string):
1628 Calls new function text_chunk_to_string.
1629 (toplevel_composite):
1630 New function to composite layers CANVAS through
1631 POPUP in each toplevel (other layers are composited
1632 across toplevels, i.e. BACKGROUND and OVERLAY).
1633 (review_buffer_composite):
1634 Revise to use new methods.
1640 2002-05-31 Laszlo Peter <laca@sun.com>
1642 * configure.in: add the Xtst libdir to the runpath on Solaris,
1643 since it's not in the default library search path.
1645 2002-05-29 jacob berkman <jacob@ximian.com>
1647 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
1649 2002-05-29 Bill Haneman <bill.haneman@sun.com>
1651 * test/screen-review-test.c:
1652 (text_chunk_pad_string):
1653 Added method, which pads the string according to the
1654 text bounds of the chunk. It also takes a 3-character
1655 string as a param which indicates the characters to be
1656 used for start, padding, and end delimitation of the chunk.
1657 (text_chunk_to_string):
1658 Changed to use text_chunk_pad_string.
1660 * configure.in: Fixed bug in AC_OUTPUT that was
1661 causing path substitution in Accessibility_Registry.server
1664 2002-05-23 Bill Haneman <bill.haneman@sun.com>
1666 * text/screen-review-test.c:
1667 (guess_string_clip):
1668 New method which attempts a best-guess at clipping
1669 text from components (like Java labels) which don't
1670 actually implement AccessibleText. This inaccurate
1671 clip is based on the assumption that the label is
1672 justified left-and-right, and monospaced.
1673 (text_chunk_get_clipped_string):
1674 We now call guess_string_clip() for text-containing
1675 components that don't implement AccessibleText.
1677 * test/screen-review-test.c:
1678 (review_buffer_get_text_chunk):
1679 We now pull "name" from labels if they do not implement
1680 AccessibleText (i.e. for Java labels).
1681 (get_screen_review_line_at):
1682 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
1685 Replaceded AC_OUTPUT target
1686 registryd/Accessibility_Registry.server with
1687 registryd/Accessibility_Registry.server.in.
1689 * registryd/Accessibility_Registry.server.in:
1690 Removed (this is now a Makefile target).
1692 * registryd/Accessibility_Registry.server.in.in:
1693 Added (source for target above). We now use $(libexecdir) as
1694 prefix for the executable at-spi-registryd.
1696 * registry/Makefile.am:
1697 Now install at-spi-registryd into $(libexecdir), and build .server
1698 file with path (see above).
1700 2002-05-22 Bill Haneman <bill.haneman@sun.com>
1702 * test/screen-review-test.c:
1703 (text_chunk_get_clipped_string):
1704 We now check to see if words fall within clip bounds
1705 before resorting to character-by-character clip bounds testing.
1707 * TODO: Added a section for "2.2 Proposed API Additions".
1709 2002-05-21 Bill Haneman <bill.haneman@sun.com>
1711 * test/screen-review-test.c:
1713 Added a screen review benchmarking and test program to test
1716 * cspi/spi_accessible.c:
1718 Made some of the debug strings passed to cspi_check_ev a
1719 little more specific.
1721 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
1723 * test/screen-review-test.c: Fix crashes in debug statements
1725 2002-05-20 Bill Haneman <bill.haneman@sun.com>
1727 * test/screen-review-test.c: Added this file.
1729 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1731 * atk-bridge/bridge.c: changed "object:state-change" to
1732 "object:state-changed" to match docs.
1734 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1736 * atk-bridge/bridge.c: Hooked up state-change event details.
1738 2002-05-11 Bill Haneman <bill.haneman@sun.com>
1740 * registryd/registry.c:
1741 Fixed quarking bug in event string parsing; now events with
1742 detail parameters get matched correctly to listeners.
1745 * util/idl/Magnifier.idl: remove.
1747 * util/*.[ch]: Remove.
1748 Magnification utilities and IDL are now in module gnome-mag.
1750 2002-05-10 Bill Haneman <bill.haneman@sun.com>
1752 * registryd/deviceeventcontroller.c:
1753 Fixed bug in grab key conversion which was causing keycode grabs
1754 to be converted to AnyKey grabs.
1757 updated NEWS file to reflect recent spin-off of gnome-mag.
1759 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
1761 * cspi/spi_accessible.c: Added exception checks. Fixed completely
1762 busted AccessibleStateSet_compare. Removed redundant casts.
1764 * cspi/spi-action.c: Removed redundant casts.
1766 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
1768 * cspi/spi_component.c: Fixed typos and casting error.
1770 * cspi/spi_editabletext.c: Removed redundant casts.
1772 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
1774 * cspi/spi_hypertext.c: Eliminated redundant casts.
1776 * cspi/spi_image.c: Eliminated redundant casts.
1778 * cspi/spi_registry.c: Eliminated redundant casts.
1779 SPI_deregisterGlobalEventListenerAll () removed retval variable.
1780 * cspi/spi_selection.c: Removed redundant casts.
1781 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
1782 handling. Screen geometry and text offsets were being returned as 0
1783 on error which is technically valid-- changed these to return -1.
1784 Added marshaller for text boundary types to fix bug with boundary
1785 types being passed incorrectly to atk.
1787 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1790 * cspi/spi_registry.c:
1791 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
1792 which was uncovered by the recent key changes.
1794 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1796 * test/event-listener-test.c:
1798 Added new test, "event-listener-test";
1799 this code does two things; it benchmarks traversal time
1800 for the accessible hierarchy for the first running accessible
1801 app, and it connects listeners for all supported event types.
1802 It is thus useful as an example event listener and for
1803 diagnostics/debugging of event generation.
1805 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1808 Removed unnecessary dependency on libutil.
1811 Revved micro version: 0.13.1
1813 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1816 Removed util/Makefile from targets.
1819 Removed util subdir from SUBDIRS (temporarily,
1820 pending removal of magnifier-only code
1824 #ifdef-ed out magnifier dependencies, since
1825 magnifier IDL, headers, and binary now live in
1826 module gnome-mag and we don't want at-spi to depend
1827 on gnome-mag. A magnifier demo which can run alongside
1828 simple-at is forthcoming in the gnome-mag module.
1830 NOTE: Split magnifier binary, IDL, and magnification
1831 activation code from at-spi into module gnome-mag.
1833 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
1835 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
1836 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
1838 2002-05-03 Bill Haneman <bill.haneman@sun.com>
1841 Revved to version 0.13.0
1843 * idl/Accessibility_Registry.idl:
1844 Changed definition of KeySet from sequence of longs to sequence of
1845 KeyDefinitions, and added KeyDefinition struct.
1846 Required for fix to bug 80616.
1848 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
1849 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
1850 to use new definition (see above).
1852 * registryd/deviceeventcontroller.c: handle_keygrab(),
1853 spi_keyset_contains_key():
1854 Changed to make use of new struct; this allows matching based on
1855 string key-name, for instance "Tab". This also allows matching of
1856 composed characters, non-alphanumeric characters in a way that
1857 doesn't involve dependencies on X keysym codes directly, etc.
1859 * test/key-listener-test.c:
1860 Added test for Alt-Tab key using "string" specification of keyset,
1861 and modified one of the tests to use a keycode-based keyset.
1862 Thus this test both tests and demonstrates the creation and use of
1863 keysets of three forms: specified via keycode array,
1864 keysym array, and string array. (The string case only contains a
1865 single string, i.e. a string array of length 1).
1868 Turned on PRINT_TREE option by default. Also fixed a
1869 string-freeing bug in the PRINT_TREE code.
1870 Added a listener to window:minimize events.
1872 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
1874 * atk-bridge/bridge.c:
1875 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
1876 for window:activate and window:deactiveate
1877 (atk_bridge_property_event_listener atk_bridge_signal_listener
1878 atk_bridge_window_event_listener) Tidy debug code
1880 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
1882 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
1883 Fixed handling for NULL return value from ATK.
1885 * libspi/action.c libspi/component.c libspi/editabletext.
1886 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
1887 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
1888 Removed redundant casts.
1890 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
1891 Fixed off by one bug.
1893 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
1894 function not present in idl)
1896 2002-05-02 jacob berkman <jacob@ximian.com>
1898 * atk-bridge/Makefile.am: make atk-bridge a real module
1900 2002-04-26 Radek Doulik <rodo@ximian.com>
1902 * libspi/stateset.c (spi_init_state_type_tables): fix size of
1903 atk_state_types table
1905 2002-04-22 jacob berkman <jacob@ximian.com>
1908 * libspi/Makefile.am: add deps on the built files to help
1909 automake, and don't version the ORBit typelib
1911 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
1913 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
1914 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
1915 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
1916 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
1917 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
1918 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
1919 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
1920 libspi/accessible.h libspi/accessible.h libspi/base.h
1921 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
1922 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
1923 libspi/relation.h libspi/remoteobject.h libspi/selection.h
1924 libspi/spi-private.h libspi/statetset.h libspi/table.h
1925 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
1926 util/mag_client.h util/mag_control.c util/mag_image.c
1927 util/mag_image.h util/magnifier.c util/magnifier.h:
1928 Add missing file headers; standardize existing ones
1930 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
1932 * atk-bridge/bridge.c: Added window event support.
1934 2002-04-18 Michael Meeks <michael@ximian.com>
1936 * libspi/relation.c (impl_getNTargets): impl.
1937 (impl_getTarget): impl.
1939 * libspi/Makefile.am: fix stateset install.
1941 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1944 Started putting useful info in this file.
1946 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
1948 * atk-bridge/bridge.c:
1949 Propagate state-changed notifications to ATs
1951 * cspi/spi_registry.c: update docs to reflect actual behavior of
1952 state-change events.
1954 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1957 Incremented version to 0.12.1
1959 * util/mag_client.h:
1960 Add missing declaration for magnifier_exit,
1961 used by mag_control.c - Forte compiler didn't like
1962 the implicit redeclaration of the function :-(
1965 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1968 Revved version to 0.12 due to API change (see below).
1970 * cspi/spi-roletypes.h:
1971 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
1972 definition from the inline docs, and added docs
1973 for SPI_ROLE_LAST_DEFINED.
1976 * cspi/spi_streamablecontent.c:
1977 Added missing seek_type parameter to
1978 (so far unused) method,
1979 AccessibleStreamableContent_seek().
1980 [ RT approval JodyG. ]
1983 Fixed docs for SPI_createAccessibleKeystrokeListener.
1985 * cspi/spi_registry.c:
1986 Fixed docs for SPI_KEYSET_ALL_KEYS.
1988 * docs/reference/cspi/at-spi-cspi-sections.txt:
1989 Added a number of missing APIs to SECTIONS.
1991 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1993 * registryd/Makefile.am:
1995 * cspi/bonobo/Makefile.am:
1996 Add $(X_LIBS) to makefiles.
1998 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2001 Revved version to 0.11.
2003 * libspi/component.c:
2004 Added implementation for grabFocus.
2006 * idl/Accessibility_Component.idl
2007 (Accessibility_Component_grabFocus):
2008 Made this method return boolean to indicate success or failure, to
2009 be consistent with cspi and the corresponding ATK method.
2011 * idl/Accessibility_Selection.idl
2012 (Accessibility_Selection_selectAll) :
2013 Made these methods return boolean to indicate success or
2014 failure, to be consistent with cspi and the corresponding ATK methods.
2016 * idl/Accessibility_EditableText.idl
2017 (Accessibility_EditableText_setTextContents,
2018 Accessibility_EditableText_insertText,
2019 Accessibility_EditableText_cutText,
2020 Accessibility_EditableText_deleteText,
2021 Accessibility_EditableText_pasteText):
2022 Made these methods return boolean to indicate
2025 * cspi/spi_editabletext.c:
2026 Made these methods return booleans.
2028 * libspi/selection.c:
2029 * libspi/component.c:
2030 * libspi/editabletext.c:
2031 Connected the boolean returns from ATK
2032 to the server-side code referenced above.
2034 2002-04-14 Bill Haneman <bill.haneman@sun.com>
2036 * idl/Accessibility_Table.idl: Added missing methods,
2037 Accessibility_Table_addRowSelection,
2038 Accessibility_Table_addColumnSelection,
2039 Accessibility_Table_removeRowSelection,
2040 Accessibility_Table_removeColumnSelection.
2043 Added C wrappers for above IDL:
2044 AccessibleTable_addRowSelection,
2045 AccessibleTable_addColumnSelection,
2046 AccessibleTable_removeRowSelection,
2047 AccessibleTable_removeColumnSelection.
2050 Added server-side implementation code for IDL above, connecting
2051 to pre-existing ATK api.
2053 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
2055 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
2057 * libspi/accessible.c: Added implementation fo
2058 Accessibility_Accessible_get_state.
2060 * libspi/libspi.h: Added stateset.h to the list of includes.
2062 * libspi/stateset.c: Fixed broken implementation.
2064 2002-04-13 Bill Haneman <bill.haneman@sun.com>
2067 Added implementation code for Accessibility_Magnifier_exit ().
2069 * util/mag_control.c:
2070 Added test code for above method; you can
2071 now kill an existing magnifier via
2072 ./mag_control q, from the util directory.
2074 * test/key-listener-test.c:
2076 Added a new test, for our key listener API.
2078 2002-04-11 Bill Haneman <bill.haneman@sun.com>
2080 * test/app.c, test/keysynth-demo.c:
2082 Replace use of snprintf with g_snprintf.
2083 (fix for bugzilla 78249)
2085 2002-03-27 Michael Meeks <michael@ximian.com>
2089 * util/Makefile.am (INCLUDES): fix.
2090 (DONT_DIST_SOURCE): don't distribute the
2093 * libspi/Makefile.am (dist-hook): ditto.
2095 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
2097 * libspi/hypertext.c:
2098 Fix warnings when yelp is used with atk-bridge
2100 2002-03-21 Michael Meeks <michael@ximian.com>
2102 * libspi/application.c (spi_application_new):
2103 use spi_accessible_construct so we use the AtkObject
2106 2002-03-19 Michael Meeks <michael@ximian.com>
2108 * registryd/registry.c (desktop_remove_application),
2109 (desktop_add_application): clean coding style.
2111 * registryd/desktop.c (spi_desktop_remove_application),
2112 (spi_desktop_add_application): kill re-enterency hazards.
2113 (spi_desktop_dispose): remove bogus redundant cast
2114 obscuring bug; fix bug too.
2115 (spi_desktop_init): make the desktop object immortal.
2117 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2120 Added a #define-guarded tree-traversal step
2121 when enumerating the apps (diagnostic tool).
2123 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2125 * idl/Accessibility_Role.idl:
2126 Added ROLE_DRAWING_AREA which seemed to be missing from the
2129 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2131 * cspi/spi-roletypes.h cspi/spi_accessible.c
2132 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2135 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2136 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2137 AT when applications are added and removed from the desktop. This
2138 reverts the previous broken implementation using the backing
2139 AtkObject for the SpiDesktop.
2141 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2143 * registryd/desktop.c: emit the "children-changed::add" and
2144 "children-changed::remove" signals on the backing ATK object for
2145 the desktop so AT can tell when applications are started and shut
2148 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2150 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2152 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2154 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2156 * cspi/spi_accessible.c: Implemented c bindings for stateset support
2158 * cspi/state-types.h: synched with IDL and ATK
2160 2002-03-13 Bill Haneman <bill.haneman@sun.com>
2162 * libspi/accessible.c
2163 (impl_accessibility_accessible_get_child_at_index):
2164 Change return value for g_return_if_fail ()
2165 to CORBA_OBJECT_NIL instead of "0" (!)
2167 * registryd/Makefile.am:
2168 * registryd/Accessibility_Register.server.in:
2169 Changed name of executable, "registryd",
2170 to something more informative:
2173 2002-03-13 Michael Meeks <michael@ximian.com>
2175 * atk-bridge/bridge.c (atk_bridge_init): don't register
2176 if we're in a bonobo-component, rather than a bonobo app.
2178 2002-03-13 Michael Meeks <michael@ximian.com>
2180 * atk-bridge/bridge.c (gtk_module_init): split
2181 out body to (atk_bridge_init): here, since otherwise
2182 we get symbol conflicts and oddness when invoked
2183 from (gnome_accessibility_module_init): here (upd.)
2185 2002-03-11 Bill Haneman <bill.haneman@sun.com>
2188 New file. Explicitly allow "build sheriff" putbacks provided
2189 they are tested on Solaris.
2191 * docs/reference/cspi/Makefile.am:
2192 Added '-' to the "cp" command for index.sgml.
2193 ("patch by thomasvs, soon coming to a GUADEC near you")
2196 Incremented version number (0.9.0) for new release.
2197 Changed macro that checks for popt, to better detect
2198 obsolete versions of popt.
2201 Added X_LIBS to AC_SUBST, for applications
2202 that call Xlib API directly.
2205 2002-03-07 Bill Haneman <bill.haneman@sun.com>
2208 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2211 Fix regression caused by hard-coding major
2212 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2215 * test/test-simple.c (test_editable_text),
2216 (test_test): revert previous change (error was
2217 a regression in gail which is now fixed).
2219 2002-03-04 Michael Meeks <michael@ximian.com>
2221 * test/test-simple.c (test_editable_text),
2222 (test_text): pass G_MAXINT instead of '-1' for
2223 whole string - is this a good thing !?
2225 * cspi/spi_accessible.c
2226 (Accessible_getRelationSet): fix crasher bug
2227 overwriting the end of the array.
2229 * test/test-simple.c (validate_accessible): free,
2230 not g_free returned relation set.
2232 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2234 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2235 implemented stateset support
2237 * idl/Accessibility_State.idl: Made necessary changes to
2238 the IDL to support state sets.
2240 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2242 * registryd/deviceeventcontroller.c:
2243 Added implementation for generateMouseEvent.
2245 * cspi/spi_registry.c:
2246 Connected new implementation for generateMouseEvent
2249 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2252 Incremented revision (but no change in public API
2253 outside of 'utils', which are not installed public yet.)
2255 * libspi/component.c:
2256 Changed to use atk_component API for layers and
2257 mdi_zorder, instead of deprecated atk_object API.
2259 Magnification Utility Enhancements:
2262 Added implementation of createZoomRegion, clearAllZoomRegions,
2263 resizeZoomRegion. Added new commandline argument
2264 "--no-initial-region". Note that clearAllZoomRegions doesn't
2265 unmap the old '0' region as it should (yet), and the other
2266 methods only work when creating/resizing a single region,
2267 which is "region 0".
2268 (Code for multiple region support will be added later.)
2271 Now we raise the magnifier window each time it's refreshed;
2272 this will help keep it on top.
2274 * util/mag_client.h:
2275 Added simple wrappers for above, used by mag_control.
2276 For general use, it's recommended to use the bonobo magnifier
2277 control API directly instead of using these wrappers.
2280 Moved ZoomRegionData from magnifier.c to this file.
2282 * util/mag_control.c:
2283 Added some code to exercise new IDL implementations.
2285 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2287 * libspi/text.c: Provide implementation for getAttributes.
2289 2002-02-04 Bill Haneman <bill.haneman@sun.com>
2292 Incremented revision.
2294 * test/test-simple.c:
2295 Replaced use of deprecated g_main_iteration with
2296 g_main_context_iteration.
2298 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
2301 Incremented revision for desktop alpha 2.
2303 2002-01-28 Mark McLoughlin <mark@skynet.ie>
2305 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2308 * test/simple-at.c: include netinet/in.h.
2310 2002-01-24 Mark McLoughlin <mark@skynet.ie>
2312 * cspi/spi_accessible.c: (Accessible_getRelationSet):
2313 use NULL, not CORBA_OBJECT_NIL.
2315 * libspi/accessible.c:
2316 (impl_accessibility_accessible_get_relation_set):
2317 allocate the sequence correctly.
2319 * libspi/remoteobject.h: kill spi_remote_object_new.
2321 * test/test-simple.c: (validate_accessible): add code
2322 to test relation sets, now all we need is to figure
2323 out how to excercise this code path :/
2325 2002-01-18 Michael Meeks <michael@ximian.com>
2327 * test/test-simple.c
2328 (key_listener_cb): consume the key.
2329 (test_keylisteners): update.
2330 (main): wait for any pending unrefs on events.
2332 * registryd/deviceeventcontroller.c
2333 (spi_controller_update_key_grabs): only re-issue the
2334 grab on a key release.
2335 (spi_device_event_controller_forward_key_event):
2336 refresh the keygrabs before we notify the listeners,
2337 to reduce the X ungrab / re-grab race.
2338 (spi_controller_register_with_devices): remove
2339 XSelectInput - we do that with the gdk_window_ call.
2340 (_spi_controller_device_error_handler): return a value.
2341 s/GDK_DISPLAY/spi_get_display/
2343 2002-01-17 Michael Meeks <michael@ximian.com>
2345 * registryd/deviceeventcontroller.c
2346 (_deregister_keygrab): don't blow out the later
2349 * test/test-simple.c (test_keylisteners): do a
2350 more intelligent validation.
2352 2002-01-14 Michael Meeks <michael@ximian.com>
2354 * atk-bridge/bridge.c
2355 (gnome_accessibility_module_init),
2356 (gnome_accessibility_module_shutdown): impl.
2357 (gtk_module_init): protect vs. double inits.
2358 (add_signal_listener): impl.
2359 (spi_atk_bridge_state_event_listener): kill
2360 (deregister_application): split out of
2361 (spi_atk_bridge_exit_func): here.
2363 2002-01-18 Bill Haneman <bill.haneman@sun.com>
2366 Added caret tracking when using magnifier, and
2367 now use text bounds for focus tracking of text elements, rather than
2368 the component bounds - this is helpful for short text fields in long
2369 table cells, at high magnification.
2371 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2373 * registryd/deviceeventcontroller.c:
2374 Regression fix for keylistener de-registration; global keygrabs
2375 were not being released when deregisterKeystrokeListener was
2376 called in cspi, since
2377 Accessibility_DeviceEventController_deregisterKeystrokeListener
2378 was called with a zero-length keyset. That is because the cspi
2379 method, SPI_deregisterKeystrokeListener, does not take a keyset
2380 parameter but instead should remove all the key grabs held be a
2382 The code in impl_deregister_keystroke_listener was changed to copy
2383 the keylist from the listener instance previously registered with
2384 the DeviceEventController before releasing the grabs.
2386 * registryd/registry.c:
2387 * registryd/deviceeventcontroller.c:
2388 * libspi/spi-private.h:
2390 Changed spelling of "re-enterant" to "re-entrant" globally.
2392 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2394 * test/test-simple.c:
2395 Changed key listeners test - the test was slightly mis-using the
2396 (admittedly poorly documented) SPI_generateKeyboardEvent API.
2397 It now uses '=' as the key event listened to and generated,
2398 relying on a keysym match rather than assuming that keycode 33
2399 is always equal to keysym '!'.
2401 2002-01-15 Bill Haneman <bill.haneman@sun.com>
2404 Changed simple-at to use a specific keyset, rather than
2405 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
2406 manager, desktop, etc.
2408 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2410 * registryd/deviceeventcontroller.c:
2411 Replaced standard X error handler with a special handler that
2412 is non-fatal for failed keygrabs. This works around
2413 problems with keygrab clashes sometimes observed on
2415 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
2416 mouse handling code as yet).
2418 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2421 Incremented revision for desktop alpha release.
2424 Fixed a couple of the more glaring errors (still not
2427 2002-01-11 Michael Meeks <michael@ximian.com>
2429 * registryd/deviceeventcontroller.c
2430 (spi_device_event_controller_forward_key_event): kill
2431 XUngrabKey / XKeyGrab race.
2432 (spi_controller_grab_keyboard): rename to
2433 (spi_controller_update_key_grabs): this, and deal
2434 with incremental adding / removing grabs more
2436 (_register_keygrab): ensure we're not pending a remove.
2437 (spi_grab_mask_free): impl.
2438 (spi_controller_register_global_keygrabs): split out
2440 (handle_keygrab): impl.
2441 (_deregister_keygrab): impl.
2442 (spi_controller_deregister_global_keygrabs): impl.
2443 (spi_controller_update_key_grabs): re-issue the grab if
2444 we just recieved a notification.
2446 * test/test-simple.c (key_listener_cb): remove debug.
2448 * registryd/deviceeventcontroller.c
2449 (spi_controller_register_device_listener): after
2450 registering a global keygrab, actualy register it !
2451 don't wait for a timeout; doh !
2453 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
2454 to make it more readable / manipulable.
2455 s/grabmask/grab_mask/ s/refcount/ref_count/
2456 s/keyval/key_val/ s/modmask/mod_mask
2458 2002-01-08 Michael Meeks <michael@ximian.com>
2460 * registryd/deviceeventcontroller.c
2461 (spi_controller_register_with_devices): use gdk calls to
2463 (global_filter_fn): implement the filter.
2464 (spi_device_event_controller_check_key_event): rename to
2465 (spi_device_event_controller_forward_key_event): this & upd.
2466 (spi_get_display): replace with GDK_DISPLAY.
2468 * registryd/deviceeventcontroller.c
2469 (spi_controller_deregister_device_listener): unroll into
2470 (impl_deregister_keystroke_listener): here to simplify.
2471 (spi_controller_register_global_keygrabs): split cut and
2472 paste (!) out into (_register_keygrab): here, shorter & sweeter.
2473 (spi_controller_deregister_device_listener): remove.
2474 (impl_register_mouse_listener): remove, no mouse listener
2475 support in at-spi-1.0
2477 * registryd/registry.c
2478 (_device_event_controller_hook): kill.
2479 (spi_registry_init): upd.
2481 * registryd/deviceeventcontroller.c
2482 (spi_device_event_controller_class_init): upd.
2483 (spi_check_key_event): merge into.
2484 (spi_device_event_controller_check_key_event):
2485 here and kill strange static ev init, don't leak
2486 the x_event - nor dynamicaly allocate it.
2488 * registryd/registry-main.c (main): re-direct
2489 timeout to remove strange vtable mess.
2491 * registryd/deviceeventcontroller.c
2492 (remove_listener_cb): impl.
2493 (spi_controller_deregister_device_listener):
2494 fix re-enterancy hazard.
2496 2002-01-07 Michael Meeks <michael@ximian.com>
2498 * registryd/deviceeventcontroller.c
2499 (spi_device_event_controller_new): upd.
2500 (impl_notify_listeners_sync): upd. debug.
2501 (spi_notify_keylisteners): fix re-enterancy hazards,
2502 prettify, remove O(n*n) iteration.
2503 (spi_controller_grab_keyboard): fix iteration.
2504 (spi_check_key_event): re-format to suit coding style.
2505 Clean all the warnings - we're warning free.
2507 * registryd/deviceeventcontroller.h:
2508 * registryd/registry.h: make mutualy referential with
2509 typesafe forward references instead of (!) void pointer
2512 2002-01-11 Michael Meeks <michael@ximian.com>
2514 * cspi/spi_accessible.c (role_names): add a role name
2515 to sync this array with the enum; and make the regression
2518 2002-01-10 Michael Meeks <michael@ximian.com>
2520 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
2521 allow expansion of enumeration & kill warning.
2523 * test/test-simple.c (key_listener_cb): impl.
2524 (test_keylisteners): impl.
2526 * cspi/spi-listener.h: make listener signatures const
2527 on the provided (const) events.
2529 * test/keysynth-demo.c: upd. to const events.
2531 * test/simple-at.c: ditto.
2533 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2536 Rev the version to 0.5 (the previous tarball was named 0.4,
2537 even though the micro number was 3), so we need to rev upwards
2538 again for beta2/"desktop-alpha"
2541 Checked in a demo script, which requires editing before use!
2542 Proceed with caution.
2545 Fixed typo in header which was redefining SPI_ACTION_CLASS.
2547 * cspi/spi_accessible.c:
2548 Add a couple of missing enum initializations, and fix some enum
2551 * cspi/spi_registry.c:
2552 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
2554 * docs/reference/cspi/at-spi-cspi-sections.txt:
2555 Remove/fix a couple of broken document references.
2558 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
2559 as Alt-Control to listen for commands, since on some systems
2560 Control-Alt may already be grabbed.
2562 2002-01-10 Bill Haneman <bill.haneman@sun.com>
2565 Update version number to 0.4 for Beta2.
2567 * libspi/accessible.c, libspi/accessible.h:
2568 Expose spi_accessible_construct, to enable libgail-gnome
2569 construction from spi_accessible subtype.
2571 * utils/magnifier.c:
2572 Workaround for bug in some non-gnome-compliant window managers
2573 which made magnifier resize improperly.
2575 2002-01-09 Bill Haneman <bill.haneman@sun.com>
2577 * libspi/accessible.c: (spi_accessible_new) :
2578 Move the test for SPI_IS_REMOTE_OBJECT to
2579 spi_accessible_new_return, fixing a bug and compile time warning.
2581 2002-01-08 Michael Meeks <michael@ximian.com>
2583 * registryd/registry.c (parse_event_type): remove strndup.
2585 * libspi/Makefile.am (libspi_la_SOURCES): remove
2586 sources already included in the headers section.
2588 * libspi/util.c: add.
2590 * libspi/spi-private.h: add.
2592 * registryd/registry.c: update to moved list iterators.
2594 2002-01-05 Michael Meeks <michael@ximian.com>
2596 * test/simple-at.c (main): upd. auto-module set to atk-bridge
2598 * test/test-simple.c (main): ditto.
2600 2002-01-04 Michael Meeks <michael@ximian.com>
2602 * libspi/accessible.c (spi_accessible_new): remove 2nd,
2603 redundant construct.
2605 * registryd/registry.c
2606 (get_listener_list): impl.
2607 (impl_accessibility_registry_register_global_event_listener):
2608 re-impl. to simplify using ~, remove dodgy const cast off.
2609 (parse_event_type): constify.
2610 (impl_accessibility_registry_deregister_global_event_listener_all):
2611 re-write, more efficiency and simplicity, kill re-enterancy
2613 (compare_listener_corbaref, compare_corba_objects),
2614 (compare_listener_quarks): define out.
2615 (impl_accessibility_registry_deregister_global_event_listener):
2616 re-write for effiency, and nail re-enterancy hazard.
2617 (impl_accessibility_registry_get_desktop_list): impl.
2618 (re_enterant_list_delete_link): impl.
2619 (re_enterant_list_foreach): impl.
2620 (remove_listener_cb): impl.
2621 (_registry_notify_listeners): kill.
2622 (notify_listeners_cb): impl.
2624 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
2625 (SPI_getDesktopList): impl.
2627 * test/test-simple.c (test_desktop): test the methods.
2629 2002-01-03 Michael Meeks <michael@ximian.com>
2631 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
2632 keystrings since we free them
2633 (SPI_freeAccessibleKeySet): in here.
2635 * libspi/accessible.c (spi_accessible_new): kill warning,
2636 wonder what is going on with the constructor here.
2638 2002-03-01 Bill Haneman <bill.haneman@sun.com>
2640 * libspi/accessible.c (spi_accessible_new ()) :
2641 Added check to see if AtkObject is an SpiRemoteObject before
2642 creating an SpiAccessible.
2644 2002-05-01 Bill Haneman <bill.haneman@sun.com>
2646 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
2647 Enable keygrabs using the Control modifier, now that they are
2648 working properly (they were previously disabled).
2651 Change the command keygrab for this demo to "Control+Alt", so as
2652 to conflict with fewer other key commands on the system; this
2653 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
2655 Removed a pointlessly-chatty keylistener for unshifted keys
2656 (shifted keys are still reported).
2658 2002-02-01 Bill Haneman <bill.haneman@sun.com>
2660 * libspi/remoteobject.h:
2661 * libspi/remoteobject.c:
2662 Added definitions for special AtkObject subtype, required for
2663 support of remote components (specifically, used by BonoboControl
2664 accessibility implementation).
2666 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
2668 * cspi/spi.h: synched relation types with ATK
2670 * cspi/spi_accessible.c: Added implementations of
2671 AcccessibleRelation_* methods
2673 * idl/Accessibility_Relation.idl: added getRelationTypeName
2674 method. Synched known relation types with ATK. Allowed for
2675 relation type extension with the RELATION_EXTENDED type.
2677 * libspi/relation.c: Provided implementations for
2678 AccessibleRelation methods.
2680 2002-01-01 Bill Haneman <bill.haneman@sun.com>
2682 API tweaks for today's API 'freeze'.
2685 Added placeholder functions to allow future compatible expansion
2686 of the IDL interfaces.
2688 * idl/Accessibility_Registry.idl:
2689 Changed generateKeyEvent to generateKeyboardEvent. Changed
2690 signature of this method to accept an optional keystring in
2691 parameter (for complex text input synthesis) and changed use of
2692 simple 'boolean' parameter in registerKeystrokeListener to a
2693 struct, EventListenerMode.
2695 * cspi/spi_accessible.c:
2697 * cspi/spi_streamablecontent.c:
2698 Added references to AccessibleStreamableContent interface, and
2699 definition and implementation of AccessibleStreamableContent
2702 * cspi/spi_registry.c:
2704 Changed generateKeyEvent API to generateKeyboardEvent,
2705 taking a new (optional) keystring parameter to support complex
2710 Renamed directory (to better reflect its actual purpose, bridging
2711 from at-spi to ATK). The .so module is also now named
2714 * idl/Accessibility_Hypertext.idl:
2715 * libspi/accessible.c:
2716 * libspi/hypertext.h:
2717 * libspi/hypertext.c:
2718 Changed Accessibility_Hypertext to *not* derive from
2721 * cspi/spi_registry.c:
2722 Added list of legal event type names for 'window' events, which
2723 completes the registry event API.
2725 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
2727 * at-bridge/bridge.c: Added registration for separate
2728 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
2729 signals. If either of the first two parameters to the generic
2730 bridge signal handler are ints, they are passed on as event
2731 details. This allows an AT to determine what text was inserted.
2733 2001-12-21 Bill Haneman <bill.haneman@sun.com>
2735 * registryd/deviceeventcontroller.c:
2736 Fixed regressions in generateKeyEvent caused by the removal of
2737 gdk_init from registryd; we now use pure X calls to connect to the
2738 display, which makes sense because deviceeventcontroller already
2739 uses a fair bit of X API (should eventually be migrated to a
2740 'portability layer').
2742 * registryd/desktop.c:
2743 Fixed minor regression in spi_desktop_init, changed the way the
2744 desktop name is being set to work with new spi_base API
2745 (gobject-based, rather than AtkObject-based).
2747 * registryd/Makefile.am:
2748 Minor revision of makefile to use XTST_LIBS variable rather than
2749 hard-wiring the Xtst LD_ADD element.
2751 * test/keysynth-demo.c:
2752 Tweaked an output message; added initialization of the
2753 'keystrings' member of the "switch listener" key_set.
2755 * libspi/relation.c:
2756 Squashed compile-time warning.
2758 * libspi/accessible.c:
2759 Cosmetic and formatting fixes, renamed a static method.
2761 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
2763 * libspi/accessible.c
2765 * libspi/application.c
2768 * libspi/component.c
2769 * libspi/editabletext.c
2770 * libspi/hyperlink.c
2771 * libspi/hypertext.c
2773 * libspi/selection.c
2777 * registryd/desktop.c:
2778 Changed SpiBase to contain a GObject pointer rather than an AtkObject
2780 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2782 * idl/Accessibility_Registry.idl:
2783 Added boolean member 'is_text' to DeviceEvent. This is for the
2784 use of key events, and helps prevent ambiguity between composed
2785 key strings and keysym names, since both may potentially be
2786 returned in the 'event_string' member.
2788 * at-bridge/bridge.c:
2789 * registryd/deviceeventcontroller.c:
2790 Use the 'is_text' member when notifying device event listeners.
2791 Knon issue: composed characters are not dealt with correctly by
2792 the global key listener implementation yet.
2794 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2796 * at-bridge/bridge.c:
2797 Namespaced local static methods to spi_atk_bridge_* where
2798 previously named bridge_*, and spi_* elsewhere.
2800 * at-bridge/bridge.c:
2801 * cspi/bonobo/cspi-bonobo-listener.c:
2802 Added demarshalling/conversion for string member of
2803 Accessibility_DeviceEvent to AccessibleKeystroke.
2805 * registryd/deviceeventcontroller.c:
2806 Added code to fill the Accessibility_DeviceEvent key string value
2807 member for global key events (i.e. from XGrabKey), to match
2808 behavior of Accessibility_DeviceEvent from the toolkit key events
2809 from the bridge. Fixed timestamp in global key event notifications.
2812 Added printout of key event's string value to
2813 report_ordinary_key_event, for demo/debugging purposes.
2815 2001-12-15 Bill Haneman <bill.haneman@sun.com>
2817 * idl/Accessibility_Registry.idl:
2818 Removed Accessibility_KeyStroke structure in favor of generic
2819 Accessibility_DeviceEvent structure.
2820 Changed Accessibility_ControllerEventMask from a struct to an
2823 * at-bridge/bridge.c:
2824 Changed APIs to use DeviceEvent structure as above, and removed
2825 bogus casting between these event structures.
2827 * cspi/spi-listener.h:
2828 Added keystring member of AccessibleKeystroke structure, to enable
2829 matching on event "names" rather than only hardware codes and
2833 Added keystrings member of AccessibleKeySet struct, to allow
2834 matching on event names (as above).
2835 Added declarations for SPI_createAccessibleKeySet and
2836 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
2837 event modmasks directly as unsigned ints rather than structs with
2838 refcounts, in the DeviceEventController methods.
2840 * cspi/spi_registry.c:
2841 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
2843 * cspi/spi-roletypes.h:
2844 Added documentation of newly added SPI Roles.
2846 * cspi/bonobo/cspi-bonobo-listener.c:
2847 Changes in support of API changes above.
2849 * libspi/accessible.c:
2850 Converted APIs to use DeviceEvent structure (see IDL changes
2853 * registryd/deviceeventcontroller.c:
2854 Added DEControllerGrabMask structure to track keygrabs not only by
2855 modmask but by keyset as well; this allows us to do "global"
2856 (i.e. X) keygrabs on a per-key or keyset basis rather than always
2857 grabbing on AnyKey and then filtering after-the-fact.
2858 Bugfixes for event filtration mean that we don't get false matches
2859 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
2861 * registryd/deviceeventcontroller.c:
2862 Namespaced a number of static methods to use spi_ prefix. Major
2863 revision to internals of global (i.e. X) key grabs.
2865 * registryd/deviceeventcontroller.h:
2866 Removed keymask_list and added keygrabs_list to
2867 SpiDeviceEventController struct.
2870 Added use of SPI_createAccessibleKeySet API when creating a
2871 listener for only one key. Attach a listener to "shift spacebar
2872 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
2873 X key event names to SPI key event names, so that listeners are
2874 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
2876 * test/keysynth-demo.c:
2877 Changed (incorrect) use of X key event names (KeyPressed,
2878 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
2881 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2883 * libspi/accessible.c:
2884 Convert all AtkRole enumerations to Accessibility_Role enums when
2885 getting a role from an AtkObject.
2887 * cspi/spi_accessible.c:
2888 Complete the conversion of Accessibility_Role enums at runtime to
2889 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
2890 role enums correctly match those given in spi-roletypes.h.
2891 Re-synchronize the local names list for AccessibleRole_getName ().
2892 AccessibleRole_getName is now deprecated, since it duplicates the
2893 more reliable Accessible_getRoleName.
2894 Added some role types from Accessibility_Role.idl.
2896 * idl/Accessibility_Role.idl:
2897 Added some role types used by AtkRole.
2899 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2902 * cspi/spi_registry.c:
2904 * cspi/cspi-bonobo-listener.c:
2905 Namespaced all methods that did not begin with an "SPI_" or
2906 "Accessible" prefix to "SPI_".
2909 Homogenized internal function namespace to "cspi_" for statics.
2912 Patched tests to use the new CSPI API.
2914 * docs/reference/cspi/at-spi-cspi-sections.txt:
2915 Updated docs to reflect namespace changes, and added a number of
2916 methods to the documentation.
2918 * registryd/registry.c:
2919 Changed use of strings and string hashes in listener event
2920 matching and parse_event_string to use GQuark, which is guaranteed
2923 * registryd/registry.h:
2924 Squashed annoying warning.
2926 * idl/Accessibility_Role.idl:
2927 Extended range of available Accessibility_Role values.
2929 * cspi/spi_accessible.c:
2930 Re-ordered role names.
2932 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2934 * idl/Accessibility_Value.idl:
2935 Revert use of union back to CORBA_double, since the double type is
2936 more efficient and can contain the other types without loss of
2939 * idl/Accessibility_Accessible.idl:
2940 Added method Accessibility:Accessible:getRoleName, to complement
2941 Accessibility:Accessible:getRole.
2943 * cspi/spi_accessible.c:
2945 Added C binding for above, Accessible_getRoleName (), and changed
2946 signature of Accessible_getRole () to return an AccessibleRole.
2948 * cspi/spi-roletypes.h:
2949 Changed AccessibleRole_getName to return a char * instead of a
2950 const char *. This method is now at least temporarily deprecated
2951 in favor of asking Accessibles for their RoleNames directly.
2954 Revert to match Accessibility_Value.idl;
2958 Change signature of AccessibleValue methods to use double rather
2962 * cspi/spi_accessible.c:
2963 Changed Accessible_getRole to return an AccessibleRole enum rather
2964 than a UTF-8 string. The UTF-8 string can still be obtained via
2965 AccessibleRole_getName ().
2967 * test/test-simple.c:
2968 Add test_action. Small fixup to match API change to Accessible_getRole.
2971 Bugfix for get_action_from_servant ().
2973 2001-12-11 Michael Meeks <michael@ximian.com>
2975 * libspi/libspi.h: remove registry.h and
2976 desktop.h, deviceeventcontroller.h
2978 * libspi/Makefile.am: remove registry.[ch],
2979 desktop.[ch], deviceeventcontroller.[ch]
2981 * registryd/Makefile.am: add registry.[ch],
2982 desktop.[ch], rename registryd.c to registry-main.c.
2983 add deviceeventcontroller.[ch]
2985 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2988 Replace setenv() call with putenv ().
2990 * libspi/component.c:
2991 Bugfix in AccessibleComponent_getExtents (),
2994 2001-12-11 Michael Meeks <michael@ximian.com>
2996 * libspi/image.c (impl_getImageExtents): impl.
2997 (spi_image_class_init): upd.
3000 (AccessibleImage_getImageDescription): fix daft bug
3003 * test/test-simple.c (global_listener_cb): update
3004 to only quit if not --poke
3005 (main): catch --poke.
3006 (validate_accessible): upd. dumping, call test_image
3009 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3012 * idl/Accessibility.idl: update all IDL includes.
3014 * idl/*.idl - rename to namespace - this sucks, blame
3015 mjs' bad decision for oafd.
3017 * test/test-simple.c (create_test_window): add more tests.
3018 (create_tree): split this out.
3019 (validate_accessible): bugfix.
3021 2001-12-11 Michael Meeks <michael@ximian.com>
3023 * cspi/bonobo/cspi-bonobo-listener.c:
3024 (cspi_kestroke_listener_unref),
3025 (cspi_event_listener_unref): impl. undoing previous
3026 homenous environment - for Bill.
3028 * cspi/spi_table.c (long_seq_to_array): use
3031 * cspi/spi_main.c: split out all bonoboish bits into
3034 * cspi/spi-impl.h: upd. typedefs.
3036 * cspi/spi_registry.c: update to lowlevel API,
3037 return booleans to indicate success in some places.
3039 * cspi/spi_event.c: update to lowlevel API.
3041 * cspi/bonobo/Makefile.am: add.
3043 * cspi/bonobo/cspi-lowlevel.h: add
3045 * cspi/bonobo/cspi-bonobo.c: add
3047 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
3049 * cspi/Makefile.am: remove spi-listener-impl.[ch],
3050 (SUBDIRS): add bonobo, link in the libs.
3052 * cspi/spi-util.c: kill this file.
3054 * TODO: merge in my bits.
3056 2001-12-11 Michael Meeks <michael@ximian.com>
3058 * test/test-simple.c (test_value, test_table, main):
3059 remove unused variables causing warnings.
3061 * configure.in: cleanup checks - require gail.
3063 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3066 Changed Value interface to use SValue (scalars) rather than
3067 assuming all values are floats. This allows floats, doubles,
3068 longs, shorts, and unsigned values to be manipulated.
3069 Introduced Accessibility:SValue union.
3072 Updated to use new API above, and to work correctly with GValues
3073 of different types in AtkValue.
3076 Updated to use new API above. cspi's API is as yet unchanged.
3079 Updated the Value revision action item.
3081 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3083 * test/test-simple.c:
3084 Added test_table (GtkTreeView widget in test window to follow).
3085 Un-commented test_value, added GtkRange widget.
3086 Added GtkTreeView widget with GtkListStore. It passes regression
3087 test but leaks one SPI object for some reason.
3090 Fixed bug in impl__set_currentValue.
3092 2001-12-10 Michael Meeks <michael@ximian.com>
3094 * cspi/spi_text.c: audit for exception handling,
3095 tolerating NULL object references safely etc.
3097 * cspi/spi_value.c: ditto.
3099 * cspi/spi_table.c (AccessibleTable_getSummary),
3100 (AccessibleTable_getAccessibleAt),
3101 (AccessibleTable_getRowHeader),
3102 (AccessibleTable_getColumnHeader),
3103 (AccessibleTable_getCaption): fix bugs hidden by
3105 (long_seq_to_array): impl.
3106 (AccessibleTable_getSelectedRows),
3107 (AccessibleTable_getSelectedColumns): use it.
3109 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3112 Added a TODO list (rough and short for now).
3114 * cspi/spi_hyperlink.c:
3115 * cspi/spi_hypertext.c:
3116 Fixed macro name typos, and remove use of obsolete macro in
3117 AccessibleHyperlink_getLink.
3119 * cspi/spi_action.c:
3120 * cspi/spi_accessible.c:
3121 * cspi/spi_application.c:
3122 * cspi/spi_component.c:
3123 * cspi/spi_selection.c:
3126 Documentation fixes (removed return values from ref/unref methods).
3128 2001-12-10 Michael Meeks <michael@ximian.com>
3130 * cspi/spi_action.c: audit for exception handling,
3131 tolerating NULL object references safely etc.
3133 * cspi/spi_accessible.c: ditto.
3135 * cspi/spi_component.c: ditto.
3137 * cspi/spi_editabletext.c: ditto.
3139 * cspi/spi_hyperlink.c: ditto.
3141 * cspi/spi_hypertext.c: ditto.
3143 * cspi/spi_image.c: ditto.
3145 * cspi/spi_selection.c: ditto.
3147 2001-12-10 Michael Meeks <michael@ximian.com>
3149 * configure.in: use cspi/libspi.pc.in instead.
3151 * Makefile.am (pkgconfig_DATA): upd. to match.
3153 * test/simple-at.c (report_focus_event): kill hacks around
3154 bad return values, use putenv not setenv
3156 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3157 fire ChildGone - I killed it.
3159 * libspi/component.c
3160 (impl_accessibility_component_get_extents): remove
3163 * idl/Accessible.idl: kill ChildGone exception.
3165 * cspi/*.[ch]: kill int return from ref / unref.
3167 * cspi/spi_main.c (cspi_object_add_check): fold into
3168 (cspi_object_add): here.
3170 * cspi/spi_component.c (AccessibleComponent_getExtents):
3171 handle exceptions elegantly.
3173 * cspi/spi-private.h (cspi_check_ev_return),
3174 (cspi_return_if_fail): impl.
3176 * cspi/spi_accessible.c: use extensively.
3177 (AccessibleStateSet_equals): add direct compare check.
3179 * cspi/spi_selection.c: tolerate NULL objs, and check
3180 exceptions before return.
3182 * cspi/spi-util.c (cspi_warn_ev): rename to
3183 (cspi_check_ev): this & don't pass ev in; no point.
3185 2001-12-10 Michael Meeks <michael@ximian.com>
3187 * test/test-simple.c: use putenv not setenv
3188 (get_environment_vars): more chatty if you're not using
3191 * test/simple-at.c: do the setenv so more people see the
3194 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3196 * libspi/registry.c:
3197 Changed check of CORBA_environment on notification to be a warning
3198 instead of an error for the moment, since we can recover from this
3199 error when caused by a queued notification from a dead app.
3202 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3203 used by all current implementors of AtkValue), and coerce to
3204 CORBA_float. (Proper general case fix may require change to Value.idl).
3206 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3210 * cspi/spi_accessible.c:
3211 Documentation fixes: added user_data params to documentation for
3212 listeners and callbacks.
3214 * cspi/spi_accessible.c:
3215 Changed AccessibleStateSet_compare to return a
3216 StateSet rather than return the difference set into a third parameter.
3219 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3222 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3223 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3227 Remove subdirectory po from SUBDIRS for now.
3229 * at-bridge/bridge.c:
3230 Beefed up a couple of debug printouts.
3231 One-line fix for signal notification name formatting.
3233 * libspi/accessible.c:
3234 Added assertion to spi_accessible_new ().
3236 * libspi/application.c:
3237 Put #ifdef qualifiers around a printf.
3240 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3242 * registryd/Makefile.am:
3244 Replaces use of XML_I18N_MERGE_SERVER_RULE with
3245 INTLTOOL_SERVER_RULE macro.
3248 Added an event listener for several ATK signals, for
3249 testing and debugging. Removed a few g_warnings.
3250 Added test output if focussed item implements the Value interface.
3252 * test/test-simple.c:
3253 Added test_value () function (known not to pass at the moment, so
3254 not actually called yet.
3256 2001-12-08 Michael Meeks <michael@ximian.com>
3258 * at-bridge/bridge.c (bridge_focus_tracker),
3259 (emit_eventv): fix the same ref. leak.
3260 (register_atk_event_listeners): don't leak.
3262 * cspi/spi-listener-impl.c (cspi_event): more
3263 protection from client code.
3265 * test/test-simple.c (test_desktop): unref the app.
3267 * test/Makefile.am: upd. TESTS.
3269 * at-bridge/bridge.c (bridge_exit_func): release the registry.
3271 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3273 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3275 * cspi/spi_registry.c: constify in strings.
3276 (deregisterGlobalEventListenerAll): don't release the ref.
3278 * cspi/spi.h: start removing redundant / conflicting
3279 gtkdoc comments, making the API readable at a glance :-)
3281 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3283 * test/keysynth-demo.c (keysynth_exit, main): upd.
3285 * test/simple-at.c (main, simple_at_exit): upd.
3287 * test/test-simple.c (unutterable_horror): kill.
3288 (utterable_normal_derefs): kill.
3289 (main): upd & do a setenv before gtk_init, so that we
3290 can use memprof - and to save the pain of remembering
3291 this, if we're running under memprof - don't exit.
3293 * cspi/spi_main.c (SPI_exit): return exit status
3295 (SPI_event_quit): impl.
3296 (SPI_event_main): simplify.
3297 (cspi_is_gnome_app): kill.
3298 (SPI_init): kill isGNOMEapp arg.
3300 * at-bridge/bridge.c (register_atk_event_listeners):
3301 re-instate the unref.
3302 (bridge_exit_func): don't re-activate the registry,
3303 protect vs. theoretical re-entry, use the
3304 AT_BRIDGE_SHUTDOWN env. var to determine whether to
3305 assert a clean shutdown - for regression tests.
3307 2001-12-08 Abel Cheung <maddog@linux.org.hk>
3309 * configure.in: Comment out dummy i18n support for now,
3310 otherwise it fails to build.
3311 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3312 EXTRA_DIST. They are missing in tarball.
3314 2001-12-07 Michael Meeks <michael@ximian.com>
3316 * util/magnifier.c: kill bonobo activation reg. race.
3318 * libspi/component.c
3319 (impl_accessibility_component_get_extents): make it match
3322 * libspi/registry.c (_registry_notify_listeners):
3323 re-remove X headers & reconcile conflicts.
3324 (spi_listener_struct_free): bad conflict resolve.
3325 (impl_accessibility_registry_register_application):
3326 more bad merging fixed.
3327 (impl_accessibility_registry_deregister_application): ditto.
3328 (spi_registry_new): ditto.
3329 (spi_registry_init): don't have an applications field.
3331 [ merge fixups2 branch to here ]
3332 2001-12-07 Michael Meeks <michael@ximian.com>
3334 * test/simple-at.c (report_focus_event),
3335 (report_focussed_accessible): remove g_warning debug.
3337 2001-12-07 Michael Meeks <michael@ximian.com>
3339 * test/test-simple.c (validate_tree): comment out some checks.
3340 (test_desktop): app now not registered idly - horay.
3342 2001-12-07 Michael Meeks <michael@ximian.com>
3344 * cspi/spi_registry.c
3345 (registerAccessibleKeystrokeListener): clean, stop it leaking
3346 great swathes of memory, and device event controller references.
3347 ensure we always pass valid sequences.
3348 (deregisterAccessibleKeystrokeListener): ditto.
3349 (generateKeyEvent): upd.
3351 * at-bridge/bridge.c (bridge_key_listener): handle
3352 registry dead exception gracefully.
3353 (bridge_focus_tracker, emit_eventv): free ev.
3355 * test/simple-at.c (report_focus_event): fix polarity.
3357 * libspi/application.c (notify_listeners): kill the ev
3358 argument, and make sure we init the ev we use.
3359 (spi_application_object_event_listener): split out a chunk
3360 (get_atk_object_ref): here & fixup.
3361 (reverse_lookup_name_for_toolkit_event): make const.
3362 (spi_application_toolkit_event_listener): fixup, kill leaks
3365 * at-bridge/bridge.c (register_atk_event_listeners):
3366 don't unref the noop object - causes grief.
3368 * libspi/registry.c: remove the X headers.
3369 turn off the debug churn.
3371 * libspi/accessible.c (spi_accessible_new_return): only
3372 release the ref if we are supposed to [doh]
3374 * test/simple-at.c (report_button_press, report_focus_event):
3375 guard vs. unexpected exit.
3377 * at-bridge/bridge.c (gtk_module_init): prune printf.
3378 (bridge_exit_func): fix app unref.
3380 * libspi/Makefile.am: don't install registry or desktop.h
3382 * libspi/*.h: update includes.
3384 * libspi/application.h: don't include ourself, or
3385 other redundant headers.
3387 2001-12-06 Michael Meeks <michael@ximian.com>
3389 * libspi/accessible.c
3390 (get_accessible_from_servant): impl.
3391 Upd. all CORBA impl.s to use it killing cut and paste.
3393 * cspi/spi_main.c (cspi_cleanup): guard vs. double
3395 (SPI_init): register atexit cleanup handler here.
3397 2001-12-06 Michael Meeks <michael@ximian.com>
3399 * at-bridge/bridge.c (gtk_module_init): g_error on
3400 activation exception
3402 2001-12-06 Michael Meeks <michael@ximian.com>
3404 * at-bridge/bridge.c (gtk_module_init): some sort of
3405 confusing merge clash - reverted.
3406 (bridge_idle_init): ditto.
3408 * test/test-simple.c (main, utterable_normal_derefs):
3409 merge from Bill - somehow not committed.
3411 2001-12-06 Michael Meeks <michael@ximian.com>
3413 * libspi/value.c (spi_value_class_init): upd.
3414 (spi_value_finalize): kill.
3416 * libspi/table.c (spi_table_finalize): kill.
3417 (spi_table_interface_new): upd.
3418 (spi_table_class_init): upd.
3419 (get_table_from_servant): impl.
3420 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3422 * libspi/selection.c (spi_selection_finalize): kill.
3423 (spi_selection_interface_new): upd.
3424 (spi_selection_class_init): upd.
3425 (get_selection_from_servant): impl.
3426 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3428 * libspi/relation.c (spi_relation_finalize): kill.
3429 (spi_relation_class_init, spi_relation_new): upd
3431 * libspi/image.c (spi_image_finalize): kill.
3432 (spi_image_class_init): upd.
3433 (spi_image_interface_new): upd.
3434 (get_image_from_servant): impl.
3435 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3437 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
3438 (spi_hyperlink_finalize): kill.
3439 (spi_hyperlink_new): upd.
3440 (get_hyperlink_from_servant): impl.
3441 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3443 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
3444 (spi_hypertext_finalize): kill.
3445 (spi_hypertext_class_init): upd.
3446 (get_hypertext_from_servant): impl.
3447 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3449 * libspi/editabletext.c (spi_editable_text_finalize): kill.
3450 (spi_editable_text_interface_new): upd.
3451 (get_editable_text_from_servant): impl.
3452 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3454 * libspi/text.c (get_text_from_servant): impl.
3455 All impls - update to use it killing more cut and paste,
3456 also fix bad string returns on duff args ( a somewhat
3457 impossible case to handle - but hey ).
3458 (spi_text_construct): impl.
3459 (spi_text_interface_new): upd.
3460 (spi_text_object_finalize): kill.
3462 * libspi/component.c
3463 (accessibility_component_object_finalize): kill.
3464 (spi_component_class_init): upd.
3465 (get_component_from_servant): impl. helper to kill cut & paste.
3466 (impl_accessibility_component_contains):
3467 (impl_accessibility_component_get_accessible_at_point):
3468 (impl_accessibility_component_get_position):
3469 (impl_accessibility_component_get_extents):
3470 (impl_accessibility_component_get_mdi_z_order):
3471 (impl_accessibility_component_get_layer):
3472 (spi_component_interface_new): upd.
3474 * libspi/action.c (spi_action_finalize): kill.
3475 (spi_action_class_init): upd. inherit from SpiObject.
3476 (spi_action_interface_new): upd.
3477 (get_action_from_servant): impl. helper to reduce cut & paste.
3478 (impl_getKeyBinding, impl_getName, impl_doAction),
3479 (impl_getDescription): Use it everywhere.
3481 * cspi/spi_main.c (get_live_refs): a pointer hash.
3482 (spi_object_hash, spi_object_equal): comment out.
3483 There are issues with CORBA object hashing that need
3486 * libspi/application.c (spi_application_init),
3487 (spi_application_new): upd.
3489 * libspi/accessible.c (spi_accessible_object_finalize): kill.
3490 (spi_accessible_class_init): upd.
3491 s/accessible/object/ in epv methods.
3493 2001-12-05 Bill Haneman <bill.haneman@sun.com>
3495 * at-bridge/bridge.c:
3496 Reorder the bridge initialization into the bridge gtk_module_init,
3497 an immediate call to bridge_register_app, and an idle_add for
3498 register_atk_event_listeners (the only code that *must* wait until
3499 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
3500 the activation, creates the application's Accessible object, and
3501 queues the bridge_idle_init function. Restored call to
3502 Accessibility_Registry_deregisterApplication().
3503 Prior to making this call we obtain a new reference to the
3504 registry, which is a temporary hack that helps us handle apps that
3505 shut down the bonobo mainloop before we get there.
3507 * libspi/registry.c:
3508 Fix string leakage in debug block, and don't segv if a an app
3509 dies before its event notifications have been propagated.
3512 Modify cspi_check_ev() to call g_warning() rather than g_error(),
3513 as stopgap measure until we get proper exception handling when
3514 objects die during or before interrogation.
3518 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
3519 Also changed default value of is_gnome_app to TRUE.
3522 * test/keysynth-demo.c:
3523 Changed use of SPI_init and SPI_event_main to reflect API change above.
3526 Made report_focus_event check the warning value from getName
3527 before reporting on focussed accessible; simplifies handling of
3528 notifications from dead objects.
3530 * test/test-simple.c: (Changes not in this patch since source is
3533 2001-12-05 Michael Meeks <michael@ximian.com>
3535 * registryd/registryd.c (main): protect against
3536 bonobo-activation startup race condition.
3538 * cspi/spi_main.c (cspi_object_add_check): cope
3539 with the exception elegantly.
3541 * idl/Accessible.idl: decl. ChildGone
3543 * libspi/desktop.c (spi_desktop_dispose): impl.
3544 (spi_desktop_class_init): upd.
3545 (spi_desktop_add_application),
3546 (spi_desktop_remove_application),
3547 (abnormal_application_termination): impl.
3548 (impl_desktop_get_child_at_index): re-impl.
3551 (impl_accessibility_registry_deregister_application),
3552 (impl_accessibility_registry_register_application):
3553 kill excessive debug clutter.
3555 * test/test-simple.c (test_misc): test some NULL
3556 tolerance. (main): upd.
3558 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
3559 implements no interfaces - so let's not crash.
3561 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
3563 * libspi/accessible.c (spi_accessible_new_return): impl.
3564 helper to calm the cut and paste, to cope with
3565 NULL AtkObjects effectively and efficiently, and to kill
3566 the referencing bugs.
3568 * libspi/table.c (impl_getAccessibleAt),
3569 (impl_getRowHeader, impl_getColumnHeader): upd.
3571 * libspi/hyperlink.c (impl_getObject): upd.
3573 * libspi/accessible.c
3574 (impl_accessibility_accessible_get_child_at_index): upd.
3576 * libspi/component.c
3577 (impl_accessibility_component_get_accessible_at_point): upd.
3579 * test/test-simple.c (test_editable_text, test_text): impl.
3582 * cspi/spi_editabletext.c
3583 (AccessibleEditableText_insertText): constify.
3585 * test/test-simple.c (focus_me): make more robust.
3587 * libspi/accessible.c: remove some printfs in methods that
3588 we test and work fine, so we can get a clean tree dump.
3590 * test/test-simple.c (validate_accessible),
3591 (validate_tree): make tree dumping pretty too.
3593 * at-bridge/bridge.c (bridge_signal_listener): upd. so
3594 it builds without debug on.
3596 * test/test-simple.c (validate_accessible): fix the most
3599 * cspi/spi_main.c (spi_object_release): leave the nicely
3600 blanked memory around if in debug mode.
3602 * cspi/spi-listener-impl.c (cspi_event): use add_check.
3604 [committed to fixups2]
3605 2001-12-05 Michael Meeks <michael@ximian.com>
3607 * libspi/editabletext.c
3608 (spi_editable_text_class_init): g_type_class_peek_parent,
3609 not interface peek - so we finalize cleanly.
3611 * libspi/accessible.c (spi_accessible_new): kill debug.
3613 * test/test-simple.c (validate_accessible): fix ref.
3614 leak, print strings before freeing them; sigh, comment a
3615 chunk out due to strangeness.
3616 (validate_tree): unref the child after use.
3618 * cspi/spi_component.c (AccessibleComponent_getLayer):
3619 add missing break statement, switch on zlayer not the
3620 uninitialized retval.
3622 * cspi/spi_main.c (cspi_object_add): add assert, local ref
3623 before (possibly re-entering) remote unref.
3625 * test/simple-at.c (main): unref the desktop.
3627 * cspi/spi_accessible.c (cspi_accessible_is_a): move
3630 * cspi/spi_main.c (cspi_accessible_is_a): here to
3631 isolate bonobo API usage more.
3633 * libspi/registry.c (impl_accessibility_registry_register_application):
3634 prune bogus comment.
3636 2001-12-04 Michael Meeks <michael@ximian.com>
3638 * test/test-simple.c (validate_tree): upd.
3639 IndexInParent check to make it more lucid.
3640 (validate_accessible): dump the tree.
3642 * libspi/accessible.c (de_register_public_ref),
3643 (get_public_refs): impl.
3644 (spi_accessible_new): make more efficient & intuitive.
3645 Now IndexInParent check works.
3647 2001-12-04 Michael Meeks <michael@ximian.com>
3649 * cspi/spi-util.h: remove.
3651 * cspi/spi.h: move SPI_freeString here
3653 * libspi/component.c (impl_accessibility_component_get_layer):
3655 (impl_accessibility_component_get_mdi_z_order): ditto,
3656 return -1 on error - is this ok ?
3658 * test/test-simple.c (test_application): impl.
3660 * cspi/spi_accessible.c (Accessible_getApplication),
3661 (Accessible_isApplication): impl.
3663 * libspi/registry.c (spi_listener_struct_free): release
3664 the CORBA reference too.
3666 * libspi/accessible.c
3667 (impl_accessibility_accessible_get_parent): fix ref leak.
3669 * libspi/registry.c (spi_registry_new): make the registry
3670 immortal - we don't want it to go away ever.
3672 * libspi/application.c
3673 (spi_accessible_application_finalize): impl. cleanup.
3675 * cspi/spi_registry.c
3676 (deregisterGlobalEventListenerAll),
3677 (deregisterGlobalEventListener),
3678 (deregisterAccessibleKeystrokeListener): fix ref leak.
3680 * cspi/spi_main.c (SPI_init): remove redundant ref.
3682 * test/test-simple.c (unutterable_horror): impl. to force a
3687 (impl_accessibility_registry_deregister_application): release
3688 the application when we de-register it.
3690 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
3691 until we have the infastructure to get it right.
3693 2001-12-03 Michael Meeks <michael@ximian.com>
3695 * libspi/Makefile.am: only build eventlistener.[ch]
3697 * libspi/accessible.c
3698 (impl_accessibility_accessible_get_child_at_index): don't leak.
3700 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
3701 before we hit the idle handler.
3703 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
3704 debugging than exit.
3706 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
3708 * libspi/listener.c (impl_notify_event): check source
3709 not NIL before unref.
3711 * libspi/registry.c (impl_registry_notify_event): ditto.
3713 * libspi/eventlistener.c
3714 (impl_accessible_event_notify_event): unref the source.
3716 * libspi/accessibleeventlistener.c
3717 (impl_accessible_event_notify_event): unref the source.
3719 * idl/Event.idl: remove 'hash_id' attribute - of no
3722 * libspi/application.c (notify_listeners): upd list
3724 (spi_application_object_event_listener),
3725 (spi_application_toolkit_event_listener): upd to do correct
3729 (_registry_notify_listeners): update.
3730 (parse_event_type): this method also leaks like a sieve.
3731 (impl_accessibility_registry_deregister_global_event_listener):
3732 fix ETYPE_WINDOW case.
3734 * libspi/application.c
3735 (impl_accessibility_application_register_object_event_listener):
3738 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
3740 * libspi/hypertext.c (impl_getLink): ditto.
3742 * cspi/spi_main.c (cspi_object_add): remove
3743 bogus CORBA_Object_duplicate.
3745 * cspi/spi-listener-impl.c (cspi_event): dup/ref
3748 * cspi/spi_accessible.c
3749 (Accessible_getRelationSet): fix leak / referencing issue.
3751 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
3752 (cspi_object_add, cspi_object_unref): upd.
3753 (spi_object_release, get_live_refs): impl.
3754 (cspi_cleanup): simplify.
3756 * *.[ch]: s/boolean/SpiBoolean/
3758 * cspi/spi_accessible.c (role_names): actualy order so it
3759 corresponds with the enum !
3761 * test/test-simple.c (test_roles): check some role strings
3762 vs. enums to detect offset errors.
3764 2001-12-01 Michael Meeks <michael@ximian.com>
3766 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
3768 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
3770 (Accessible_getChildAtIndex): use cspi_add_check so we
3771 check the ev before using a (possibly) invalid value.
3773 * libspi/accessible.c
3774 (impl_accessibility_accessible_get_parent): don't segv
3777 * at-bridge/bridge.c (gtk_module_init): upd.
3778 (bridge_property_event_listener): don't leak strings
3780 (bridge_state_event_listener),
3781 (bridge_property_event_listener): don't use a static
3782 buffer in case of recursive event emission &
3783 re-enterancy - split out the swathe of cut and paste
3785 (emit_eventv): and fix 2 ref leaks here & comply to the
3787 (bridge_register_app): rename to
3788 (bridge_idle_init): this and kill arg parsing, split
3789 various inits & bonobo-activation registration to module
3790 init time, kill referencing error.
3791 (bridge_exit_func): fix the same leak.
3792 (bridge_focus_tracker): don't leak event structures
3794 (bridge_signal_listener): more leakage and cut & paste
3796 (bridge_key_listener): return the result - FIXME is
3797 this polarity correct ?
3798 (accessibility_keystroke_from_atk_key_event): rename
3799 (accessibility_init_keystroke_from_atk_key_event): and stop
3801 (gtk_module_init): return a value - not that it is checked by
3803 (bridge_key_listener): register my horror at casting between
3804 IDL defined structs.
3805 (bridge_get_registry): kill - not used.
3807 * cspi/spi_accessible.c (Accessible_getRole): make return const.
3809 * test/test-simple.c (test_roles): impl.
3810 (test_desktop, validate_accessible, validate_tree): impl.
3812 * cspi/spi_accessible.c (role_names): fixup bogus
3813 MAX_ROLES setup, make constants const for efficient linkage
3814 (AccessibleRole_getName): conform to coding style, make
3817 2001-11-30 Michael Meeks <michael@ximian.com>
3819 * cspi/spi.h: add missing prototype.
3821 * libspi/registry.c (spi_listener_struct_new): fix sig.
3823 * test/Makefile.am: add test-simple
3825 * test/test-simple.c: add
3827 * test/test.sh: add.
3829 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
3831 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
3832 do it straight - since otherwise we often get an activation race.
3834 [ work before Bill duplicated a chunk of it ... ]
3835 2001-11-30 Michael Meeks <michael@ximian.com>
3837 * libspi/keystrokelistener.c
3838 (spi_keystroke_listener_class_init): fixup arg
3841 * libspi/eventlistener.c
3842 (spi_event_listener_class_init): ditto.
3844 * tests/test.sh: add.
3846 * cspi/spi-listener-impl.h: update macros.
3848 * cspi/spi-listener-impl.c
3849 (cspi_event_listener_remove_callback): add
3850 correct pre-conditions.
3852 * cspi/spi_main.c (SPI_exit): guard vs. double
3853 exits, exit the mainloop nicely.
3854 (SPI_event_main): make more sense.
3855 (SPI_init): move the atexit evilness here so we
3856 always do it (yuck).
3857 (SPI_event_main): upd.
3859 * test/simple-at.c: update for listener changes.
3861 * registryd/registryd.c (main): prune kruft.
3863 * libspi/libspi.h: upd.
3865 * libspi/eventlistener.[ch]: rename broken macros.
3867 * libspi/accessibleeventlistener.[ch]: remove.
3869 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
3871 * test/test-simple.c: Add - automated tests.
3873 * cspi/spi-listener-impl.c (cspi_event),
3874 (cspi_key_event): add user_data to invoke.
3875 (cspi_keystroke_listener_finalize): impl.
3876 (cspi_keystroke_listener_class_init): upd.
3879 (createAccessibleEventListener),
3880 (AccessibleEventListener_addCallback),
3881 (createAccessibleKeystrokeListener),
3882 (AccessibleKeystrokeListener_addCallback): upd.
3884 * libspi/deviceeventcontroller.c
3885 (spi_device_event_controller_check_key_event): add public proto.
3888 (impl_accessibility_registry_deregister_global_event_listener):
3889 always init listeners.
3890 (_registry_notify_listeners): yes it is.
3892 * cspi/spi-listener-impl.c (cspi_key_event):
3894 (cspi_event_listener_finalize): impl.
3895 (cspi_event_listener_class_init): hook up.
3896 (event_handler_new, event_handler_free),
3897 (event_list_remove_by_callback): impl.
3898 (cspi_event_listener_remove_callback),
3899 (cspi_keystroke_listener_remove_callback),
3900 (cspi_keystroke_listener_add_callback),
3901 (cspi_event_listener_add_callback): upd.
3903 * libspi/keystrokelistener.c
3904 (keystroke_listener_object_finalize): kill
3905 (spi_keystroke_listener_class_init): upd.
3906 (spi_keystroke_listener_add_callback),
3907 (spi_keystroke_listener_remove_callback): kill,
3909 (impl_key_event): prune drasticaly.
3911 * libspi/eventlistener.c
3912 (spi_event_listener_add_callback),
3913 (spi_event_listener_remove_callback): kill, use
3915 (impl_accessible_event_notify_event): upd.
3916 (spi_event_listener_object_finalize): remove.
3918 * libspi/Makefile.am: use eventlistener.[ch]
3920 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3922 * libspi/registry.c (_registry_notify_listeners):
3923 Changed listener loop iteration to use preferred convention.
3924 Got rid of string memory leaks caused be calling g_strconcat
3925 inside function calls.
3927 * libspi/registry.c (parse_event_type):
3928 Stopped g_strconcat memory leaks, free the g_strsplit return,
3929 g_strdup the split pieces when used, etc.
3931 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3934 Change method 'compare' to return a 'difference set' rather than
3935 taking a StateSet as an out parameter (more Java-friendly).
3937 * idl/Accessible.idl:
3938 Added CORBA struct 'BoundingBox', to faciliate API changes below:
3940 * idl/Component.idl:
3942 Changed methods 'getExtents' and 'getImageExtents' in these
3943 interfaces to return a BoundingBox structure.
3944 (getPosition and getSize are redundant and possibly should be
3945 removed, rather than creating a corresponding Point struct.)
3947 * cspi/spi_component.c:
3948 Modify implementation of getExtents to reflect the above IDL
3953 Add (missing) AccessibleImage_getExtents () API.
3955 * docs/reference/cspi/at-spi-cspi-sections.txt:
3956 Added AccessibleImage_getImageExtents () to docs.
3958 2001-12-03 Bill Haneman <bill.haneman@sun.com>
3960 * idl/Component.idl:
3961 Added two methods, getLayer () and getMDIZOrder (), to reflect
3962 the new ATK methods atk_object_get_layer and
3963 atk_object_get_mdi_z_order. (Which arguably should be part of the
3964 AtkComponent API and AtkObject). Also added an enum,
3965 ComponentLayer, for the first method's return value.
3967 * libspi/component.c:
3968 Added implementations for these methods.
3970 * cspi/spi_component.c:
3972 Added cspi binding methods for above,
3973 AccessibleComponent_getLayer() and
3974 AccessibleComponent_getMDIZOrder().
3975 Added cspi enum 'AccessibleComponentLayer'.
3977 * docs/reference/cspi/at-spi-cspi-sections.txt:
3978 Added above methods to docs.
3982 Changed typedef for 'boolean' type (and all references to it) to
3983 SPIBoolean, to avoid keyword clashes with C++.
3986 Changed usages of 'boolean' to SPIBoolean.
3988 * test/keysynth-demo.c:
3989 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
3990 app), except where SPIBoolean is required by the callbacks API.
3992 2001-12-02 Bill Haneman <bill.haneman@sun.com>
3994 * cspi/spi_registry.c:
3995 Removed obsolete X event loop for passive keygrabs (which now
3998 * registryd/registryd.c:
3999 Removed unnecessary call to gdk_init() [cruft]. This also allows
4000 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4003 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4005 * docs/reference/cspi:
4006 Included docs for SPI_freeString in generated documentation.
4009 Renamed spi_freeString to SPI_freeString, for consistency. Added
4010 documentation for this function.
4013 Renamed spi_freeString to SPI_freeString, for consistency.
4014 Removed obsolete method declaration string_from_corba_string.
4016 * test/keysynth-demo.c:
4017 Small tweak to comments.
4020 Stopped leaking the strings returned from CSPI.
4022 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4024 Merged Michael's branch (see his ChangeLog entries below).
4026 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4027 bridge is alive, release on exit.
4029 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4030 Fix type check macro.
4033 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
4036 Added is_gnome_app static, and method cspi_is_gnome_app(),
4037 so we can call the appropriate shutdown routine at exit in SPI_exit.
4039 * cspi/spi_main.c (cspi_object_ref):
4040 Duplicate the corba object passed in, since we're keeping it around.
4042 * cspi/SPI_exit.c, cspi_cleanup:
4043 Moved the releasing of the live refs to its own function, so we
4044 can put it in g_atexit (). Call the appropriate shutdown API
4045 depending on whethe calling client is a gnome app or not
4046 (bonobo_main_quit or CORBA_ORB_shutdown).
4048 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
4049 Unref the listener when this method is called, after
4050 deregistration. Updated the API docs to note this behavior.
4052 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
4053 Bugfixes: Ref the bonobo object when returning a parent or child
4054 reference, or an AccessibleRelation. Generally made sure
4055 BonoboObject refcount is incremented whenever we return an
4058 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
4059 Fixed typo/bug in signal declaration.
4061 * libspi/accessibleeventlistener.h:
4064 * libspi/application.c (spi_application_new):
4065 Fixed leak in initialization.
4068 Remembered to increment bonobo-object refcount when returning
4069 children (applications) from desktop object.
4070 Added (empty) finalize method.
4072 * libspi/deviceeventcontroller.c:
4073 Hold a ref to listeners inside DEControllerKeyListeners.
4074 Added dec_key_listener_free() method. Use prepend instead of
4075 append in key_listener list. Fixed some refcount madness and
4076 leaks in the listener registration/deregistration - deregistration
4077 now calls dec_key_listener_free() on listeners, and on the
4078 temporarily constructed dec_key_listener() used to perform the search/match.
4080 * libspi/hypertext.c (spi_hypertest_finalize):
4081 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
4082 class. Also fixed spi_hypertext_interface_new() and
4083 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
4085 * libspi/hypertext.h:
4086 Removed pointless and duplicate AtkObject pointer from
4089 * libspi/keystrokelistener.c:
4090 Fixed incorrect type of keystroke_listener_parent_class,
4091 renamed keystroke_listener_object_finalize to
4092 spi_keystroke_listener_object_finalize.
4093 Fixed typo in signal declaration
4094 (spi_keystroke_listener_class_init).
4096 * libspi/registry.c:
4097 Added funcsions spi_listener_struct_new() and
4098 spi_listener_struct_free() to help with memory management issues.
4099 We also now use these methods instead of gnew + poking stuff into
4100 the struct, and to decrement listener counts/free the listeners
4101 when deregistering them.
4102 Fix more refcount bugs in getDesktop() and
4103 getDeviceEventController().
4106 De-ref the desktop after enumerating the applications. Explicitly
4107 decrement the refcounts on the created listeners on exit (using
4108 _unref for keystroke listeners, and via the
4109 deregisterGlobalEventListenerAll command for other event
4112 2001-11-27 Michael Meeks <michael@ximian.com>
4114 * cspi/spi-listener.h: fixup enum.
4116 2001-11-27 Michael Meeks <michael@ximian.com>
4118 * cspi/spi-listener-impl.c (cspi_event_listener_new),
4119 (cspi_keystroke_listener_new): Use the cspi variants.
4121 2001-11-26 Michael Meeks <michael@ximian.com>
4123 * test/keysynth-demo.c: fix 2 compile warnings, missing
4126 * test/simple-at.c (report_focussed_accessible),
4127 (report_focus_event, report_button_press),
4128 (check_property_change, is_command_key),
4129 (report_ordinary_key_event, report_command_key_event): upd.
4131 * util/mag_client.h: include pre-requisites.
4133 * libspi/accessibleeventlistener.c
4134 (spi_event_listener_object_finalize): free any lingering
4137 * libspi/keystrokelistener.c
4138 (keystroke_listener_object_finalize): ditto.
4140 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4141 callbacks, with cspi types.
4143 * cspi/spi_event.c (createAccessibleEventListener): chain to
4144 (AccessibleEventListener_addCallback): here.
4145 (createAccessibleKeystrokeListener): chain to
4146 (AccessibleKeystrokeListener_addCallback): here.
4148 * libspi/keystrokelistener.c
4149 (spi_keystroke_listener_class_init): add signal.
4150 (impl_key_event): emit the event.
4151 (boolean_handled_accumulator): impl.
4152 (marshal_BOOLEAN__POINTER): add, gack.
4154 * libspi/accessibleeventlistener.c
4155 (spi_event_listener_class_init): add signal.
4156 (impl_accessible_event_notify_event): emit the signal &
4157 make the loop efficient.
4158 (spi_event_listener_add_callback): prepend the callback.
4160 * libspi/accessibleeventlistener.h: add an 'event' signal,
4161 decl type on callback.
4163 * libspi/keystrokelistener.h: ditto.
4165 * cspi/spi-listener.h: make methods typesafe and
4166 make them use the new event typedefs.
4168 * test/simple-at.c (report_focussed_accessible):
4169 include mag_client.h
4170 Use *(void *)text_interface not the other thing.
4172 * configure.in: add gtk to registryd bits - since we use
4175 * util/magnifier.c: include libbonobo.h
4177 2001-11-25 Bill Haneman <bill.haneman@sun.com>
4179 * test/keysynth-demo.c:
4180 Turned this into a simple scanning keyboard, to demonstrate the
4181 use of g_timeout_add () as a means of creating timers for
4182 scanning, and the use of GtkStyle for visually indicating when
4183 virtual keyboard elements are selected.
4185 keysynth-demo now listens to any keyboard keys with zero-valued
4186 keycodes (i.e. 'unused' keys) and interprets them as
4189 Reworked the shiftlatch code so that shift-down state isn't held
4190 for long periods (it's only synthesized immediately prior to
4191 the keysynth event it's modifying). Note that shiftlatch in this
4192 demo is a convenience, not intended to take the place of AccessX
4193 which is the better choice for getting 'sticky' modifier keys.
4195 * libspi/deviceeventcontroller.c:
4196 * at-bridge/bridge.c:
4197 * cspi/spi_registry.c:
4198 Removed some debug print stuff, and put other verbosity in #ifdef
4203 Implemented some more of the magnifier IDL for the simple
4204 magnifier: namely, getZoomRegionParams.
4205 Added mag_x and mag_y members to MagnifierData struct, aid of this
4207 Added GtkWindow::realize signal handler to magnifier, to keep it
4208 from receiving keyboard focus from the WM.
4210 2001-11-23 Mark McLoughlin <mark@skynet.ie>
4212 * cspi/spi-private.h: my guess at what michael forgot
4213 before he ran off to NZ :-)
4215 2001-11-23 Michael Meeks <michael@ximian.com>
4217 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4218 comment out non existant method invoke so we link.
4220 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4221 use bonobo_exception_get_text for more friendly warnings.
4223 * cspi/spi.c (Obj_Add): move into spi_main & rename
4224 spi_object_add; kill spi.c
4226 * cspi/spi_registry.c
4227 (deregisterGlobalEventListener),
4228 (deregisterGlobalEventListenerAll),
4229 (registerGlobalEventListener): fix exception leaks.
4231 * cspi/spi_main.c (spi_exception): impl. helper, so we
4232 don't leak exceptions.
4234 * cspi/spi_selection.c
4235 (AccessibleSelection_deselectSelectedChild): return the
4238 * cspi/spi_main.c (spi_ev): impl; hack - gack.
4239 (spi_registry): ditto.
4240 (SPI_init): guard against double inits.
4242 * cspi/*.c: use spi_ev (), and spi_registry () where
4243 appropriate - a temporary hack until we have something
4244 better. Use spi_object_add
4246 2001-11-22 Michael Meeks <michael@ximian.com>
4248 * cspi/Makefile.am: re organise, install the headers.
4250 * cspi/*.h: add G_BEGIN/END_DECLS
4252 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4255 Added non-preemptive keylistener for key events with no modifiers
4256 and shift-only modifier.
4258 * libspi/keystrokelistener.c:
4259 Removed some verbose diagnostics printout.
4261 * cspi/spi_registry.c:
4262 Fixed a bug that caused all key listeners to be registered as
4265 * libspi/deviceeventcontroller.c:
4266 Fixed bug that caused XGrabKey (preemptive key grab) to be called
4267 for non-preemptive key masks.
4270 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4272 * docs/reference/idl/at-spi-idl-docs.sgml:
4273 * docs/reference/idl/at-spi-idl-sections.txt:
4274 * docs/reference/idl/at-spi-idl-overrides.txt:
4275 Added missing files.
4277 * docs/reference/Makefile.am:
4278 removed idl from SUBDIRS until we can figure a way to get gtk-doc
4279 to scan the IDL files :-(
4284 Added .cvsignore files.
4286 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4288 * libspi/deviceeventcontroller.c:
4289 * libspi/keystrokelistener.c:
4291 * cspi/spi_registry.c:
4292 Added filters for KeySets, KeyEventSeq, and event types to key
4293 event dispatching, so listeners should only receive those events
4294 that they requested :-)
4296 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4301 * docs/reference:Makefile.am:
4302 * docs/reference/cspi:
4303 * docs/reference/cspi:Makefile.am:
4304 * docs/reference/cspi:tmpl:
4305 * docs/reference/cspi:tmpl:*.sgml:
4306 * docs/reference/idl:
4307 * docs/reference/idl:Makefile.am:
4308 * docs/reference/idl:at-spi-idl-sections.txt:
4309 * docs/reference/idl:at-spi-idl-docs.sgml:
4310 * docs/reference/idl:tmpl:
4311 * docs/reference/idl:tmpl:*.sgml:
4313 Restructured docs directory to allow separate 'reference' docs
4314 section, and forked idl and cspi docs. Added the sgml template
4315 files to CVS. Added the first sections/structural sgml for the
4318 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
4320 * configure.in, libspi/Makefile.am: find libXtst.
4322 2001-11-21 Michael Meeks <michael@ximian.com>
4324 * test/accessx-gui.c: s/spi_value/value/ - doh.
4326 * libspi/base.[ch]: add.
4328 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4330 * idl/Accessible.idl:
4331 * idl/Application.idl:
4334 Started gtk-doc cleanup on IDL.
4336 * libspi/deviceeventcontroller.c:
4337 Added and connected non-preemptive key notification from the
4338 toolkits (in addition to the pre-emptive support from XServer
4339 which we had before, but which causes 'focus flashing'). Filters
4340 are presently limited to key modifiers and global/non-global,
4341 KeySets are presently ignored, as are KeyEvent masks.
4343 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
4344 structs into the persistant structure rather than just storing
4345 pointers to things that might not persist across servant
4348 The XGrabKey call now does async keygrabs, because synchronous
4349 ones were deadlocking with GDK_event code in a very nasty way.
4351 Added boolean to internal method notify_keylisteners, to indicate
4352 whether the event came from the 'toolkit source' or the 'global
4353 (XServer) source' - this is used in the notification process to
4354 determine which listeners to send the event to.
4356 deviceeventcontroller.c is now warning-free.
4358 * libspi/registry.c:
4359 Fixed regression in application de-registration.
4360 Also fixed some really brain-dead weirdness having to do with
4361 event dispatching - event structs are now duplicated before being
4362 re-marshalled in the dispatch to listeners. This also fixes a
4363 Solaris build problem.
4366 2001-11-20 Michael Meeks <michael@ximian.com>
4369 (impl_accessibility_registry_deregister_global_event_listener):
4372 * libspi/deviceeventcontroller.c
4373 (spi_device_event_controller_check_key_event): return
4374 FALSE on no virtual method.
4376 * libspi/*..h: make includes work on a correctly pathed install.
4378 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
4380 * libspi/application.h: kill unused ( and whacked out )
4381 gboolean *spi_application_set_id (AtkObject *app, long id);
4383 2001-11-20 Michael Meeks <michael@ximian.com>
4385 * libspi/*.[ch]: further convert to bonobo's type func
4386 macros, remove redundnant casts etc.
4388 * libspi/text.c s/accessibility_text/spi_text/g,
4389 re-order to de-cruft.
4391 * libspi/hypertext.c: re-order to kill a huge slew
4392 of redundant forward decls.
4394 * libspi/relation.c: ditto.
4396 * libspi/image.c: ditto.
4398 * */.cvsignore: update
4400 2001-11-20 Michael Meeks <michael@ximian.com>
4402 * libspi/deviceeventcontroller.c
4403 (_controller_register_with_devices): use g_getenv,
4404 kill stdlib.h include.
4406 * libspi/keystrokelistener.c
4407 (spi_keystroke_listener_get_type): kill
4408 (spi_keystroke_listener_class_init),
4409 (spi_keystroke_listener_init): rename to this.
4411 * libspi/text.c (impl_getAttributes): fix warning / bug.
4413 * libspi/*.[ch]: more headers, includes and over commenting.
4415 2001-11-20 Michael Meeks <michael@ximian.com>
4417 * libspi/*.[ch]: fixup headers, includes and over commenting.
4419 * libspi/image.c (impl__get_imageDescription): const
4420 correctness warning fix. remove redundant casting.
4422 * libspi/table.c (impl_getRowDescription): ditto.
4423 (impl_getColumnDescription): ditto.
4425 * libspi/libspi.h: add.
4427 2001-11-19 Michael Meeks <michael@ximian.com>
4429 * libspi/editabletext.c (impl_setAttributes): fix warnings.
4431 * libspi/component.c (accessibility_component_get_type):
4432 rename to (spi_component_get_type): and macroify.
4433 (accessibility_component_init): rename to
4434 (spi_component_init): this
4435 (accessibility_component_class_init): rename to
4436 (spi_component_class_init): this
4438 * libspi/action.c (spi_action_get_type): kill, use the macro.
4440 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
4443 * libspi/application.c (spi_application_object_event_listener),
4444 (impl_accessibility_application_register_object_event_listener):
4445 warning fixes / const understanding updates.
4447 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
4450 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4452 * libspi/spi_accessible.c: Added docs and C bindings for
4453 AccessibleStateSet. (No implementations yet). Documentation
4454 coverage for C bindings now 100%. Made docs for event listeners
4459 boolean notifyListenersSync (in DeviceEventListener listener,
4460 in DeviceEvent event);
4462 oneway void notifyListenersAsync (in DeviceEventListener listener,
4463 in DeviceEvent event);
4465 Added DeviceEventListener and DeviceEvent structs (may deprecate
4466 KeyStroke and KeystrokeListener in favor of this generic
4467 event/listener framework for devices).
4469 * libspi/deviceeventcontroller.c:
4471 Changed some key listener code to take masks, etc., and paved the
4472 way for integration of toolkit/non-preemptive key events. Changed
4473 signatures of some internal methods.
4475 * at-bridge/bridge.c:
4476 Fixed regression connecting to interface signals, apparently
4477 caused by GTK+ changes.
4479 Added an internal bridge_state_listener to deal with
4480 property-change:accessible-state signals.
4482 Changed the key_listeners GList to store structs (including masks,
4483 etc.) instead of just CORBA_Objects (required for full
4484 implementation of key listener API).
4486 Connected the bridge to all currently supported Atk signals.
4487 Events now supported:
4488 object:property-change
4489 object:property-change:accessible-name
4490 object:property-change:accessible-state
4491 object:property-change:accessible-description
4492 object:property-change:accessible-parent
4493 object:property-change:accessible-value
4494 object:property-change:accessible-role
4495 object:property-change:accessible-table-caption
4496 object:property-change:accessible-table-column-description
4497 object:property-change:accessible-table-column-header
4498 object:property-change:accessible-table-row-description
4499 object:property-change:accessible-table-row-header
4500 object:property-change:accessible-table-summary
4501 object:children-changed
4502 object:visible-data-changed
4503 object:selection-changed
4504 object:text-selection-changed
4506 object:text-caret-moved
4508 object:row-reordered
4510 object:column-inserted
4511 object:column-reordered
4512 object:column-deleted
4513 object:model-changed
4515 2001-11-16 Bill Haneman <bill.haneman@sun.com>
4517 * libspi/hyperlink.c,h:
4518 Fixed some broken stuff in hyperlink.
4520 * libspi/relation.h:
4521 * libspi/relation.c:
4522 * cspi/spi_accessible.c:
4523 Initial implementations of AccessibleRelation methods, and docs.
4525 * libspi/accessible.c:
4526 Fixed a bug that caused SEGV if an accessible
4527 object's description is NULL, and a client
4528 requests it. An empty string is now returned.
4530 * cspi/spi_editabletext.c:
4531 * cspi/spi_hypertext.c:
4533 * cspi/spi_hyperlink.c:
4537 Doc coverage now 95%.
4539 2001-11-16 Bill Haneman <bill.haneman@sun.com>
4541 One last namespacing revision:
4542 * libspi/accessibleeventlistener.[ch]:
4543 Renamed SpiAccessibleEventListener to SpiEventListener,
4544 (no need for two namespaces ;-)
4546 And lots of documentation fixes:
4548 * docs/at-spi-docs.sgml:
4549 Fixed 'underscore vs. hyphen' bug that was preventing
4550 the gtk-doc API docs from being automatically generated.
4553 * cspi/spi-listener.h
4555 * cspi/spi_accessible.c
4557 * cspi/spi_application.c
4558 * cspi/spi_component.c
4559 * cspi/spi_editabletext.c
4561 * cspi/spi_hypertext.c
4563 * cspi/spi_registry.c
4564 * cspi/spi_selection.c
4568 * docs/at-spi-docs.sgml
4569 * docs/at-spi-sections.txt
4571 Added and fixed up gtk-doc documentation in cspi.
4573 Interfaces now (fully) documented (subject to revision and enhancement):
4575 Event Listener Support
4577 AccessibleApplication
4581 AccessibleEditableText
4588 AccessibleRelationSet
4593 2001-11-14 Bill Haneman <bill.haneman@sun.com>
4595 * at-bridge/bridge.c:
4596 Initial work for toolkit-level key snooper connection by bridge.
4601 New typedefs and fixes to support new namespacing, and cleaner
4602 separation of cspi bindings from libspi bonobo implementation.
4603 Removed inconsistent and extraneous Spi* namespace prefix that
4604 had crept into cspi headers.
4605 Lots of comment fixes that sed had missed.
4607 * cspi/spi-roletypes.h:
4608 * cspi/spi-statetypes.h:
4609 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
4610 to AccessibleRoleType.
4612 * libspi/accessibleeventlistener.h:
4613 Fixed minor namespacing weirdness.
4615 * libspi/deviceeventcontroller.c:
4616 Reordered some internal API for device listeners.
4617 Changed the key registry final boolean to 'is_system_global'
4618 rather than 'is_synchronous', which is more descriptive of its
4620 Added spi_device_event_controller_new().
4621 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
4623 * libspi/keystrokelistener.[ch]:
4624 Namespaced KeystrokeListener to SpiKeystrokeListener.
4625 Changed uses of keymasks to use SPI_ prefix, and did other
4628 * libspi/keymasks.h:
4629 Namespaced keymask constants with SPI_ prefix.
4631 * libspi/registry.c:
4632 Some warning fixes, and knock-on fixes from namespace changes.
4635 Added rules for accessx-gui test program.
4637 * test/accessx-gui.c:
4638 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
4639 utility. It doesn't actually use at-spi, but it's still cool and
4642 * test/keysynth-demo.c:
4646 Fixes so that these test clients work properly with the namespaced
4647 libraries. (Incompletely tested for technical reasons, fixes may follow)
4650 2001-11-13 Michael Meeks <michael@ximian.com>
4652 * libspi/application.c
4653 (impl_accessibility_application_get_version),
4654 (impl_accessibility_application_get_toolkit_name):
4656 (impl_accessibility_application_set_id),
4657 (impl_accessibility_application_get_id): remove
4658 redundant casting code.
4660 * libspi/action.c (impl_getDescription): fix warnings.
4662 * libspi/accessible.c
4663 (impl_accessibility_accessible_get_parent),
4664 (impl_accessibility_accessible_get_child_at_index),
4665 (impl_accessibility_accessible_get_state),
4666 (impl_accessibility_accessible_get_relation_set):
4667 warning fixes & include action.h
4669 2001-11-13 Michael Meeks <michael@ximian.com>
4671 * *.[ch] fix bits I screwed up:
4673 s/([^ \tb(\*\&\?\",])spi_/\1/g;
4674 s/([^ \tb(\*\&\?\",])Spi/\1/g;
4676 2001-11-13 Michael Meeks <michael@ximian.com>
4678 * *.[ch] Namespace libspi into spi_ and Spi.
4680 2001-13-11 Michael Meeks <michael@ximian.com>
4682 * Makefile.am: dist & install at-spi-1.0.pc
4684 * libspi/Makefile.am: install into at-spi-1.0
4686 * idl/Makefile.am (idldir): install into at-spi-1.0
4688 * at-spi-1.0.pc.in: add.
4690 * configure.in: build it.
4692 2001-11-12 Bill Haneman <bill.haneman@sun.com>
4694 * test/keysynth-demo.c:
4695 Use a 'realize' signal-handler to set the WM properties for
4696 the virtual keyboard, rather than making it a "POPUP" type
4697 override-redirect window (thanks to anders carlsson for that
4700 2001-11-11 Bill Haneman <bill.haneman@sun.com>
4703 * test/keysynth-demo.c:
4704 Added new test of key synthesis, which creates a simple
4705 (mouse-operated) onscreen keyboard. It inserts key events into
4706 the currently-focused window, thus it does not grab keyboard focus
4709 * cspi/spi_registry.c:
4710 Added C binding for AT-SPI generateKeyEvent.
4712 * libspi/deviceeventcontroller.c:
4713 Added call to XFilterEvent so that key listener works with XIM (we
4714 hope). Added event_synth_type to generateKeyEvent, so that we can
4715 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
4716 synthesize a press/release pair for KeySyms.
4718 2001-11-09 Bill Haneman <bill.haneman@sun.com>
4720 * libspi/Makefile.am:
4721 * registryd/Makefile.am:
4722 (temporary) hack to include libXtst in libspi and registryd.
4723 (Needed for keystroke synthesis, see below).
4726 Improved API for registerKeystrokeListener, in accordance with
4727 discussions with Gnopernicus team and X server research.
4729 * libspi/registry.c:
4730 * libspi/deviceeventcontroller.c:
4731 * libspi/accessible.c:
4732 * libspi/keystrokelistener.c:
4733 Changes and fixes to support keylisteners for potentially
4734 consumed key events (that is, 'passive grabs').
4735 Added implementation for generateKeyEvent() [untested].
4738 Changes to registerKeystrokeListener() API, as above.
4739 Added deregisterGlobalEventListenerAll(), and
4740 deregisterKeystrokeListener(), which are needed for clean exit of
4742 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
4743 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
4745 * cspi/spi_registry.c:
4746 Added implementations of function prototypes mentioned above.
4748 * registryd/registryd.c:
4749 Added the key listener event source as a g_timeout(), to allow
4750 receipt of key events that are not caught by GDK (since GDK
4751 doesn't support passive keygrabs, this was necessary).
4754 Changed to attach a keylistener to 'Alt' keys, and
4755 respond to the following keycommands: Alt-M (toggle magnifier);
4756 Alt-F (toggle speech); Alt-Q (quit).
4757 Added an exit routine to deregister the listeners, and a key
4758 listener that prints some key info to the console when a key
4759 matches the listener mask (and is thus received by the listener).
4761 * util/idl/Magnifier.idl:
4762 Changes to magnifier API to support multiple zoom regions,
4763 non-uniform scaling in x and y, markDirty, and a host of other
4764 features that would be useful to magnification.
4767 * util/mag_client.c:
4768 * util/mag_client.h:
4769 * util/mag_control.c:
4771 Source code changes to support the above IDL changes.
4774 As above, and also changes to use a (slower) generic conversion
4775 path for colormap conversions, since the fast RGB conversions have been
4776 reported to fail for 16-bit displays.
4778 2001-10-26 Michael Meeks <michael@ximian.com>
4780 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
4782 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
4784 * at-bridge/Makefile.am: fix LDFLAGS.
4786 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4788 * at-bridge/bridge.c:
4789 Re-worked listeners for toolkit events, now we have signal
4790 and property listeners. Added a private method
4791 register_atk_event_listeners(), which registers with the
4792 various atk and gtk signals we need to monitor in order to emit
4794 Added emission hook for AtkObject:property-change events, to
4795 support the 'property listeners'.
4796 Fixed some alloc()s of Accessibility_Event structs to use CORBA
4799 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
4800 which emit warnings and exit, respectively, if CORBA errors occur
4801 during remote calls, and we now use these methods to check most of
4802 our CORBA calls in the C bindings.
4804 * cspi/spi_accessible.c:
4805 Changed AccessibleSelection_refSelectedChild() to
4806 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
4807 now increment refcounts.
4809 * cspi/spi_component.c:
4810 Fixed some long pointer casts (dangerous!) to pass pointers to
4811 CORBA_longs of the proper type to the CORBA stubs, and copy the
4812 data into the longs that were passed into the C bindings code.
4814 * at-bridge/bridge.c:
4816 * libspi/accessible.c:
4817 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
4818 hyperlinks, AtkHyperlink is an object type.
4820 * libspi/application.c:
4821 Added various conversions to and from "generic" event types and
4822 atk-specific types; this is really part of the 'bridge'
4823 implementation but is valid for all AtkObject-based accessibility
4826 * libspi/editabletext.c:
4827 Fixed nasty bug wherein editable text's finalize method was
4828 unref'ing tha AtkObject reference that the text parent class was
4829 about to unref _again_. There was also a nasty inheritance bug
4830 that meant that the AccessibleEditableText class was corrupt.
4832 * libspi/selection.c:
4833 Provided implementations for some selection API that was broken.
4835 * idl/Application.idl:
4836 Added registerObjectEventListener () method.
4839 Fixed a number of return values that were Bonobo_Unknowns from
4840 bonobo_object_corba_objref(), which I
4841 forgot to dup before returning. Changed instances of
4842 bonobo_object_corba_objref (bonobo_object(o)) to
4843 BONOBO_OBJREF(o), for concision and clarity.
4845 2001-10-13 Louise Miller <louise.miller@sun.com>
4847 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
4848 idl/Event.idl, idl/Registry.idl
4849 Changed these files to include Bonobo_Unknown.idl instead
4852 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
4854 * libspi/component.c libspi/component.h:
4855 Fixed typo. Added assertions for object checks in
4856 AccessibleComponent code.
4858 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4860 * idl/Accessible.idl:
4861 Added 'isEqual (Accessible *object)'
4862 method for Accessible. (Not Yet Implemented).
4865 Changed signature of registerKeystrokeListener() to
4866 take a KeySet and KeyEventSeq so that specific keys and event
4867 types could be requested for monitoring, and added a flag
4868 is_synchronous so that either synchronous or asynchronous
4869 notification could be requested. (However this is not all
4870 implemented yet). This also meant adding two new typedefs,
4871 KeyEventSeq and KeySet.
4874 Added two new relations, RELATION_TOOLTIP_FOR and
4875 RELATION_LEAFNODE_OF.
4878 Added new state, STATE_HAS_TOOLTIP.
4880 * libspi/text.c, editabletext.c:
4881 Added new assertions to all casts of bonobo-objects from
4882 CORBA servants, to prevent Text API calls on non-text objects.
4883 Changed suspect casts of int-pointer types, so that we
4884 always send a valid CORBA_long pointer to the CORBA APIs that use
4885 in/out long parameters. We then have to copy from the CORBA_long
4886 into the regular long or int for return to the C bindings, or
4887 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
4890 * libspi/deviceeventcontroller.c:
4891 Cleaned these sources up.
4893 Changed return type for getCharacterAtOffset to
4894 CORBA_unsigned_long, to allow for 32-bit characters.
4897 2001-10-08 Bill Haneman <bill.haneman@sun.com>
4901 Fixed 'make dist' so that distro compiles...
4902 * libspi/keymasks.h:
4904 * cspi/spi-listener.c:
4905 KeystrokeListenerCB now returns a boolean.
4907 Added KeyEventType struct, and KeyStroke.
4908 Also added createKeystrokeListener(),
4909 KeystrokeListener_addCallback(),
4910 KeystrokeListener_removeCallback(), and added a keymask to
4911 registerKeystrokeListener().
4912 * cspi/spi_accessible.c:
4913 Changed numerous return types for interfaces from
4914 AccessibleComponent to Accessible<InterfaceName>; this was
4915 probably a cut-and-paste error.
4917 Implementations of new KeystrokeListener api (from spi.h,
4920 Changes to key modifier mapping.
4921 Created ControllerEventMask struct.
4922 Made DeviceEventController derive from Bonobo::Unknown.
4924 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
4925 * libspi/deviceeventcontroller.c:
4926 Added a number of new internal (private) methods.
4927 * libspi/editabletext.c:
4928 * libspi/editabletext.h:
4929 Fixed a number of bugs related to the fact that
4930 editabletext inherits from text. Fixed the EditableText struct,
4931 the init() call, and use correct casts when calling Text methods
4932 from an EditableText object. Removed (duplicate) atko from the
4933 EditableText structure, we use the one in the parent Text
4934 structure via the casts mentioned above.
4935 * libspi/keystrokelistener.[ch]:
4936 * libspi/registry.c:
4937 Changes in support of keyboard handling (above).
4939 Keyboard handling, though partly functional, is still not
4940 recommended for at-spi client use as there is considerable
4941 work yet to be done.
4944 Changed some places where pointers to various int types
4945 are cast to be pointers to CORBA_long types and vice-versa:
4946 pointer casting is not safe so we pass pointers of the correct
4947 types and then cast the result before putting it into the target
4950 * libspi/text.h: minor typos corrected.
4952 We now speak not only the name of a Text element, but the
4953 first sentence of its content, when it receives focus.
4954 I also changed the text compression to 75% from 50%.
4955 * util/Accessibility_Util.server.in:
4956 Changed the default magnifier type to be a 3x vertical
4957 splitscreen magnifier (was previously a 2x horizontal one).
4959 2001-10-03 Bill Haneman <bill.haneman@sun.com>
4961 * libspi/keystrokelistener.h:
4962 * libspi/keystrokelistener.c:
4963 Initial functional implementations of KeystrokeListener.
4966 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
4968 Fixed string handling for NULL strings in libspi.
4969 Added spi_freeString to free strings returned by C bindings.
4971 2001-09-30 Bill Haneman <bill.haneman@sun.com>
4973 * libspi/keystrokelistener.h:
4974 * libspi/keystrokelistener.c:
4975 Began (no-op) implementations of KeystrokeListener
4977 * libspi/deviceeventcontroller.c:
4978 * libspi/deviceeventcontroller.h:
4979 Began creating implementations of DeviceEventController,
4980 to handle keystroke and mouse event listening and
4982 * libspi/accessible.c:
4983 Stubbed-in the implementations for
4984 Accessibility_Accessible_getState and
4985 Accessibility_Accessible_getRelationSet.
4986 * libspi/registry.c:
4987 Improved de-registration process and fixed some bugs,
4988 deregistration now works correctly.
4990 Added initialization of applications list (to NULL).
4992 Reduced speech compression from 0.5 to 0.7, for demo.
4993 Changed call to gdk_window_set_decorations()
4994 to gtk_window_set_decorated().
4995 * at-bridge/bridge.c:
4996 Bridge now deregisters when app exits, via
4997 registration of a cleanup function
4998 with the g_atexit() call.
4999 Required making 'app' static, renamed 'this_app'.
5000 Fixed broken use of bonobo_init, passing argv wrongly.
5002 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5006 Created a new directory for
5007 accessibility-related utilities, primarily for
5008 testing and demo purposes, but with possible
5015 Onscreen magnifier utility that
5016 is implemented as a bonobo service.
5018 * util/mag_client.c:
5019 * util/mag_client.h:
5020 Client-side support (simple C bindings)
5021 for Magnification service
5023 * util/mag_control.c:
5024 Client program example for
5025 Magnification service
5027 * util/Accessibility_Magnifier.server.in:
5028 Bonobo-activation file for the
5029 Magnification service.
5032 * util/idl/Magnifier.idl:
5033 IDL defining the bonobo Magnification
5037 Modifications to use the bonobo-activated magnifier
5038 above, in place of trying to connect to an existing
5039 magnifier that uses socket-listening IPC.
5041 If env variable MAGNIFIER is set, a magnifier service
5042 will be started if one does not exist.
5044 2001-09-25 Bill Haneman <bill.haneman@sun.com>
5046 * at-bridge/bridge.c:
5047 applied patch from Marc to build and run
5048 against new glib and gtk+ (seemed like a change
5049 to bonobo_init signature was made ?)
5051 made festival-server support turned off by default.
5052 Added support for a simple magnifier (off by default)
5053 which will be added to a 'util' directory later.
5054 * at-bridge/Makefile.am:
5055 Changed "application.h" header from a 'source'
5056 to a 'dependency' of libat-bridge.
5058 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5067 Added interface implementation c files to list of
5068 includes so they are included in libcspi.
5071 Changed prototype of AccessibleAction_doAction to return a
5073 Changed prototype of AccessibleTable_getCaption to
5074 return an Accessible.
5075 Changed prototype of AccessibleTable_getSelectedRows
5076 and AccessibleTable_getSelectedColumns to
5077 return a long (returns the number of selected rows
5078 or columns respectively).
5079 Changed name of AccessibleText_refRunAttributes to
5080 AccessibleText_getAttributes.
5081 Changed prototype of AccessibleText_getCharacterExtents to
5082 return a void rather than a boolean.
5083 Added support for a AccessibleCoordType parameter
5084 specifying what type of coordinates are desired.
5085 Added an AccessibleCordType parameter to
5086 AccessibleText_getPointAtOffset.
5088 * cspi/spi_accessible.c:
5089 Added code to return the outstanding interfaces from
5090 Accessible_queryInterface.
5092 * cspi/spi_action.c:
5094 Corrected call to getNActions to call the c binding
5097 * cspi/spi_editabletext.c:
5099 Changed name from setRunAttributes to setAttributes.
5101 * cspi/spi_hyperlink.c:
5103 Changed call to getNAnchors to correctly call the c
5104 binding for an attribute.
5106 * cspi/spi_hypertext.c:
5108 Changed getImageDescription to correctly call the
5109 binding for an attribute.
5111 * cspi/spi_selection.c:
5112 Changed getNSelectedChildren to correctly call the c
5113 binding for the attribute.
5114 Changed refSelectedChild to getSelectedChild.
5118 Changed getCaption to return an Accessible.
5119 Fixed calls which retrieve attributes.
5120 Changed refAt to getAccessibleAt.
5121 Changed getNSelectedRows and getNSelectedColumns to
5125 Changed getCharacterExtents and getPointAtOffset to accept an
5126 AccessibleCoordType.
5128 Changed calls which retrieve attributes.
5129 Changed refRunAttributes to getAttributes.
5134 * idl/Hyperlink.idl:
5135 Changed n_anchors attribute to nAnchors to keep naming
5136 convention consistent.
5139 Made Table inherit from Bonobo::Unknown.
5140 Added nSelectedColumns and nSelectedRows attributes.
5143 Made Value inherit from Bonobo::Unknown.
5145 * libspi/hyperlink.c:
5146 Change for nAnchors attributte name change.
5148 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5156 Added interface implementation c files to list of
5157 includes so they are included in libcspi.
5160 Changed prototype of AccessibleAction_doAction to return a
5162 Changed prototype of AccessibleTable_getCaption to
5163 return an Accessible.
5164 Changed prototype of AccessibleTable_getSelectedRows
5165 and AccessibleTable_getSelectedColumns to
5166 return a long (returns the number of selected rows
5167 or columns respectively).
5168 Changed name of AccessibleText_refRunAttributes to
5169 AccessibleText_getAttributes.
5170 Changed prototype of AccessibleText_getCharacterExtents to
5171 return a void rather than a boolean.
5172 Added support for a AccessibleCoordType parameter
5173 specifying what type of coordinates are desired.
5174 Added an AccessibleCordType parameter to
5175 AccessibleText_getPointAtOffset.
5177 * cspi/spi_accessible.c:
5178 Added code to return the outstanding interfaces from
5179 Accessible_queryInterface.
5181 * cspi/spi_action.c:
5183 Corrected call to getNActions to call the c binding
5186 * cspi/spi_editabletext.c:
5188 Changed name from setRunAttributes to setAttributes.
5190 * cspi/spi_hyperlink.c:
5192 Changed call to getNAnchors to correctly call the c
5193 binding for an attribute.
5195 * cspi/spi_hypertext.c:
5197 Changed getImageDescription to correctly call the
5198 binding for an attribute.
5200 * cspi/spi_selection.c:
5201 Changed getNSelectedChildren to correctly call the c
5202 binding for the attribute.
5203 Changed refSelectedChild to getSelectedChild.
5207 Changed getCaption to return an Accessible.
5208 Fixed calls which retrieve attributes.
5209 Changed refAt to getAccessibleAt.
5210 Changed getNSelectedRows and getNSelectedColumns to
5214 Changed getCharacterExtents and getPointAtOffset to accept an
5215 AccessibleCoordType.
5217 Changed calls which retrieve attributes.
5218 Changed refRunAttributes to getAttributes.
5223 * idl/Hyperlink.idl:
5224 Changed n_anchors attribute to nAnchors to keep naming
5225 convention consistent.
5228 Made Table inherit from Bonobo::Unknown.
5229 Added nSelectedColumns and nSelectedRows attributes.
5232 Made Value inherit from Bonobo::Unknown.
5234 * libspi/hyperlink.c:
5235 Change for nAnchors attributte name change.
5238 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
5240 implementations-- made server implementations own AtkObject pointers
5241 rather than their respective AtkInterrface pointers to fix
5242 refcounting. AtkHyperlink is still broken.
5244 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5245 * cspi/spi_accessible.c:
5246 Added method Accessible_Role_getName(),
5247 and requisite string array (role_names).
5248 Added conversion string_from_corba_strin() call
5249 to Accessible_getName and _getDescription.
5250 * libspi/accessible.c:
5251 Added implementation for Accessible_getRole()
5253 Added festival support, used if environment variable
5256 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5258 * at-bridge/bridge.c:
5259 Now allocate Accessibility_Event using
5260 Accessibility_Event__alloc() instead of g_new0().
5261 * libspi/accessibleeventlistener.c:
5262 Initialize AccessibleEventListener->callbacks to NULL.
5263 Fixed accessible__event_listener_init() param, changed to
5264 "AccessibleEventListener *" type.
5265 Changed a bonobo_object_release_unref() call to
5266 Accessibility_Accessible_unref().
5267 * libspi/listener.c:
5268 Changed Bonobo_Unknown_unref to (equivalent)
5269 Accessibility_Accessible_unref.
5270 * libspi/registry.c:
5271 Changed bonobo_object_release_unref to
5272 Accessibility_Accessible_unref.
5274 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5277 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5278 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5279 spi-util.c spi-util.h
5280 Implementations for C bindings to remaining accessibility
5283 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5286 changed return value of Action from void to boolean to
5287 bring in line with ATK.
5290 Changed getText funcions to return "out" start and end offsets.
5291 Changed getAttributes to take and offset and return the start
5292 and end offset of the attribute run.
5293 Changed getOffsetAtPoint and getCharacterExtents to take an
5294 enum describing whether coordinates are window or screen.
5297 libspi/action.c libspi/action.h libspi/editabletext.c
5298 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5299 libspi/hypertext.c libspi/hypertext.h libspi/image.c
5300 libspi/image.h libspi/selection.c libspi/selection.h
5301 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
5302 libspi/value.c libspi/value.h
5303 Added server implementations for outstanding ATK interfaces
5304 not yet implemented.
5306 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5309 Added (missing) getName() method.
5310 Made nActions an attribute.
5311 * idl/EditableText.idl:
5312 Changed order of params in setAttributes.
5313 * idl/Hyperlink.idl:
5314 Removed getAnchor, added getURI.
5316 Changed attributes to methods, for efficiency
5317 (so that getting extents can be done in one call)
5318 * idl/Selection.idl:
5319 Changed nSelectedChildren to attribute, and re-indented.
5320 * idl/Table.idl: changed nrows, ncolumns, caption, summary
5322 * idl/Text.idl: reformatted to match our coding style.
5323 (temporarily?) removed getRowColumnAtOffset().
5324 Changed text selection API to support multi-select and
5325 non-contiguous selections, as in ATK.
5326 * idl/Value.idl: changed some methods to attributes.
5328 2001-08-24 Mark McLoughlin <mark@skynet.ie>
5330 * libspi/listener.c(impl_notify_event):
5331 BonoboUnkown_unref the source instead
5332 of bonobo_object_release_unref - the ORB
5333 handles the releasing.
5335 * configure.in: require ORBit-2.3.94 for
5338 2001-08-21 Bill Haneman <bill.haneman@sun.com>
5340 Tagged CVS repository 'EA_1_0'.
5341 * README.EARLY_ACCESS:
5342 Alphabetized acknowledgements list, and
5344 Listed some known dependencies of at-spi.
5346 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5348 * docs/at-spi-docs.sgml:
5349 * docs/at-spi-sections.txt:
5350 * docs/at-spi-overrides.txt: (Added zero-length file)
5351 Documentation improvements - gtk-doc should build
5352 docs for all implemented C bindings now.
5355 * cspi/spi.c: (New file)
5356 * cspi/spi_event.c: (New file)
5357 * cspi/spi_registry.c: (New file)
5358 * cspi/spi_accessible.c: (New file)
5359 * cspi/spi_application.c: (New file)
5360 * cspi/spi_component.c: (New file)
5361 Split spi_main.c into six parts, and included them from
5362 "spi.c". This is a bit of a hack, probably temporary,
5363 but required by gtk-doc, apparently.
5365 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5368 * docs/at-spi-docs.sgml:
5369 * docs/at-spi-sections.txt:
5371 Initial checkins/modifications for gtk-doc generation.
5374 Added (missing) interface query methods to Accessible's C binding.
5376 Added GenericInterface type definition.
5378 Added query for AccessibleComponent interface to focus event handler.
5379 Added printout of bounding box for focussed component.
5380 * libspi/component.c:
5381 Added partial implementation for AccessibleComponent to C binding.
5382 * idl/Application.idl:
5383 * libspi/registry.c:
5384 * libspi/listener.c:
5385 * libspi/application.c:
5386 * libspi/application.h:
5387 Changed "ID" attribute type from string to long.
5389 2001-08-19 Bill Haneman <bill.haneman@sun.com>
5393 Made method naming consistent: methods taking object args
5394 start with uppercase, other methods (except those using
5395 acronyms) start with lowercase. Underscores delimit between
5396 object names and method names:
5397 SPI_init() - uppercase since it starts with an acronym.
5398 getDesktopCount () - lowercase start since no object param0.
5399 Accessible_getName() - uppercase object type name, studlyCaps method
5403 Added gtk-doc documentation for all currently implemented
5404 methods in the C bindings API.
5406 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5408 * Makefile.am : changed build order to build test last.
5411 Changed "createEventListener" to "CreateEventListener".
5412 * libspi/accessibleeventlistener.c :
5413 Bugfix for addition of callbacks.
5414 * test/Makefile.am :
5415 * test/simple-at.c :
5416 Added new test that uses the C bindings API.
5418 * libspi/listener.c :
5419 * libspi/registry.c :
5420 * libspi/accessibleeventlistener.c :
5421 * at-bridge/bridge.c :
5422 Renamed member "target" of Accessibility_Event to "source",
5423 which is more descriptive.
5426 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5430 * cspi/Makefile.am :
5431 Added makefile support for at-spi/cspi directory.
5434 * cspi/spi-listener.h : (NEW FILE)
5435 Added support for/use of spi-listener.h.
5437 C bindings now build successfully, with no warnings.
5438 * libspi/accessibleeventlistener.h : (NEW FILE)
5439 * libspi/accessibleeventlistener.c : (NEW FILE)
5440 * libspi/Makefile.am :
5441 Added new object type "AccessibleEventListener"
5442 which inherits from Listener, and allows attachment
5443 of in-process callbacks (so that a client with a listening
5444 object instance can add functionality to the local
5445 implementation, dynamically).
5447 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5449 * libspi/accessible.c:
5450 Add implementation for get_index_in_parent().
5452 Added #include of "spi-roletypes.h", and
5453 added enumerated type AccessibleCoordType.
5454 Added definition for KeystrokeListener (function type).
5457 * cspi/spi-statetypes.h :
5458 * cspi/spi-roletypes.h :
5460 Added these headers, used by spi.h.
5462 Added code (NOTE: not yet built by make).
5464 2001-08-18 Mark McLoughlin <mark@skynet.ie>
5466 * libspi/Makefile.am: generate imodule
5467 at the same time as other idl compiler
5470 2001-08-17 Bill Haneman <bill.haneman@sun.com>
5471 * libspi/registry.c :
5472 * libspi/application.c :
5473 * idl/Application.idl :
5474 Made registration with toolkit an application method,
5475 which is required since each app has its own toolkit static
5476 environment. Thus the bridge must register for
5477 notification of toolkit events from each application in turn.
5478 Toolkit notifications are now successfully registered for, and
5479 sent to the listening at client.
5481 Changed toolkit event string to use hyphens rather than underscores.
5482 * libspi/listener.c :
5483 listner now gives more info in debug mode - it reports the
5484 name of the event received, as well as the name of the source.
5487 2001-08-16 Bill Haneman <bill.haneman@sun.com>
5489 * libspi/registry.c :
5490 added more implementation for toolkit events.
5491 Fixed bug such that toolkit event registrations
5492 (via atk) use the whole event name string, not
5494 Removed a useless call to an ORBit_ method.
5495 * at-bridge/bridge.c :
5496 Removed unused local sbuf[] variable.
5498 We now register for Gtk:GtkWidget:button_press_event
5499 events as well as "focus:" events.
5501 Add some more API from Registry.idl that was missing,
5502 for keystroke listening, keystroke and mouse event
5503 synthesis, and enumeration of accessible desktops.
5505 2001-08-16 Michael Meeks <michael@ximian.com>
5507 * configure.in: use AM_GLIB_GNU_GETTEXT.
5509 * Makefile.am (SUBDIRS): kill intl.
5511 2001-08-15 Michael Meeks <michael@ximian.com>
5513 * registryd/Makefile.am: s/oaf/server/ relocate info file.
5515 * configure.in: upd.
5517 * configure.in: depend on a recent bonobo-activation that
5518 will find our server files ...
5520 2001-08-16 Bill Haneman <bill.haneman@sun.com>
5522 * libspi/accessible.c : accessible_new() :
5523 Now we add the Component interface via bonobo_object_add_interface,
5524 if the contained AtkObject implements AtkComponent.
5525 * libspi/accessible.h : now include "component.h"
5526 * libspi/component.h :
5527 * libspi/component.c : added files - implementation of
5528 bonobo wrapper object for Accessibility/Component
5529 * libspi/listener.c :
5530 Added test code to check for Accessibility/Component:1.0
5531 interface and report whether it is implemented by the
5533 * libspi/registry.c :
5534 Now we check for not only the hash of the whole event
5535 string before relaying the event, we also check the
5536 "minor" event string (without the detail string).
5537 This allows event listeners to be registered against
5538 all events of a certain major+minor type, or just
5539 against a specific major+minor+detail type.
5540 * libspi/accessible.c :
5541 Added implementations for Accessible:get_parent(),
5542 Accessible:getChildCount(), and Accessible:getChildAtIndex().
5543 * libspi/registry.c :
5544 * libspi/listener.c :
5545 Replaced calls to Accessibility_Accessible_ref() and
5546 Accessibility_Accessible_unref() with
5547 calls to bonobo_object_dup_ref() and
5548 bonobo_object_release_unref(), so that the CORBA object
5549 is dup-ed and released when relayed, as well as the bonobo object.
5551 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5553 * libspi/Makefile.am,
5554 registryd/Makefile.am,
5555 at-bridge/Makefile.am.
5556 test/Makefile.am, configure.in:
5557 reverse previous changes.
5559 * /idl/Image.idl: fix typo.
5561 * test/Makefile.am: put DEBUG_FLAGS
5564 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5566 * test/app.c: use argv[0] instead of
5569 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5571 * libspi/Makefile.am,
5572 registryd/Makefile.am,
5573 at-bridge/Makefile.am.
5574 test/Makefile.am, configure.in:
5575 cleanup, replace individual LIBS/CFLAGS with
5576 AT_COMMON_{LIBS|CFLAGS}.
5580 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5582 * configure.in, libspi/Makefile.am:
5583 Change IDL path checking for bonobo-activation
5586 2001-08-15 Bill Haneman <bill.haneman@sun.com>
5588 * registryd/registry.c : separated event listeners to use
5589 3 separate lists (focus, window, toolkit). Began testing
5590 event names against hashes before relaying events.
5591 * test/at.c : now register for events of type "focus:"
5592 * test/app.c : now generate events of type "focus:"
5593 * at-bridge/bridge.c : register with ATK for focus events,
5594 and we now relay those focus events to any "focus:" listeners.
5595 This now works with the bridge as a GTK_MODULE when running test/at.
5596 * libspi/registry.c :
5597 * libspi/listener.c :
5598 now we ref event sources before propagating, and unref on receipt.
5599 * libspi/registry.c :
5600 some changes to internal structs, to support event typestring hashes.
5601 * text/app.c : changed the way the appname is generated.
5602 * cspi : added directory that will hold the C bindings library for
5603 non-CORBA/bonobo-savvy clients.
5604 * cspi/spi.h : header file that contains the function prototypes for the C binding.
5605 * idl/Component.idl : added in parameter to indicate coord system for
5606 geometry-related calls.
5607 * idl/Hyperlink.idl : added readonly n_links attribute
5608 * idl/Image.idl : changed methods to attributes.
5610 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5612 * at-bridge/Makefile.am: link against
5613 ../libspi/libspi.la instead of -lspi.
5615 * at-spi/test/app.c: include
5616 bonobo-activation.h. Use a default appname
5617 if one is not provided.
5619 2001-08-14 Bill Haneman <bill.haneman@sun.com>
5621 * idl/Registry.idl : temporarily changed register_Application
5622 to oneway, to work around issue with initial registration
5624 * idl/Application.idl : changed attribute "id" from readonly
5625 to read-write, since it needs to be assigned by Registry.
5626 * registryd/registryd.c : added call to set application id
5628 * registryd/registry.c : changed de-registration procedure to
5629 use CORBA_Object_hash() to find matching object ref in application
5630 lists and listener lists.
5631 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
5632 began distinguishing between event types (work in progress).
5634 2001-08-13 Bill Haneman <bill.haneman@sun.com>
5637 * libspi/application.c:
5638 Added implementations for get/set id, get_toolkitName,
5640 * registryd/registryd.c :
5644 Converted from use of OAF to bonobo-activation.
5645 * libspi/desktop.h :
5646 * libspi/desktop.c :
5648 Removed references to atksimpleobject, since base atkobject
5649 implementation now provides functionality we need.
5650 * libspi/atksimpleobject.c :
5651 * libspi/atksimpleobject.h :
5656 * at-bridge/Makefile.am
5657 * at-bridge/bridge.c
5660 Added directory "bridge" and contents, and added dependencies
5661 in Makefile.am/configure.in.
5662 Initial checkin of "at-bridge".
5663 This code is a GTK_MODULE which automatically registers
5664 GTK+ apps with the accessibility registry, using an object
5665 reference to the root ATK object.
5667 2001-08-10 Mark McLoughlin <mark@skynet.ie>
5669 * po/Makefile.in.in: Remove. Again. If this
5670 doesn't get autogenerated - you need to update
5673 2001-08-07 Mark McLoughlin <mark@skynet.ie>
5675 * po/Makefile.in.in: Add. Again.
5677 2001-07-31 Bill Haneman <bill.haneman@sun.com>
5679 * libspi/accessible.c : added support for 'description' property.
5680 * libspi/accessible.c
5682 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
5683 (since the two are now equivalent in libbonobo)
5691 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
5692 Bonobo::Unknown as does Accessibility::Accessible.
5693 * idl/StreamableContent.idl : as above, and replaced internal InputStream
5694 interface with Bonobo::Stream, since it was redundant with it.
5695 (The Stream returned by a StreamableContext object is expected to
5696 implement only a subset of Bonobo::Stream)
5698 2001-07-28 Anders Carlsson <andersca@gnome.org>
5700 * libspi/accessible.c (accessible_object_finalize): Change
5701 g_free to g_object_unref since the AtkObject is a GObject.
5703 2001-07-30 Bill Haneman <bill.haneman@sun.com>
5705 * idl/Accessibility.idl: add new IDL files
5708 * idl/Action.idl: Definitions of actionable UI object
5709 * idl/Component.idl: Definitions of UI component geometry, etc.
5710 * idl/Hyperlink.idl: Defs of hyperlink behavior
5711 * idl/Image.idl: Def of accessible image
5712 * idl/Selection.idl: Definition of UI object with selectable children
5713 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
5714 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
5715 * idl/Text.idl: Interface defs for UI elements with complex textual content
5716 * idl/Value.idl: Definition of UI element that is a value controller or display
5718 2001-07-27 Michael Meeks <michael@ximian.com>
5720 * po/Makefile.in.in: remove autogenerated file from CVS.
5722 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
5725 * idl/Registry.idl: include guard.
5727 * idl/Accessibility.idl: Add, and include all the other IDL
5730 * idl/*.idl: remove mass of pragmas etc.
5732 2001-07-26 Michael Meeks <michael@ximian.com>
5734 * registryd/Makefile.am (registryd_SOURCES): remove
5737 2001-07-27 Mark McLoughlin <mark@skynet.ie>
5739 * libspi/.cvsignore, registryd/.cvsignore,
5740 test/.cvsignore: updated.
5742 * po/Makefile.in.in: gettext update.
5744 2001-07-25 Bill Haneman <bill.haneman@sun.com>
5746 * initial CVS checkin
5748 2001-06-29 Michael Meeks <michael@ximian.com>
5750 * configure.in: add AM_CONFIG_HEADER to gen config.h