1 2003-05-30 Michael Meeks <michael@ximian.com>
3 * test/test-simple.c (main): use CORBA_ORB_perform_work
4 instead of an unnecessary linc_ call.
6 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
8 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
9 Add SPI_STATE_INDETERMINATE.
11 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
14 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
16 * libspi/stateset.c (init_state_type_tables): Add support for
19 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
21 * configure: Update versions of atk and gail required.
22 This fixes bug #113268.
24 2003-05-02 Bill Haneman <bill.haneman@sun.com>
26 * configure.in: Revved micro version to 1.3.1 (because of build fix).
28 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
31 Ensure headers are generated before being used by c sources.
33 2003-05-01 Bill Haneman <bill.haneman@sun.com>
36 Simplified lt versioning rules.
37 Incremented version to 1.3.0, to indicate that we're on the
40 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
42 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
43 Add MKDB_OPTIONS=--outtput-format=xml
45 * docs/reference/cspi/at-spi-cspi-docs.sgml
46 docs/reference/idl/at-spi-idl-docs.sgml:
47 Convert to Docbook XML.
49 This fixes bug #111793.
51 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
53 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
54 AcccessibleKeyEventType, AccessibleKeyMaskType.
56 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
58 * cspi/state-types.h: Add documentation for AccessibleState.
60 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
61 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
62 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
63 AccessibleComponentLayer.
65 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
68 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
70 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
71 Accessible. Add description of AccessibleEvent,
72 AccessibleEventListenerCB.
74 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
77 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
78 documentation. Add description of AccessibleKeystrokeListenerCB,
79 AccessibleKeyEventMask, AccessibleModifierMaskType,
80 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
81 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
83 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
86 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
89 This fixes bug #104730.
91 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
93 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
94 Set is_text field of Accessibility_DeviceEvent data structure.
96 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
97 is-text field of AccessibleDeviceEvent data structure.
99 This addresses part of bug #108666.
101 * registryd/devcieeventcontroller.c: Unset debug option.
103 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
106 (cpi_initial_relation_type_table): New function which initializes
107 mapping between Accessibility_RelationType and AccessibleRelationType.
108 (cspi_relation_type_from_spi_relation_type): New function which
109 translates an Accessibility_RelationType into an AccessibleRelationType.
110 (AccessibleRelation_getRelationType): Use
111 cpi_relation_type_get_spi_relation_type to return correct value.
112 (spi_state_to_corba): Return correct type for default case.
114 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
115 Use Accessibility_EventType instead of Accessibility_KeyEventType.
117 * cspi/cspi-bonobo-listener.c:
118 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
121 * libspi/accessible.c, libspi/action.c, libspi/application.c,
122 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
123 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
124 libspi/image.c, libspi/listener.c, libspi/selection.c,
125 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
126 registryd/desktop.c, registryd/registry.c:
127 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
129 * libspi/eventlistener.c
130 Remove semicolon after BONOBO_TYPE_FUNC.
133 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
134 (spi_init_relation_type_table): Initialize using correct type.
136 * registryd/desktop.c:
137 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
138 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
139 of Accessibility_KeyEventType.
141 * test/key-listener-test.c (report_tab_key_event): Use fprintf
144 * tests/simple-at.c, tests/screen-review-test.c:
145 Add include for <strings.h>.
147 * tests.stress-test.c:
148 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
150 These changes fix compiler warnings when using FORTE compiler on
151 Solaris; fixes bug #107479.
154 2003-04-10 Bill Haneman <bill.haneman@sun.com>
157 * configure.in: revved to 1.1.10
160 (SPI_KEYMASK_NUMLOCK): Added.
162 * registryd/deviceeventcontroller.c:
163 (spi_key_event_matches_listener): AND with a smaller
164 bitmask (as we should).
165 (spi_dec_translate_mask):
166 New method, sets the virtual NumLock modifier bit
167 if numlock is on. Eventually it can handle other virtual
168 modifier bits if needed, or other marshalling from
169 at-spi modifier masks to platform (X) masks.
170 (spi_dec_key_listener_new):
171 Call spi_dec_translate_mask to set up virtual mod bits
172 in the 'mask' field when creating a new listener struct.
173 (spi_dec_emit_modifier_event):
174 Set the virtual (i.e. NumLock) bits before emitting event.
175 (spi_controller_register_with_devices):
176 Query for the NumLock modifier 'physical' bit if Xkb is
177 present, for use in above methods.
181 2003-04-10 Bill Haneman <bill.haneman@sun.com>
183 * registryd/deviceeventcontroller.c:
184 (spi_keystroke_from_x_key_event):
185 Instead of checking to see if the keysym is
186 printable, check the string from XLookupString
187 if available, get the first unicode character from it,
188 and call g_unichar_isprint to determine whether the
189 is_text flag should be TRUE or FALSE.
193 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
195 * atk-bridge/bridge.c: Add support for extended events
196 * cspi/spi_event.c: Add documentation and implementation for
198 * tests/event-listener-test.c: Add tests for extended events.
200 This fixes bugs #100424 and #100426.
202 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
204 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
205 of LT_CURRENT. This fixes bug #89350.
207 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
209 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
210 number of signal parameter values before accessing them. This fixes
213 2003-04-01 Bill Haneman <bill.haneman@sun.com>
215 * configure.in: Fixed duplicate inclusion of -lspi.
216 * branched for gnome-2-2/HEAD.
217 [created tag "gnome-2-2"]
219 2003-03-07 Bill Haneman <bill.haneman@sun.com>
221 * configure.in: 1.1.9 release.
224 2003-03-07 Bill Haneman <bill.haneman@sun.com>
226 [needed by GOK, to fix bugs 107985 and 107988]
227 * registryd/deviceeventcontroller.c:
228 (spi_dec_clear_unlatch_pending):
229 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
230 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
231 (spi_dec_init_mouse_listener):Emit warning if mouse button
233 (spi_device_event_controller_forward_mouse_event):
234 Removed unnecessary parens from a conditional.
235 (global_filter_fn):Added TODO comment.
236 (impl_generate_keyboard_event):
237 Cancel a pending relatch if a 'delatching' key was
240 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
242 * atk-bridge/bridge.c:
243 Change atk_signal_child_changed to atk_signal_children_changed.
244 Reorganize code in spi_atk_bridge_signal_listener().
246 * test/event-listener-test.c:
247 Add children_changed_listener and report_children_changed_event()
248 to test AccessibleChildEvent_getChildAccessible.
250 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
252 * cspi/spi_event.c (cspi_internal_event_get_text): Change
253 g_strdup to CORBA_String_dup (bug #105291)
255 * test/event-listener-test.c (report_text_event): Add call to
258 2003-02-28 Bill Haneman <bill.haneman@sun.com>
260 * registryd/deviceeventcontroller.c:
261 (spi_keystroke_from_x_key_event):
262 Fix string and keysym return codes to match modifier state.
265 2003-02-28 Bill Haneman <bill.haneman@sun.com>
267 * registryd/deviceeventcontroller.c:
268 (spi_keystroke_from_x_key_event):
269 Fix segv due to improper use of isprint(c). [bug #107254]
271 2003-02-24 Bill Haneman <bill.haneman@sun.com>
274 (get_accessible_text_boundary_type):
275 Move default return value to (new) default case in switch.
276 (get_accessible_text_clip_type):
277 Move default return value to (new) default case in switch.
279 * libspi/application.c:
280 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
281 Remove unused methods.
282 (impl_accessibility_application_register_object_event_listener):
283 Remove unused methods.
286 Added #include of <math.h>.
288 * registryd/deviceeventcontroller.c:
289 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
290 we don't currently use this method.
291 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
293 (impl_generate_key_event):
294 Remove unused variables.
295 (impl_generate_mouse_event):
296 Initialize button to zero, just in case we get an invalid
297 input. Added support for mouse buttons 4 and 5.
298 (spi_device_event_controller_new):
299 Removed unused variable declaration for 'private'.
301 Added #include of <gdk/gdk.h>
303 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
305 * configure.in: Update to work when X is not installed in expected
306 location. Fixes bug #105836.
308 * atk-bridge/bridge.c
309 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
311 (spi_atk_register_event_listener): Add signal listener for
313 (spi_atk_bridge_signal_listener): Event event when link-selected
314 signal is emitted. (bug #104622)
316 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
317 on returned string. (bug #105291)
319 * test/event-listener-test.c: Add test for link-selected.
321 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
323 * atk-bridge/Makefile.am: Correct typo in previous commit.
325 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
327 * atk-bridge/Makefile.am: Allow for build directory to be different
328 from source directory
330 * registryd/Makefile.am: Allow for build directory to be different
331 from source directory
335 2003-01-29 Bill Haneman <bill.haneman@sun.com>
338 Fixed dependencies for libcspi so that libspi gets pulled in
339 properly. Fixes 104741.
343 Clean up inline docs a little.
345 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
347 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
348 This is done by implementing AtkComponent for SpiAtkDesktop, which is
349 the AtkObject within an SpiDesktop.
350 This addresses bug #101524.
352 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
353 Remove call to gdk_init().
355 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
356 so that Display is set when SpiDesktop is created.
358 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
360 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
361 This fixes bug #102830.
363 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
365 * test/test-simple.c: Update to take account of fact that GailButton
366 now implements AtkText.
367 (create_text_window): Set name on AtkObject for GtkEntry.
368 (validate_accessible): Check accessible name before calling test_text().
370 * libspi/Makefile.am: Fix problem with building outside of source
371 directory. Bug #98120.
373 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
374 typo in documentation comments. Bug #94275.
376 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
378 * libspi/text.c (impl_getBoundedRanges): Bug fix.
380 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
383 Add includes to avoid compiler warnings on Solaris.
384 (impl_getRangeExtents): Bug fix.
386 2002-12-17 Bill Haneman <bill.haneman@sun.com>
388 Fix for 100944, [API addition approved by Gman and murrayc].
395 * idl/Accessibility_Text.idl:
396 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
397 (Text::getRangeExtents): New method for efficient
398 bounds query of a text range.
399 (Text::getBoundedRanges): New method for efficient
400 clipping of text to bounding boxes.
401 (unImplemented7, unImplemented8):
402 Removed these padding methods to preserve bincompat.
405 (impl_getRangeExtents): implementation of new IDL.
406 (impl_getBoundedRanges): implementation of new IDL.
407 (SpiTextRect): Internal use struct.
408 (_spi_text_rect_union): internal method, calculates union of two
409 SpiTextRect bounding rects.
410 (_spi_text_range_seq_from_gslist): internal method, allows us
411 to build our sequence efficiently as a gslist then convert it
413 (_spi_bounds_contain): internal method, determines whether
414 a text character is "in" or "out" of a clip rect according to
415 values of TEXT_CLIP_TYPE.
416 (spi_text_class_init): Initialize the new methods in the epv.
419 (AccessibleTextClipType): New enum used by screen review api.
420 (AccessibleTextRange): New struct used by screen review api.
421 (AccessibleText_getRangeExtents):
422 cspi binding for Accessibility_Text_getRangeExtents.
423 (AccessibleText_getBoundedRanges):
424 cspi binding for Accessibility_Text_getBoundedRanges.
425 (AccessibleTextRange_freeRanges): convenience method.
428 (AccessibleText_getRangeExtents):
429 cspi binding for Accessibility_Text_getRangeExtents.
430 (AccessibleText_getBoundedRanges):
431 cspi binding for Accessibility_Text_getBoundedRanges.
432 (AccessibleTextRange_freeRanges): convenience method.
433 (get_accessible_text_clip_type): internal conversion method.
434 (get_accessible_text_ranges_from_range_seq): internal conversion method.
436 * registryd/deviceeventcontroller.c:
437 (spi_dec_mouse_check):
438 Improved behavior for mouse:abs events
439 [same granularity as mouse:rel events, and no
440 events when mouse is idle].
442 2002-12-16 Michael Meeks <michael@ximian.com>
444 * cspi/spi_accessible.c (spi_state_to_corba): rename.
446 * libspi/stateset.c (state_spi_to_atk): split out
447 ( fix several remote array bounds nasties )
448 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
449 (impl_remove): make safe from array bounds issues.
450 (spi_atk_state_from_spi_state): impl.
452 * libspi/stateset.h (spi_state_set_cache_is_empty):
453 add a set of wrapper defines to get layering right.
455 * cspi/spi_accessible.c: update state set stuff to
458 2002-12-14 Michael Meeks <michael@ximian.com>
460 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
461 to avoid 2 roundtrips to the registry per key event
462 (spi_atk_bridge_key_listener): upd.
463 (deregister_application): release the dec.
465 * registryd/registry.c (notify_listeners_cb):
466 bin lots of re-enterant complexity - we no longer
467 do a round-trip bonobo ref here, ensure that a single
468 listener's exception failure won't poison all other
470 (impl_registry_notify_event): bin obvious memory leak.
472 2002-12-13 Michael Meeks <michael@ximian.com>
474 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
475 init the ev so the error is meaningful.
476 (spi_atk_bridge_key_listener): ditto.
478 * cspi/spi_main.c (cspi_ev): init the ev so we start
479 with a clean slate, otherwise the first exception
482 * cspi/spi_text.c (get_accessible_text_boundary_type):
483 add a fallthrough for no warnings.
485 * cspi/spi_registry.c: prune unused warnings.
487 * cspi/spi_main.c (cspi_object_take): fix
488 mind-blowing brokenness ( by watching the compile
491 * cspi/spi_accessible.c (Accessible_getStateSet):
492 re-impl. to use an AtkStateSet.
493 (spi_state_type_from_accessible_state),
494 (init_state_table): bin these.
496 * libspi/stateset.c (spi_atk_state_set_from_sequence):
498 (atk_state_set_from_accessibility_state_set): here.
500 * cspi/spi_accessible.c (spi_state_to_atk): impl.
501 (AccessibleStateSet_contains, AccessibleStateSet_ref),
502 (AccessibleStateSet_unref, AccessibleStateSet_contains),
503 (AccessibleStateSet_add, AccessibleStateSet_remove),
504 (AccessibleStateSet_equals, AccessibleStateSet_compare),
505 (AccessibleStateSet_isEmpty): re-write to use a local
508 2002-12-13 Bill Haneman <bill.haneman@sun.com>
510 * configure.in: Revved to 1.1.7 (new keymask vals).
512 2002-12-10 Bill Haneman <bill.haneman@sun.com>
515 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
517 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
520 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
521 to compare two CORBA_TypeCodes.
522 (cspi_internal_event_add): Silence warning from FORTE compiler.
524 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
525 avoid implicit declaration of functions.
527 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
529 * atk-bridge/bridge.c:
530 (spi_atk_bridge_init_event_type_consts): Store signal id for
531 active-descendant-changed signal.
532 (spi_atk_register_event_listeners): Add signal listener for
533 active-descendant-changed signal,
534 (spi_atk_bridge_signal_listener): Move code in function
535 spi_atk-signal_emit_event() into this function.
536 Add support for active-descendant-changed
537 Update support for child-changed signal.
538 (spi_bridge_window_event_listener): Silence warning.
540 * libspi/spi_private.[ch]:
541 (spi_init_any_object): Change second parameter from CORBA_Object to
543 Omit call to CORBA_Object_duplicate().
544 Set CORBA_any's _value to CORBA_Object*.
546 2002-12-06 Bill Haneman <bill.haneman@sun.com>
552 (AccessibleEvent_ref, AccessibleEvent_unref):
553 New methods, for persisting an event outside the emission context.
554 Must be used if the new accessor methods are to be called
555 outside of the event listener's callback.
557 * cspi/bonobo/cspi-bonobo.c:
558 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
559 as second parameter instead of NULL, so we can call
560 cspi_check_ev afterwards.
563 (cspi_object_take): New internal method,
564 converts a CORBA_Object reference to a hard ref on
565 an Accessible if possible, returning NULL if the object
566 reference is invalid or an Accessible * otherwise.
569 (AccessibleEvent_ref):
570 Increment the event's internal private refcount, and
571 add the event's internal struct to an internal cache
572 if it's not already there.
573 (AccessibleEvent_unref):
574 Decrement the event's refcount and remove it from
575 the cspi event cache if refcount==0.
576 (cspi_event_compare): New private method.
577 Compares two event structs via their ids. Used
579 (cspi_internal_event_lookup): New private method.
580 (cspi_internal_event_check): New private method,
581 a 0-order sanity check for events to make sure their
582 private data is intact.
583 (cspi_internal_event_add, cspi_internal_event_remove):
584 New private methods for managiing the event cache.
586 * cspi/bonobo/cspi-bonobo-listener.c:
588 Initialize the new private data elements (id, magic, ref_count).
590 * atk-bridge/bridge.c:
591 (spi_atk_bridge_signal_listener):
592 Fixed bug #100530, passing wrong params to emission func.
594 * registryd/deviceeventcontroller.c:
595 (spi_dec_button_update_and_emit):
596 Fixed type in mask bit operations; fix for #99799.
598 2002-12-02 Bill Haneman <bill.haneman@sun.com>
600 Removed some of the more dangerous workarounds from
601 previous commit; they are only needed by GOK, which
602 in reality should be using another method to accomplish
603 the goals. So on reconsideration some of the workarounds
606 * registryd/deviceeventcontroller.c:
607 (spi_keycodes_contain, spi_dec_init_keycode_list):
608 Removed these methods, used only by a nasty hack to try
609 and detect whether a key synthesis should be allowed
610 to reset the XKB latch state or not. This code was only
611 required to work around an interaction between GOK,
612 button events, and XKB.
613 (impl_generate_key_event):
614 Removed hack at end of key generation that tried to
615 "do the right thing" if XKB latch keys were generated
616 in the midst of button press/release pairs.
619 Added a check for HAVE_XINPUT. Not normally used yet.
621 2002-11-25 Bill Haneman <bill.haneman@sun.com>
623 Workarounds and fixes for mouse event/XKB interaction.
625 * registryd/deviceeventcontroller.c:
626 (spi_keycodes_contain, spi_dec_init_keycode_list):
627 New internal methods.
628 (spi_dec_set_unlatch_pending):
629 Split the method that tells XKB to expect an
630 unlatch (and revert it) out of the rest of the
631 event handling code. This method is called by the
632 two mouse event handlers (the poll and the filter).
633 (spi_dec_update_and_emit, spi_dec_mouse_check):
634 New methods split from spi_dec_poll_mouse_moved.
635 The second one is now called from inside the filterFn
636 when an XKB delatch event is received, to determine
637 whether to revert the delatch or not.
638 (spi_poll_mouse_moved): Refactor; also we can now
639 properly handle the case where multiple button states
640 have changed between polling cycles and we didn't get
641 notified due to another client's grab.
643 Synchronize the server while handling an XKB notification.
644 Ugly, but apparently necessary to avoid nasty races.
645 Check the mouse state on receipt of an XKB latch change,
646 to decide whether to revert the latch or not. (Latches are
647 reverted if there is an immediately preceding mouse button
648 event that a client has consumed, in which case we don't want
649 the user to see the side-effect of the event).
650 (spi_device_event_controller_forward_mouse_event):
651 Check for modifier events and fire before resetting mouse_mask_state,
652 prevents losing modifier events.
654 (impl_generate_keyboard_event):
655 If we've just generated a keyboard event for a non-shift key,
656 we don't want to revert the pending XKB latch.
657 Otherwise, check the modifier state (via a call to
658 spi_dev_mouse_check) and set the relatch mask to
659 that state before returning.
661 2002-11-24 Bill Haneman <bill.haneman@sun.com>
664 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
667 * atk-bridge/bridge.c:
668 (spi_atk_register_event_listeners):
669 Don't re-register for ATK events if the registry has died
670 and the app needs to re-register; the ATK listeners are in
671 process and doing so will cause duplicate emission.
673 * registryd/deviceeventcontroller.c:
674 (spi_poll_mouse_moved):
675 Reformat the source, detect and emit multiple button-change
676 events (i.e. if multiple buttons have changed between poll
678 Add code to detect mouse-down events even when the pointer
679 is grabbed; workaround for GOK bug 98420.
680 (spi_controller_register_with_devices):
681 Call XTestGrabControl with 'impervious' flag set to True,
682 allows us to synthesize events and query the pointer even during
683 an active grab by another client.
684 (spi_device_event_controller_forward_mouse_event):
685 Set the mouse_mask_state to the mouse_button_state from
686 the intercepted event, to synchronize the grab listener with
689 2002-11-20 Bill Haneman <bill.haneman@sun.com>
691 * cspi/spi_accessible.c:
692 (AccessibleRole_getName):
693 Added necessary strings for making this (deprecated)
694 method work with the new role types.
695 (init_role_table, role_table):
696 Added definition of SPI_ROLE_APPLICATION.
698 * libspi/spi-roletypes.h:
699 Added SPI_ROLE_APPLICATION.
701 * idl/Accessibility_Role.idl:
702 Added ROLE_APPLICATION.
704 * docs/reference/cspi/at-spi-cspi-decl.txt:
705 Added SPI_ROLE_APPLICATION to docs.
707 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
709 * cspi/spi_accessible.c
710 (cspi_init_role_table): Do not write beyond end of role_table.
711 (Accessible_getRole): Use correct type for value returned by
712 Accessibility_Accessible_getRole().
714 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
715 beyond end of role_table. (This fixes bug #98269)
717 * libspi/application.c: Add include file spi-private.h for
718 definition of spi_init_any_nil.
720 2002-11-19 Bill Haneman <bill.haneman@sun.com>
724 * libspi/spi-private.h:
725 Added DGB() macro, and extern int _dbg declaration.
727 * registryd/registry.c:
728 (definitions) storage for _dbg.
730 Get environment variable "AT_SPI_DEBUG".
731 (spi_registry_set_debug):
732 New method, to initialize _dbg value.
733 (spi_listener_struct_new, spi_registry_object_finalize):
734 (notify_listeners_cb):
735 Changed fprintfs to use DBG and g_warning().
737 * registryd/deviceeventcontroller.c:
738 (_deregister_keygrab, spi_controller_register_device_listener):
739 Changed debug/warning messages to use DBG macro.
743 Changed warning messages to use DBG macro and g_warning().
745 * atk-bridge/bridge.c:
746 (atk_bridge_init, spi_atk_bridge_get_registry):
747 (spi_atk_bridge_exit_func):
748 (spi_atk_bridge_property_event_listener):
749 Changed status, warning, and error messages to use
750 g_warning, g_message, and DBG macros.
753 Read the state of the AT_SPI_DEBUG environment variable
754 and set a local '_dbg' accordingly.
756 2002-11-19 Bill Haneman <bill.haneman@sun.com>
758 FIXES for 98836, 98842, other bugs.
761 Revved to 1.1.4, interface-age=4, binary-age=4.
763 * registryd/deviceeventcontroller.c:
765 Fixed crasher bug in last_mouse_pos initialization.
767 * registryd/registry.c:
768 (desktop_add_application, desktop_remove_application):
769 Added (and then commented out) some support for
770 object context marshalling. [TODO]
772 * atk-bridge/bridge.c:
773 (spi_atk_bridge_event_context_create):
774 Commented out object context creation until it can
775 be properly tested and debugged.
777 * registryd/registry.c:
778 (impl_registry_notify_event):
779 Fixed crasher bug, we were calling
780 spi_re_entrant_list_foreach () with an empty list.
782 2002-11-18 Bill Haneman <bill.haneman@sun.com>
784 * idl/Accessibility_Action.idl:
785 * idl/Accessibility_Component.idl:
786 * idl/Accessibility_Desktop.idl:
787 * idl/Accessibility_Event.idl:
788 * idl/Accessibility_Hyperlink.idl:
789 * idl/Accessibility_Image.idl:
790 * idl/Accessibility_Relation.idl:
791 * idl/Accessibility_Selection.idl:
792 * idl/Accessibility_State.idl:
793 * idl/Accessibility_Value.idl:
794 Updated unimplemented slot count to minimum of
795 four for all interfaces, for ABI freeze.
797 * idl/Accessibility_EditableText.idl:
798 * idl/Accessibility_Text.idl:
799 Updated unimplemented slot count to six
802 * idl/Accessibility_Registry.idl:
803 Updated unimplemented slot count to six
804 (also for DeviceEventController),
807 * idl/Accessibility_Table.idl:
808 Updated unimplemented slot count to eight,
811 * idl/Accessibility_Event.idl:
812 Added CORBA_any "any_data" member to Event struct.
814 * idl/Accessibility_Event.idl:
815 Added CORBA_any "any_data" member to Event struct.
817 * atk-bridge/bridge.c:
819 atk_signal_text_changed, atk_signal_child_changed,
820 signal ids queried from gtype system.
821 (AtkBridgeEventContextType): New enum.
822 (AtkBridgeEventContextData): New struct.
823 (AtkBridgeEventContext): New struct.
824 (atk_bridge_init_event_type_consts):
825 New method, initializes type contants for comparison
826 prior to emit_eventv.
827 (atk_bridge_event_context_init): New method,
828 initializes a CORBA_any from an AtkBridgeEventContext.
829 (atk_bridge_focus_tracker): Call spi_init_any_nil to
830 initialize the event.any_data struct.
831 (spi_atk_bridge_event_context_create): New method,
832 creates an AtkBridgeEventContext from signal/event info.
833 (spi_atk_bridge_event_context_free): New method.
834 (spi_atk_emit_eventv): Changed to take an
835 AtkBridgeEventContext parameter. We now initialize
836 the event.any_data member prior to notifying the
837 Registry, via the AtkBridgeEventContext.
838 (spi_atk_bridge_property_event_listener):
839 (spi_atk_bridge_state_event_listener):
840 Match emit_eventv signature.
841 (spi_atk_bridge_object_event_listener):
842 Match emit_eventv signature, and create an
843 event context from the event details.
844 Free the event context afterwards.
845 (spi_atk_bridge_window_event_listener):
846 Create an event context, pass it to the
850 (AccessibleEvent_getContextString):
851 (AccessibleEvent_getContextObject):
852 New methods, allow query of AccessibleEvent objects
853 for more context details (via the "any_data" member
854 of the Event struct, above).
857 Definitions for AccessibleEvent_getContextString
858 and AccessibleEvent_getContextObject.
860 * cspi/spi_listener.h:
861 (InternalEvent): New struct.
864 (AccessibleEvent_getContextString):
865 (AccessibleEvent_getContextObject):
866 Implementations of new methods, for obtaining
867 additional context information from some event types.
869 * cspi/spi_registry.c:
870 (SPI_registerGlobalEventListener):
871 Added mention of active-descendant-changed event in docs.
873 * cspi/cspi-bonobo-listener.c:
875 Marshal the any into the AccessibleEvent via
878 * libspi/spi-private.h:
879 #include <orbit/orbit.h>
881 (spi_init_any_string):
882 (spi_init_any_object):
883 New convenience function declarations.
887 (spi_init_any_string):
888 (spi_init_any_object):
889 New convenience function implementations.
891 * registryd/deviceeventcontroller.c:
892 (spi_poll_dec_mouse_moved):
893 (spi_device_event_controller_forward_mous_event):
894 Initialize any_data member of event.
895 (spi_deregister_controller_device_listener):
896 Fix incorrect param pass which was preventing deregistration.
898 * registryd/registry.c:
899 (desktop_add_application):
900 (desktop_remove_application):
901 Add object data to event's any_data before dispatch.
903 Fix for error messages from GAIL.
905 * test/event-listener-test.c:
906 Test new ContextString and "any_data" API:
907 (report_text_event): New method query and output context string.
908 (main): register a new text listener with report_text_event
911 2002-11-19 Darren Kenny <darren.kenny@sun.com>
913 Fixes for bugs 98127 and 97914.
914 * cspi/spi-roletypes.h:
915 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
917 * cspi/spi-statetypes.h:
918 Added SPI_STATE_MANAGES_DESCENDANTS
920 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
921 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
922 * cspi/spi_accessible.c:
923 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
924 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
925 Accessibility_STATE_MANAGES_DESCENDANTS
926 * libspi/accessible.c:
927 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
928 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
929 As requested by Bill, I also cleaned up the alignment.
931 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
932 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
934 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
935 Accessibility_STATE_MANAGES_DESCENDANTS
936 * docs/reference/cspi/tmpl/spi_accessible.sgml:
937 Document changes reflecting modifications to roles.
938 * docs/reference/cspi/tmpl/spi_relation.sgml:
939 Document changes reflecting modifications to relations.
940 * docs/reference/cspi/tmpl/spi_stateset.sgml:
941 Document changes reflecting modifications to states.
943 2002-11-17 Bill Haneman <bill.haneman@sun.com>
946 Revved to 1.1.3, interface-age=3, binary-age=3.
950 Removed accessx-gui from the tests, since we have a nice
951 keyboard accessibility capplet now :-)
953 * test/keysynth-demo.c:
954 (increment_scan): removed do-nothing default: case,
957 * test/visual-bell.c:
958 (main) : removed do-nothing default: case,
962 (AccessibleAction_getKeyBinding_):
963 Documented keybinding string format.
967 (AccessibleText_getAttributes):
968 Documented the text attribute string format.
969 It's changed to use semicolon delimiters also,
970 to prevent clashes with CSS attributes, but the old
971 trick of looking for ", " strings will still work
972 (as unreliably as ever). Fix for bug related to 97916.
975 Include <cspi/bonobo/cspi-bonobo-listener.h>
977 (SPI_freeAccessibleKeySet):
978 (AccessibleKeystrokeListener_addCallback):
979 (AccessibleKeystrokeListener_removeCallback):
980 Modify to use AccessibleDeviceListener API internally,
981 instead of AccessibleKeystrokeListener.
983 * idl/Accessibility_Event.idl:
984 Added two more empty slots to EventListener (for a total of four).
986 * idl/Accessibility_Accessible.idl:
987 Added four empty slots to Accessible interface.
989 2002-11-15 Bill Haneman <bill.haneman@sun.com>
991 * idl/Accessibility_Registry.idl:
992 (KeyEventType, EventType):
993 Marked KeyEventType as deprecated; it duplicates
994 functionality of EventType, which has been extended to
995 include Mouse-button events.
996 (KeyEventTypeSeq): defined in terms of EventType.
997 (registerDeviceEventListener, deregisterDeviceEventListener):
998 New methods, for managing listeners to device events,
999 which potentially may consume them.
1002 Added definition for AccessibleDeviceListener.
1004 * cspi/spi-listener.h:
1005 (enum AccessibleDeviceEventType):
1006 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1007 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1008 for backwards compat.
1009 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1010 and typedef'd AccessibleKeystroke to it for back-compat.
1011 (AccessibleDeviceListenerCB):
1012 New function prototype typedef.
1015 (AccessibleDeviceEventMask): New typedef.
1016 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1017 (AccessibleKeyMaskType):
1018 Set equivalent to AccessibleModifierMaskType for back-compat.
1019 (SPI_createAccessibleKeystrokeListener):
1020 (AccessibleKeystrokeListener_unref):
1021 Deprecated in favor of equivalent (better-named) new API below..
1022 keystroke listeners are like all device listeners.
1023 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1024 New API names for old features :-).
1025 (AccessibleDeviceListener_addCallback):
1026 (AccessibleDeviceListener_removeCallback):
1027 (SPI_registerDeviceEventListener):
1028 (SPI_deregisterDeviceEventListener):
1032 (SPI_createAccessibleKeystrokeListener):
1033 Use new preferred API, cspi_device_listener_new() and
1034 cspi_device_listener_add_cb().
1035 (AccessibleKeystrokeListener_removeCallback):
1036 Use new preferred API, cspi_device_listener_remove_cb().
1037 (AccessibleKeystrokeListener_unref):
1038 Use new preferred API, cspi_device_listener_unref().
1039 (SPI_createAccessibleDeviceListener):
1040 (AccessibleDeviceListener_addCallback):
1041 (AccessibleDeviceListener_removeCallback):
1042 Implementation of new API.
1044 * cspi/spi_registry.c:
1045 (SPI_registerDeviceEventListener):
1046 (SPI_deregisterDeviceEventListener):
1047 Implementation of new API. Fixed memory leak and removed need to
1048 allocate EventTypeSeq (thanks Michael for catching this).
1049 Squashed a wayward CORBA_exception_free that shouldn't get called.
1051 * cspi/bonobo/cspi-bonobo-listener.c:
1053 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1054 (cspi_key_event): renamed to cspi_device_event().
1055 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1056 Extended to handle mouse button events as well as key events.
1057 (CSpiKeystrokeListener):
1058 Class superceded by CSpiDeviceListener.
1059 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1060 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1062 * cspi/bonobo/cspi-bonobo-listener.h:
1063 (CSpiKeystrokeListener):
1064 Class superceded by CSpiDeviceListener.
1065 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1066 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1068 * libspi/Makefile.am:
1069 Replaced keystrokelistener.h and keystrokelistener.c
1070 with devicelistener.h and devicelistener.c; keystrokelisener.h
1071 stub retained for back-compat.
1073 * libspi/keystrokelistener.c:
1077 Replaced inclusion of keystrokelistener.h with devicelistener.h.
1079 * registryd/deviceeventcontroller.c:
1080 (DEControllerListener): Added Accessibility_EventTypeSeq member.
1081 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1082 (DEControllerPrivateData): Added xkb settings data.
1083 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1084 button release events (which can't be captured via XGrabButton).
1085 Don't dispatch via the 'normal' event mechanism if the device event was
1087 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1088 Handle the typeseq data in its new location (see above).
1089 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1090 New methods, for "generic" device listeners.
1091 (spi_controller_register_device_listener):
1092 Now handle mouse event listeners as well as key listeners.
1093 (spi_controller_notify_mouselisteners):
1094 New internal method.
1095 (spi_device_event_controller_forward_mouse_event):
1096 Now we notify mouse device listeners as well as generating the
1097 non-consumable "mouse:" events.
1099 We must check and restore the XKB
1100 modifier map if we consume the event, since the act of triggering
1101 a mouse event will normally reset the XKB latch. This is required for
1103 (spi_controller_register_with_devices):
1104 Load the XKB settings when registering, and register for XKB
1105 state notify events.
1106 (spi_key_eventtype_seq_contains_event):
1107 Renamed spi_eventtype_seq_contains_event, since it's used
1108 internally for all device event types now.
1109 (spi_key_event_matches_listener):
1110 Uses spi_eventtype_seq_contains_event now.
1111 (spi_device_event_controller_object_finalize):
1112 Free the private data and the XkbKeyboard struct.
1113 (impl_register_device_listener, impl_deregister_device_listener):
1114 Implementation of new IDL.
1115 (spi_deregister_controller_device_listener):
1116 New internal method.
1117 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1118 More efficient implementation, we don't have to create a new
1119 XkbControls structure every time we query.
1120 (spi_device_event_controller_class_init):
1121 Initialize the epv entries for the new IDL. Assign the
1122 "spi-dec-private" quark.
1123 (spi_device_event_controller_init):
1124 Initialize the private data.
1125 (spi_device_event_controller_forward_key_event):
1126 Removed a bogus CORBA_exception_free() call.
1128 * registryd/deviceeventcontroller.h:
1129 Replaced inclusion of keystrokelistener.h with
1132 * test/event-listener-test.c:
1133 (report_mouse_event):
1136 Added mouse-event device listener.
1138 * test/test-simple.c:
1139 (create_test_window):
1140 Fixed regression (we were instantiating a GtkRange,
1141 which is now an abstract class). Also fixed to match
1142 existing AtkRole names, this seems to have changed in ATK
1143 awhile ago; too late now I think, and the new
1144 mechanism is at least elegant and consistent with the
1145 glib enum "nick" APIs.
1147 2002-11-15 Darren Kenny <darren.kenny@sun.com>
1149 * idl/Accessibility_Relation.idl:
1150 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1151 RELATION_EMBEDS,RELATION_EMBEDDED_BY
1152 * idl/Accessibility_Role.idl:
1153 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1154 * idl/Accessibility_State.idl:
1155 add STATE_MANAGES_DESCENDANTS
1156 * test/event-listener-test.c:
1157 Added a listener for active-descendant events.
1159 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
1161 * atk-bridge/bridge.c
1162 (atk_bridge_init): If application is Bonobo component wait until top
1163 level is added before registering
1164 (spi_atk_bridge_do_registration): New function which contains code,
1165 formerly in atk_bridge_init, to do application registration.
1166 (spi_atk_bridge_toplevel_added): Signal called when top level
1167 added to Bonobo component
1169 This fixes bug #83134.
1171 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
1173 * registryd/deviceeventcontroller.c
1174 Fixed compilation error caused by calling gettimeofday()
1177 2002-10-18 Bill Haneman <bill.haneman@sun.com>
1182 Added template for HAVE_XKB.
1185 Changes to check for XKB, and to set the HAVE_XKB #define if it
1188 * libspi/listener.c:
1189 ()impl_notify_event): Make failure to get event source name
1192 * registryd/deviceeventcontroller.c:
1193 (#include): include X11/XKBlib.h.
1194 (DEControllerPrivateData) : New struct.
1195 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
1197 (dec_synth_keycode_press) (dec_synth_keycode_release):
1198 New methods; split the key synthesis code into these methods.
1199 They check XKB settings before determining the "time" values to
1200 pass to Xtest; this fixes bug #95828.
1201 (impl_generate_keyboard_event): Changed to use methods above,
1202 instead of callng Xtest directly.
1203 (spi_device_event_controller_init): Initialize new privae struct s
1205 (spi_device_event_controllr_object_finalize):
1206 Free the (new) private data.
1208 * registryd/deviceeventcontroller.h:
1209 Add new gpointer to end of struct data.
1211 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1214 Incremented revision to 1.1.2, SONAME is still '.so', library
1215 extensions are ".so.0.0.2".
1217 * registryd/deviceeventcontroller.c:
1218 FIXES FOR #93592 and #95940.
1219 (statics): renamed mouse_button_state to mouse_mask_state,
1220 added key_modifier_mask.
1221 (spi_dec_poll_mouse_moved):
1222 Added key modifier checks, and emit "keyboard:modifiers"
1223 events when the key modifiers currently in use change.
1224 Also generate "mouse:abs" events periodically, even if the mouse
1225 is stationary (should we?).
1226 Alternatively we could generate "mouse:abs" events for either all
1227 mouse movements, or every 'nth' mouse movement, or at the
1228 beginning and end of every "active" mouse period.
1230 * test/event-listener-test.c:
1231 (main): Added listener for "keyboard:modifiers" events.
1233 2002-10-15 Bill Haneman <bill.haneman@sun.com>
1235 * libspi/keymasks.h:
1236 Added key mask #defines for mouse buttons; e.g.
1237 SPI_KEYMASK_BUTTON1, etc.
1240 Incremented dependency on ATK to version 1.1.0. (This dependency
1241 is probably premature but will soon be real enough).
1243 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
1245 * libspi/hyperlink.[ch]
1246 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
1247 (get_hyperlink_from_servant): Check object is AtkHyperlink not
1250 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
1255 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
1257 * registryd/deviceeventcontroller.c
1258 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
1259 events to be ignored.
1260 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
1261 keyboard_mode so that XAllowEvents() can be called.
1265 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
1267 * cspi/spi-accessible.c: Correct names of roles returned by
1268 AccessibleRole_getName(). Fixes bug #95055.
1270 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
1272 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
1275 * registryd/registry.c
1276 (desktop_remove_application: Write diagnostic message to stderr for
1279 (impl_accessibility_registry_deregister_global_event_listener):
1280 Correct size of lists array. This addresses bug #94555).
1282 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
1284 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
1287 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
1289 * registryd/Makefile: Add CLEANFILES so that .server file is removed
1292 * registryd/registry.c (impl_registry_notify_event): Remove
1293 unnecessary call to parser_event_type().
1295 * docs/reference/cspi/tmpl/spi_component.sgml:
1296 Add reference to SPI_LAYER_WINDOW.
1298 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
1300 * registryd/registry.c
1301 (desktop_add_application): Remove leak.
1302 (desktop_remove_application): Remove leak.
1303 (parser_event_type): Remove leak.
1305 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
1307 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1308 bogus call to CORBA_string_dup(). Also removed unnecessary
1309 g_string_dup/g_free calls.
1311 2002-09-13 Bill Haneman <bill.haneman@sun.com>
1313 * registryd/deviceeventcontroller.c:
1314 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1316 * test/event-listener-test.c:
1317 main: commented out three redundant listeners, to reduce output
1318 noise. (They still are potentially useful for testing).
1321 2002-09-13 Michael Meeks <michael@ximian.com>
1323 * Update all the copyrights to include Ximian.
1325 2002-09-06 Mark McLoughlin <mark@skynet.ie>
1327 * cspi/spi.h: add SPI_LAYER_WINDOW.
1329 * cspi/spi_component.c: (AccessibleComponent_getLayer):
1330 add Accessibility_LAYER_WINDOW case.
1332 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1334 * libspi/component.c: (impl_accessibility_component_get_layer):
1335 add ATK_LAYER_WINDOW case.
1337 2002-08-28 Bill Haneman <bill.haneman@sun.com>
1339 * configure.in: incremented micro version.
1341 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1343 2002-08-20 Bill Haneman <bill.haneman@sun.com>
1346 Clarified and reworded our commit policy.
1349 Started an API "todo" addition list for 2.2.
1352 (impl_getSelection):
1353 Free char pointer from atk_text_get_selection, which was being leaked.
1355 2002-08-19 Bill Haneman <bill.haneman@sun.com>
1358 Small revision to author acknowledgement.
1360 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1362 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1363 If signal has detail add it to the type of the event.
1366 2002-08-12 Michael Meeks <michael@ximian.com>
1368 * test/test-simple.c (global_listener_cb): bin bogosity.
1369 (test_keylisteners): disable, still doesn't work reliably,
1370 certainly not on my system anyway.
1372 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1373 don't leak a reference on the DEC. This round-trip
1374 fetching of the DEC per keystroke sucks, it should be
1377 * cspi/spi-private.h,
1378 * cspi/cspi-lowlevel.h,
1379 * cspi/bonobo/cspi-bonobo-listener.[ch],
1380 * cspi/bonobo/cspi-bonobo.c: get the copyright
1381 notices better - there is still a large amount of
1382 work in at-spi falsely attributed solely to Sun.
1384 * cspi/spi_main.c (cspi_object_ref): kill bogus
1385 hash lookup, just increment the ref.
1386 (SPI_freeString): make explicit the fact that we
1387 handle NULL strings just fine.
1388 (report_leaked_ref): obey coding standards.
1389 (cspi_object_hash, cspi_object_equal): kill retval.
1390 (cspi_object_release): only release if not on loan.
1391 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1392 (cspi_object_borrow, cspi_object_return): impl.
1394 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1395 use cspi_object_borrow / return.
1397 2002-08-12 Darren Kenny <darren.kenny@sun.com>
1399 * cspi/bonobo/cspi-bonobo-listener.c:
1401 Don't call cspi_oject_new() because this is creating a new Accessible
1402 every single time that an event is fired. This causes ATs like at-poke
1403 to nolonger recognise the source of the event and thus ignore it.
1404 Re-use the object from the cache, ref it and then unref it after the
1405 listeners have been called.
1407 2002-08-06 Darren Kenny <darren.kenny@sun.com>
1409 * test/event-listener-test.c:
1410 Added command-line options to disable mouse events (m) and
1413 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
1415 * configure.in: Update required versions of ATK, GTK+ and GAIL
1417 * cspi-1.0.pc.in: Add dependency for X include files
1420 * cspi/bonobo/Makefile.am:
1421 Add $(X_CFLAGS) so that X include files
1422 are picked up even if not in standard place (bug #71686)
1424 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1426 * registryd/deviceeventcontroller.c: fix for 84261
1427 (spi_dec_mouse_moved):
1428 Added test of mouse button mask, so that we can detect mouse
1429 button release. Unfortunately we can't otherwise detect mouse
1430 button release events without consuming the mouse press event,
1431 because of the way XGrabButton works. This means that our mouse
1432 release events have a latency dependent on the polling period
1433 while the mouse button is down. At least in this case we only
1434 have to poll while the button is down, and not at other times.
1435 If the button masks don't match with what the last press event
1436 reported, we report the appropriate button release event.
1437 (spi_dec_ungrab_mouse):
1438 New method (not yet called).
1439 (spi_device_event_controller_forward_mouse_event):
1440 New method, sends mouse press event from GdkFilter.
1441 (spi_dec_init_mouse_listener):
1442 Added code to call XGrabButton, redirecting mouse button events to
1443 the root window and our Gdk event loop.
1445 Added code to filter mouse button events, and reordered.
1447 * test/event-listener-test.c:
1449 Added registration for mouse events of type "mouse:button".
1451 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1453 * registryd/deviceeventcontroller.c: partial fix for 84261
1454 (spi_dec_poll_mouse_idle):
1455 New method, a timeout which checks to see if the mouse
1457 (spi_dec_poll_mouse_moving):
1458 A timeout to be called when mouse motion is underway.
1459 (spi_dec_poll_mouse_moved):
1460 A method which fires an event if the mouse has moved, and reports
1461 whether or not it did so.
1462 (spi_dec_init_mouse_listener):
1463 A method which sets up the timeouts above.
1464 (spi_device_event_controller_new):
1465 Now calls spi_dec_init_mouse_listener.
1467 * registryd/registry.c:
1468 (spi_registry_init):
1469 Now we initialize the device event controller when the registry is
1470 initialized, instead of waiting until a client has requested a key
1471 event notification; this is because we need the event controller
1472 for mouse events, but the mouse event registration API is a
1473 "registry" call and doesn't explicitly call the
1474 deviceeventcontroller.
1475 We now report mouse motion events with a 100 ms idle latency and
1476 a 20 ms granularity when motion is in progress.
1478 * test/event-listener-test.c:
1480 We now register the "detail listener" for events of type
1481 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1482 delivered only for the first mouse event received, and thereafter
1483 "mouse:abs" events are delivered.)
1485 * cspi/spi_registry.c:
1486 DOCS: Documented the above mouse event typestrings.
1488 2002-06-21 Bill Haneman <bill.haneman@sun.com>
1490 Happy Summer Solstice...
1492 * registryd/deviceeventcontroller.c: [fix for bug 84100]
1493 (spi_controller_notify_keylisteners):
1494 Changes to remove a listener from the listener list, freeing its
1495 open keygrabs, if a notification to that listener fails. This
1496 means that although a dead listener can continue to hold a passive
1497 keygrab, a maximum of one dispatch to such a listener can fail
1498 before the listener is removed from the list, thus the keygrab
1499 will be released on the next occurrence.
1500 As part of this fix:
1501 (spi_notify_keylisteners):
1502 Renamed to spi_controller_notify_keylisteners, as the controller
1503 instance must now be passed as an argument.
1504 The copied 'notify' GList is now a list of DEControllerKeyListener
1505 objects, since we need more than just the CORBA reference if a
1506 notify fails and we need to deregister the listener.
1507 (impl_notify_listeners_sync):
1508 (impl_notify_listeners_async):
1509 (spi_device_event_controller_forward_key_event):
1510 Modify use of notify_keylisteners in accordance with above
1512 (spi_deregister_controller_key_listener):
1513 New method introduced by refactoring, from
1514 impl_deregister_keystroke_listener.
1515 (impl_deregister_keystroke_listener):
1516 Call spi_deregister_controller_key_listener.
1517 (spi_key_listener_clone):
1518 New method to copy a key listner without doing a 'ref' on the
1519 remote object instance; used to create a notifier list.
1520 (spi_key_listener_data_free):
1521 New method, frees data without unreffing the source.
1523 (spi_key_listener_clone_free): new method.
1524 (spi_key_listener_free):
1525 refactored to call spi_key_listener_data_free.
1527 2002-06-20 Bill Haneman <bill.haneman@sun.com>
1529 * registryd/registry.c: [fix for bug 86048]
1530 (notify_listeners_cb):
1531 Clear CORBA system exceptions which occur when notifying
1532 listeners, before returning to the source of the original event,
1533 since the event source doesn't care if the relayed notify failed.
1534 In other words, don't complain to the atk-bridge if the registry
1535 could not notify all its listeners, that's no fault of the
1536 application and thus should not appear to be an error from the
1537 application's perspective.
1539 * cspi/spi_main.c: [fix for bug 85980]
1541 Replaced use of bonobo_object_dup_ref with call to the wrapper
1542 method, csou_dup_ref (); this silences a compiler warning and
1543 provided more portability.
1545 Ping the registry before return, and restart if necessary.
1547 * cspi/bonobo/cspi-bonobo.c:
1549 New internal method.
1551 Fixed this method to return an object reference, as it should have
1554 * cspi/cspi-lowlevel.h:
1555 Added internal definition for cspi_ping() and fixed
1556 return type of cspi_dup_ref().
1559 2002-06-19 Bill Haneman <bill.haneman@sun.com>
1561 * atk-bridge/bridge.c: [fix for bug 85305]
1562 (spi_atk_bridge_register_application):
1563 New method where the initial application registry calls have been
1564 moved; it allows an application to re-register in response to
1565 certain error conditions (such as a registry restart, see below).
1567 Moved some initialization code to the method
1568 spi_atk_bridge_get_registry, below.
1569 (spi_atk_bridge_get_registry):
1570 New, private accessor function for the Accessibility_Registry
1571 instance. If the registry has not been started before, or has
1572 died (as detected by failure of a CORBA exception), it is
1573 restarted before return, and spi_atk_bridge_register_application
1574 is called again to register with the new bridge instance.
1575 (spi_atk_emit_eventv):
1576 Set registry_died on error; use spi_atk_bridge_get_registry () to
1577 access the registry.
1579 * registryd/registry.c:
1580 (impl_accessibility_registry_register_global_event_listener):
1581 Set listener's event_type_quark to etype.minor instead of
1582 etype.major (fix for bug 84856).
1584 * test/event-listener-test.c:
1585 (report_detail_event):
1586 Change the output string so that user/tester can tell that the
1587 'detail listener' was called instead of the 'generic listener'.
1589 2002-06-18 Bill Haneman <bill.haneman@sun.com>
1591 Fixes for bugs 84900, 84908, 84897, 84898.
1596 Revved version to 1.1.0
1597 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
1598 version is going to HEAD which will be used for gnome-2-0-1 and later.)
1600 * idl/Accessibility_Registry.idl:
1601 (EventListener::notifyEvent):
1602 Removed 'oneway' directive after extensive consulation with
1603 ORBit2 team and others. This means also that unref() of the event
1604 source can and should be done synchronously after emission, rather
1605 than remotely in the client, after servicing the notify call on
1608 NOTE: This change speeds up listener performance considerably, but
1609 introduces new latency on the application side. We may want to
1610 add an event queue to the atk-bridge.
1612 * atk-bridge/bridge.c:
1613 (spi_atk_bridge_focus_tracker):
1614 Do a local unref() on the event source after emission.
1616 * registryd/registry.c:
1617 (desktop_remove_application):
1618 Do an unref() on the event source after emission.
1619 (desktop_add_application):
1620 Do an unref() on the event source after emission.
1621 (notify_listeners_cb):
1622 When relaying an event, don't automatically add the event source
1623 to the local object cache, just CORBA_dup it instead. Likewise,
1624 if this method reenters, release the ref rather than calling
1626 (impl_registry_notify_event):
1627 No longer call remote unref() on the event source after dispatch.
1629 * libspi/eventlistener.c:
1630 (impl_accessible_event_notify_event):
1631 Removed remote unref ()
1633 * cspi/bonobo/cspi-bonobo-listener.c:
1635 We now call cspi_object_new() instead of cspi_object_add() on
1636 receipt of an event; thus we only have an implicit object ref
1637 while the cspi_event method is being executed. If we need to keep
1638 a reference to the object, the listener must call ref() on the
1639 object. Thus also we don't need to call cspi_object_unref() after
1640 invoking the listener callbacks in this method.
1644 New internal API for creating a new cspi object, without adding it
1645 to the object cache.
1647 Now uses cspi_object_new() to create the cspi object instance.
1649 Now checks to see if the object is in the internal object cache,
1650 and adds it if necessary before incrementing its refcount (note
1651 that new objects are added with a refcount of 1).
1652 (report_leaked_ref):
1653 New method which gives some information on leaked object instances
1654 if leak detection is turned on.
1656 * test/event-listener-test.c:
1657 (timing_test_event):
1658 New method, used for testing event delivery timing for special
1659 events of type "object:test". It reports elapsed time and
1660 events/sec every 500 events.
1662 Added a new listener, 'test listener', to check timing of event
1663 receipt as noted above.
1665 Added some timing output here also, reports elapsed time every 100
1668 * test/stress-test.c:
1669 Emit events of type "object:test", for use with "event-listener-test".
1671 * test/test-simple.c:
1672 (global_listener_cb):
1673 Call Accessible_ref() on the event source before calling
1674 validate_accessible, since the validation process does pointer
1675 comparisons on the event source, meaning that the event source
1676 needs to be added to the local object cache first. Any use of
1677 such pointer comparisons between Accessible objects requires that
1678 the caller hold an explicit reference to those objects.
1679 We also must therefore call Accessible_unref() when leaving this method.
1681 2002-06-13 Bill Haneman <bill.haneman@sun.com>
1683 * registryd/deviceeventcontroller.c:
1684 (spi_controller_update_key_grabs):
1685 Fix for #84735, subsequent keygrab listeners not informed of
1686 registration failure.
1689 (spi_base_construct):
1690 Add an assertion on construct, to make sure the GObject passed in
1691 is really a GObject.
1693 Explicitly initialize object->gobj pointer to NULL;
1695 * cspi/bonobo/cspi-bonobo-listener.c:
1696 (cspi_object_add_ref):
1697 New method, can specify whether to dup-ref a bonobo object passed
1698 in if it's newly added to the object cache.
1700 Now calls cspi_object_add_ref with second param of "FALSE". This
1701 prevents us from doing a pointless dup-ref followed by
1702 release-unref for all those cases where the object is already in
1703 our object cache (fix for #85205).
1705 * atk-bridge/bridge.c:
1706 (spi_atk_bridge_idle_init):
1707 Removed this method, we don't need to initialize in an idle
1710 Changed to call spi_atk_register_event_listeners directly, not via an
1711 idle handler. (fix for #81139)
1712 (gnome_accessibility_module_shutdown):
1713 Removed conditional around deregistration of listeners, since we
1714 don't use the idle handler and thus have always registered when
1716 (spi_init_keystroke_from_atk_key_event):
1717 Changed references to Accessibility_KEY_PRESSED to
1718 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
1720 2002-06-12 Bill Haneman <bill.haneman@sun.com>
1722 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
1727 * test/stress-test.c:
1730 (may have been an incomplete commit yesterday?)
1732 2002-06-12 Bill Haneman <bill.haneman@sun.com>
1735 Added target for new stress-test.
1737 * test/stress-test.c:
1738 New test, sends 1000 focus notifies in quick succession.
1740 * test/key-listener-test.c:
1741 Now we report whether a keylistener registration
1742 request succeeded or failed.
1744 * test/event-listener-test.c:
1745 Uncommented some listeners which are now implemented.
1748 2002-06-06 Bill Haneman <bill.haneman@sun.com>
1750 * registryd/deviceeventcontroller.c:
1751 (spi_controller_update_key_grabs):
1752 Fix for #82509, lack of failure notification when
1753 ALL_WINDOWS keygrabs fail due to XGrabKey
1754 failure: we synchronize the server when
1755 registering a passive grab, to make sure we get the
1756 error message before the call returns.
1758 2002-06-03 Bill Haneman <bill.haneman@sun.com>
1760 * test/test-simple.c:
1762 Removed #ifdef KEY_IMPL_WORKS guards.
1763 (test_keylisteners):
1764 Removed #ifdef KEY_IMPL_WORKS guards.
1765 Fixed bug which was causing a hang waiting for a
1766 "press" event (which was already overwritten by a "release"
1767 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
1769 Added code to set globals 'key_press_received' and
1770 'key_release_received'.
1773 Added section "1.1 API Proposed Additions" which
1774 lists API additions desired for at-spi-1.1 (only one so far).
1775 Updated TODO list a little.
1777 2002-06-02 Bill Haneman <bill.haneman@sun.com>
1779 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
1782 * configure.in: Revved to 1.0.0.
1784 * idl/Accessibility_Registry.idl:
1785 (registerKeystrokeListener):
1786 Added boolean return value.
1788 * registryd/registry.c:
1789 (notify_listeners_cb): Minor fix to debug output.
1791 * registryd/Accessibility_Registry.server.in.in:
1792 Revved version number in OAFIID to 1.0.
1794 * registryd/registryd.c:
1796 Use new OAFIID version.
1798 * cspi/bonobo/cspi-bonobo.c:
1800 Use new OAFIID version.
1806 * atk-bridge/bridge.c:
1808 Use new OAFIID version.
1810 * registryd/deviceeventcontroller.c:
1811 (impl_register_keystroke_listener):
1812 Added CORBA_boolean return value.
1813 (spi_controller_register_device_listener):
1814 Added gboolean return value.
1815 (spi_controller_register_global_keygrabs):
1816 Added gboolean return value.
1817 (spi_key_set_contains_key):
1818 Added implementation for many more control keys,
1819 for instance F1-F12, arrow keys, End, Home, Page_Up,
1821 [TODO: some still not implemented].
1823 * text/screen-review-test.c:
1824 (text_chunk_pad_string):
1825 New function: it provides mapping between coordinate
1826 positions of text chunks and character positions in the
1827 screen-review-line output string.
1828 (text_chunk_to_string):
1829 New function, calls text_chunk_pad_string with various
1830 pad/delimiter characters. Pushbuttons are delimited with
1831 square brackets, Frames with vertical 'pipe' lines, and
1832 other text with double quotes.
1833 (text_chunk_list_to_string):
1834 Calls new function text_chunk_to_string.
1835 (toplevel_composite):
1836 New function to composite layers CANVAS through
1837 POPUP in each toplevel (other layers are composited
1838 across toplevels, i.e. BACKGROUND and OVERLAY).
1839 (review_buffer_composite):
1840 Revise to use new methods.
1846 2002-05-31 Laszlo Peter <laca@sun.com>
1848 * configure.in: add the Xtst libdir to the runpath on Solaris,
1849 since it's not in the default library search path.
1851 2002-05-29 jacob berkman <jacob@ximian.com>
1853 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
1855 2002-05-29 Bill Haneman <bill.haneman@sun.com>
1857 * test/screen-review-test.c:
1858 (text_chunk_pad_string):
1859 Added method, which pads the string according to the
1860 text bounds of the chunk. It also takes a 3-character
1861 string as a param which indicates the characters to be
1862 used for start, padding, and end delimitation of the chunk.
1863 (text_chunk_to_string):
1864 Changed to use text_chunk_pad_string.
1866 * configure.in: Fixed bug in AC_OUTPUT that was
1867 causing path substitution in Accessibility_Registry.server
1870 2002-05-23 Bill Haneman <bill.haneman@sun.com>
1872 * text/screen-review-test.c:
1873 (guess_string_clip):
1874 New method which attempts a best-guess at clipping
1875 text from components (like Java labels) which don't
1876 actually implement AccessibleText. This inaccurate
1877 clip is based on the assumption that the label is
1878 justified left-and-right, and monospaced.
1879 (text_chunk_get_clipped_string):
1880 We now call guess_string_clip() for text-containing
1881 components that don't implement AccessibleText.
1883 * test/screen-review-test.c:
1884 (review_buffer_get_text_chunk):
1885 We now pull "name" from labels if they do not implement
1886 AccessibleText (i.e. for Java labels).
1887 (get_screen_review_line_at):
1888 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
1891 Replaceded AC_OUTPUT target
1892 registryd/Accessibility_Registry.server with
1893 registryd/Accessibility_Registry.server.in.
1895 * registryd/Accessibility_Registry.server.in:
1896 Removed (this is now a Makefile target).
1898 * registryd/Accessibility_Registry.server.in.in:
1899 Added (source for target above). We now use $(libexecdir) as
1900 prefix for the executable at-spi-registryd.
1902 * registry/Makefile.am:
1903 Now install at-spi-registryd into $(libexecdir), and build .server
1904 file with path (see above).
1906 2002-05-22 Bill Haneman <bill.haneman@sun.com>
1908 * test/screen-review-test.c:
1909 (text_chunk_get_clipped_string):
1910 We now check to see if words fall within clip bounds
1911 before resorting to character-by-character clip bounds testing.
1913 * TODO: Added a section for "2.2 Proposed API Additions".
1915 2002-05-21 Bill Haneman <bill.haneman@sun.com>
1917 * test/screen-review-test.c:
1919 Added a screen review benchmarking and test program to test
1922 * cspi/spi_accessible.c:
1924 Made some of the debug strings passed to cspi_check_ev a
1925 little more specific.
1927 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
1929 * test/screen-review-test.c: Fix crashes in debug statements
1931 2002-05-20 Bill Haneman <bill.haneman@sun.com>
1933 * test/screen-review-test.c: Added this file.
1935 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1937 * atk-bridge/bridge.c: changed "object:state-change" to
1938 "object:state-changed" to match docs.
1940 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1942 * atk-bridge/bridge.c: Hooked up state-change event details.
1944 2002-05-11 Bill Haneman <bill.haneman@sun.com>
1946 * registryd/registry.c:
1947 Fixed quarking bug in event string parsing; now events with
1948 detail parameters get matched correctly to listeners.
1951 * util/idl/Magnifier.idl: remove.
1953 * util/*.[ch]: Remove.
1954 Magnification utilities and IDL are now in module gnome-mag.
1956 2002-05-10 Bill Haneman <bill.haneman@sun.com>
1958 * registryd/deviceeventcontroller.c:
1959 Fixed bug in grab key conversion which was causing keycode grabs
1960 to be converted to AnyKey grabs.
1963 updated NEWS file to reflect recent spin-off of gnome-mag.
1965 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
1967 * cspi/spi_accessible.c: Added exception checks. Fixed completely
1968 busted AccessibleStateSet_compare. Removed redundant casts.
1970 * cspi/spi-action.c: Removed redundant casts.
1972 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
1974 * cspi/spi_component.c: Fixed typos and casting error.
1976 * cspi/spi_editabletext.c: Removed redundant casts.
1978 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
1980 * cspi/spi_hypertext.c: Eliminated redundant casts.
1982 * cspi/spi_image.c: Eliminated redundant casts.
1984 * cspi/spi_registry.c: Eliminated redundant casts.
1985 SPI_deregisterGlobalEventListenerAll () removed retval variable.
1986 * cspi/spi_selection.c: Removed redundant casts.
1987 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
1988 handling. Screen geometry and text offsets were being returned as 0
1989 on error which is technically valid-- changed these to return -1.
1990 Added marshaller for text boundary types to fix bug with boundary
1991 types being passed incorrectly to atk.
1993 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1996 * cspi/spi_registry.c:
1997 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
1998 which was uncovered by the recent key changes.
2000 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2002 * test/event-listener-test.c:
2004 Added new test, "event-listener-test";
2005 this code does two things; it benchmarks traversal time
2006 for the accessible hierarchy for the first running accessible
2007 app, and it connects listeners for all supported event types.
2008 It is thus useful as an example event listener and for
2009 diagnostics/debugging of event generation.
2011 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2014 Removed unnecessary dependency on libutil.
2017 Revved micro version: 0.13.1
2019 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2022 Removed util/Makefile from targets.
2025 Removed util subdir from SUBDIRS (temporarily,
2026 pending removal of magnifier-only code
2030 #ifdef-ed out magnifier dependencies, since
2031 magnifier IDL, headers, and binary now live in
2032 module gnome-mag and we don't want at-spi to depend
2033 on gnome-mag. A magnifier demo which can run alongside
2034 simple-at is forthcoming in the gnome-mag module.
2036 NOTE: Split magnifier binary, IDL, and magnification
2037 activation code from at-spi into module gnome-mag.
2039 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
2041 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2042 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2044 2002-05-03 Bill Haneman <bill.haneman@sun.com>
2047 Revved to version 0.13.0
2049 * idl/Accessibility_Registry.idl:
2050 Changed definition of KeySet from sequence of longs to sequence of
2051 KeyDefinitions, and added KeyDefinition struct.
2052 Required for fix to bug 80616.
2054 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2055 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2056 to use new definition (see above).
2058 * registryd/deviceeventcontroller.c: handle_keygrab(),
2059 spi_keyset_contains_key():
2060 Changed to make use of new struct; this allows matching based on
2061 string key-name, for instance "Tab". This also allows matching of
2062 composed characters, non-alphanumeric characters in a way that
2063 doesn't involve dependencies on X keysym codes directly, etc.
2065 * test/key-listener-test.c:
2066 Added test for Alt-Tab key using "string" specification of keyset,
2067 and modified one of the tests to use a keycode-based keyset.
2068 Thus this test both tests and demonstrates the creation and use of
2069 keysets of three forms: specified via keycode array,
2070 keysym array, and string array. (The string case only contains a
2071 single string, i.e. a string array of length 1).
2074 Turned on PRINT_TREE option by default. Also fixed a
2075 string-freeing bug in the PRINT_TREE code.
2076 Added a listener to window:minimize events.
2078 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
2080 * atk-bridge/bridge.c:
2081 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2082 for window:activate and window:deactiveate
2083 (atk_bridge_property_event_listener atk_bridge_signal_listener
2084 atk_bridge_window_event_listener) Tidy debug code
2086 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
2088 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2089 Fixed handling for NULL return value from ATK.
2091 * libspi/action.c libspi/component.c libspi/editabletext.
2092 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2093 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2094 Removed redundant casts.
2096 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2097 Fixed off by one bug.
2099 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2100 function not present in idl)
2102 2002-05-02 jacob berkman <jacob@ximian.com>
2104 * atk-bridge/Makefile.am: make atk-bridge a real module
2106 2002-04-26 Radek Doulik <rodo@ximian.com>
2108 * libspi/stateset.c (spi_init_state_type_tables): fix size of
2109 atk_state_types table
2111 2002-04-22 jacob berkman <jacob@ximian.com>
2114 * libspi/Makefile.am: add deps on the built files to help
2115 automake, and don't version the ORBit typelib
2117 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
2119 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
2120 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2121 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
2122 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2123 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2124 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2125 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2126 libspi/accessible.h libspi/accessible.h libspi/base.h
2127 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
2128 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2129 libspi/relation.h libspi/remoteobject.h libspi/selection.h
2130 libspi/spi-private.h libspi/statetset.h libspi/table.h
2131 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2132 util/mag_client.h util/mag_control.c util/mag_image.c
2133 util/mag_image.h util/magnifier.c util/magnifier.h:
2134 Add missing file headers; standardize existing ones
2136 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
2138 * atk-bridge/bridge.c: Added window event support.
2140 2002-04-18 Michael Meeks <michael@ximian.com>
2142 * libspi/relation.c (impl_getNTargets): impl.
2143 (impl_getTarget): impl.
2145 * libspi/Makefile.am: fix stateset install.
2147 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2150 Started putting useful info in this file.
2152 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
2154 * atk-bridge/bridge.c:
2155 Propagate state-changed notifications to ATs
2157 * cspi/spi_registry.c: update docs to reflect actual behavior of
2158 state-change events.
2160 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2163 Incremented version to 0.12.1
2165 * util/mag_client.h:
2166 Add missing declaration for magnifier_exit,
2167 used by mag_control.c - Forte compiler didn't like
2168 the implicit redeclaration of the function :-(
2171 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2174 Revved version to 0.12 due to API change (see below).
2176 * cspi/spi-roletypes.h:
2177 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
2178 definition from the inline docs, and added docs
2179 for SPI_ROLE_LAST_DEFINED.
2182 * cspi/spi_streamablecontent.c:
2183 Added missing seek_type parameter to
2184 (so far unused) method,
2185 AccessibleStreamableContent_seek().
2186 [ RT approval JodyG. ]
2189 Fixed docs for SPI_createAccessibleKeystrokeListener.
2191 * cspi/spi_registry.c:
2192 Fixed docs for SPI_KEYSET_ALL_KEYS.
2194 * docs/reference/cspi/at-spi-cspi-sections.txt:
2195 Added a number of missing APIs to SECTIONS.
2197 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2199 * registryd/Makefile.am:
2201 * cspi/bonobo/Makefile.am:
2202 Add $(X_LIBS) to makefiles.
2204 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2207 Revved version to 0.11.
2209 * libspi/component.c:
2210 Added implementation for grabFocus.
2212 * idl/Accessibility_Component.idl
2213 (Accessibility_Component_grabFocus):
2214 Made this method return boolean to indicate success or failure, to
2215 be consistent with cspi and the corresponding ATK method.
2217 * idl/Accessibility_Selection.idl
2218 (Accessibility_Selection_selectAll) :
2219 Made these methods return boolean to indicate success or
2220 failure, to be consistent with cspi and the corresponding ATK methods.
2222 * idl/Accessibility_EditableText.idl
2223 (Accessibility_EditableText_setTextContents,
2224 Accessibility_EditableText_insertText,
2225 Accessibility_EditableText_cutText,
2226 Accessibility_EditableText_deleteText,
2227 Accessibility_EditableText_pasteText):
2228 Made these methods return boolean to indicate
2231 * cspi/spi_editabletext.c:
2232 Made these methods return booleans.
2234 * libspi/selection.c:
2235 * libspi/component.c:
2236 * libspi/editabletext.c:
2237 Connected the boolean returns from ATK
2238 to the server-side code referenced above.
2240 2002-04-14 Bill Haneman <bill.haneman@sun.com>
2242 * idl/Accessibility_Table.idl: Added missing methods,
2243 Accessibility_Table_addRowSelection,
2244 Accessibility_Table_addColumnSelection,
2245 Accessibility_Table_removeRowSelection,
2246 Accessibility_Table_removeColumnSelection.
2249 Added C wrappers for above IDL:
2250 AccessibleTable_addRowSelection,
2251 AccessibleTable_addColumnSelection,
2252 AccessibleTable_removeRowSelection,
2253 AccessibleTable_removeColumnSelection.
2256 Added server-side implementation code for IDL above, connecting
2257 to pre-existing ATK api.
2259 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
2261 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
2263 * libspi/accessible.c: Added implementation fo
2264 Accessibility_Accessible_get_state.
2266 * libspi/libspi.h: Added stateset.h to the list of includes.
2268 * libspi/stateset.c: Fixed broken implementation.
2270 2002-04-13 Bill Haneman <bill.haneman@sun.com>
2273 Added implementation code for Accessibility_Magnifier_exit ().
2275 * util/mag_control.c:
2276 Added test code for above method; you can
2277 now kill an existing magnifier via
2278 ./mag_control q, from the util directory.
2280 * test/key-listener-test.c:
2282 Added a new test, for our key listener API.
2284 2002-04-11 Bill Haneman <bill.haneman@sun.com>
2286 * test/app.c, test/keysynth-demo.c:
2288 Replace use of snprintf with g_snprintf.
2289 (fix for bugzilla 78249)
2291 2002-03-27 Michael Meeks <michael@ximian.com>
2295 * util/Makefile.am (INCLUDES): fix.
2296 (DONT_DIST_SOURCE): don't distribute the
2299 * libspi/Makefile.am (dist-hook): ditto.
2301 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
2303 * libspi/hypertext.c:
2304 Fix warnings when yelp is used with atk-bridge
2306 2002-03-21 Michael Meeks <michael@ximian.com>
2308 * libspi/application.c (spi_application_new):
2309 use spi_accessible_construct so we use the AtkObject
2312 2002-03-19 Michael Meeks <michael@ximian.com>
2314 * registryd/registry.c (desktop_remove_application),
2315 (desktop_add_application): clean coding style.
2317 * registryd/desktop.c (spi_desktop_remove_application),
2318 (spi_desktop_add_application): kill re-enterency hazards.
2319 (spi_desktop_dispose): remove bogus redundant cast
2320 obscuring bug; fix bug too.
2321 (spi_desktop_init): make the desktop object immortal.
2323 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2326 Added a #define-guarded tree-traversal step
2327 when enumerating the apps (diagnostic tool).
2329 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2331 * idl/Accessibility_Role.idl:
2332 Added ROLE_DRAWING_AREA which seemed to be missing from the
2335 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2337 * cspi/spi-roletypes.h cspi/spi_accessible.c
2338 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2341 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2342 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2343 AT when applications are added and removed from the desktop. This
2344 reverts the previous broken implementation using the backing
2345 AtkObject for the SpiDesktop.
2347 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2349 * registryd/desktop.c: emit the "children-changed::add" and
2350 "children-changed::remove" signals on the backing ATK object for
2351 the desktop so AT can tell when applications are started and shut
2354 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2356 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2358 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2360 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2362 * cspi/spi_accessible.c: Implemented c bindings for stateset support
2364 * cspi/state-types.h: synched with IDL and ATK
2366 2002-03-13 Bill Haneman <bill.haneman@sun.com>
2368 * libspi/accessible.c
2369 (impl_accessibility_accessible_get_child_at_index):
2370 Change return value for g_return_if_fail ()
2371 to CORBA_OBJECT_NIL instead of "0" (!)
2373 * registryd/Makefile.am:
2374 * registryd/Accessibility_Register.server.in:
2375 Changed name of executable, "registryd",
2376 to something more informative:
2379 2002-03-13 Michael Meeks <michael@ximian.com>
2381 * atk-bridge/bridge.c (atk_bridge_init): don't register
2382 if we're in a bonobo-component, rather than a bonobo app.
2384 2002-03-13 Michael Meeks <michael@ximian.com>
2386 * atk-bridge/bridge.c (gtk_module_init): split
2387 out body to (atk_bridge_init): here, since otherwise
2388 we get symbol conflicts and oddness when invoked
2389 from (gnome_accessibility_module_init): here (upd.)
2391 2002-03-11 Bill Haneman <bill.haneman@sun.com>
2394 New file. Explicitly allow "build sheriff" putbacks provided
2395 they are tested on Solaris.
2397 * docs/reference/cspi/Makefile.am:
2398 Added '-' to the "cp" command for index.sgml.
2399 ("patch by thomasvs, soon coming to a GUADEC near you")
2402 Incremented version number (0.9.0) for new release.
2403 Changed macro that checks for popt, to better detect
2404 obsolete versions of popt.
2407 Added X_LIBS to AC_SUBST, for applications
2408 that call Xlib API directly.
2411 2002-03-07 Bill Haneman <bill.haneman@sun.com>
2414 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2417 Fix regression caused by hard-coding major
2418 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2421 * test/test-simple.c (test_editable_text),
2422 (test_test): revert previous change (error was
2423 a regression in gail which is now fixed).
2425 2002-03-04 Michael Meeks <michael@ximian.com>
2427 * test/test-simple.c (test_editable_text),
2428 (test_text): pass G_MAXINT instead of '-1' for
2429 whole string - is this a good thing !?
2431 * cspi/spi_accessible.c
2432 (Accessible_getRelationSet): fix crasher bug
2433 overwriting the end of the array.
2435 * test/test-simple.c (validate_accessible): free,
2436 not g_free returned relation set.
2438 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2440 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2441 implemented stateset support
2443 * idl/Accessibility_State.idl: Made necessary changes to
2444 the IDL to support state sets.
2446 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2448 * registryd/deviceeventcontroller.c:
2449 Added implementation for generateMouseEvent.
2451 * cspi/spi_registry.c:
2452 Connected new implementation for generateMouseEvent
2455 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2458 Incremented revision (but no change in public API
2459 outside of 'utils', which are not installed public yet.)
2461 * libspi/component.c:
2462 Changed to use atk_component API for layers and
2463 mdi_zorder, instead of deprecated atk_object API.
2465 Magnification Utility Enhancements:
2468 Added implementation of createZoomRegion, clearAllZoomRegions,
2469 resizeZoomRegion. Added new commandline argument
2470 "--no-initial-region". Note that clearAllZoomRegions doesn't
2471 unmap the old '0' region as it should (yet), and the other
2472 methods only work when creating/resizing a single region,
2473 which is "region 0".
2474 (Code for multiple region support will be added later.)
2477 Now we raise the magnifier window each time it's refreshed;
2478 this will help keep it on top.
2480 * util/mag_client.h:
2481 Added simple wrappers for above, used by mag_control.
2482 For general use, it's recommended to use the bonobo magnifier
2483 control API directly instead of using these wrappers.
2486 Moved ZoomRegionData from magnifier.c to this file.
2488 * util/mag_control.c:
2489 Added some code to exercise new IDL implementations.
2491 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2493 * libspi/text.c: Provide implementation for getAttributes.
2495 2002-02-04 Bill Haneman <bill.haneman@sun.com>
2498 Incremented revision.
2500 * test/test-simple.c:
2501 Replaced use of deprecated g_main_iteration with
2502 g_main_context_iteration.
2504 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
2507 Incremented revision for desktop alpha 2.
2509 2002-01-28 Mark McLoughlin <mark@skynet.ie>
2511 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2514 * test/simple-at.c: include netinet/in.h.
2516 2002-01-24 Mark McLoughlin <mark@skynet.ie>
2518 * cspi/spi_accessible.c: (Accessible_getRelationSet):
2519 use NULL, not CORBA_OBJECT_NIL.
2521 * libspi/accessible.c:
2522 (impl_accessibility_accessible_get_relation_set):
2523 allocate the sequence correctly.
2525 * libspi/remoteobject.h: kill spi_remote_object_new.
2527 * test/test-simple.c: (validate_accessible): add code
2528 to test relation sets, now all we need is to figure
2529 out how to excercise this code path :/
2531 2002-01-18 Michael Meeks <michael@ximian.com>
2533 * test/test-simple.c
2534 (key_listener_cb): consume the key.
2535 (test_keylisteners): update.
2536 (main): wait for any pending unrefs on events.
2538 * registryd/deviceeventcontroller.c
2539 (spi_controller_update_key_grabs): only re-issue the
2540 grab on a key release.
2541 (spi_device_event_controller_forward_key_event):
2542 refresh the keygrabs before we notify the listeners,
2543 to reduce the X ungrab / re-grab race.
2544 (spi_controller_register_with_devices): remove
2545 XSelectInput - we do that with the gdk_window_ call.
2546 (_spi_controller_device_error_handler): return a value.
2547 s/GDK_DISPLAY/spi_get_display/
2549 2002-01-17 Michael Meeks <michael@ximian.com>
2551 * registryd/deviceeventcontroller.c
2552 (_deregister_keygrab): don't blow out the later
2555 * test/test-simple.c (test_keylisteners): do a
2556 more intelligent validation.
2558 2002-01-14 Michael Meeks <michael@ximian.com>
2560 * atk-bridge/bridge.c
2561 (gnome_accessibility_module_init),
2562 (gnome_accessibility_module_shutdown): impl.
2563 (gtk_module_init): protect vs. double inits.
2564 (add_signal_listener): impl.
2565 (spi_atk_bridge_state_event_listener): kill
2566 (deregister_application): split out of
2567 (spi_atk_bridge_exit_func): here.
2569 2002-01-18 Bill Haneman <bill.haneman@sun.com>
2572 Added caret tracking when using magnifier, and
2573 now use text bounds for focus tracking of text elements, rather than
2574 the component bounds - this is helpful for short text fields in long
2575 table cells, at high magnification.
2577 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2579 * registryd/deviceeventcontroller.c:
2580 Regression fix for keylistener de-registration; global keygrabs
2581 were not being released when deregisterKeystrokeListener was
2582 called in cspi, since
2583 Accessibility_DeviceEventController_deregisterKeystrokeListener
2584 was called with a zero-length keyset. That is because the cspi
2585 method, SPI_deregisterKeystrokeListener, does not take a keyset
2586 parameter but instead should remove all the key grabs held be a
2588 The code in impl_deregister_keystroke_listener was changed to copy
2589 the keylist from the listener instance previously registered with
2590 the DeviceEventController before releasing the grabs.
2592 * registryd/registry.c:
2593 * registryd/deviceeventcontroller.c:
2594 * libspi/spi-private.h:
2596 Changed spelling of "re-enterant" to "re-entrant" globally.
2598 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2600 * test/test-simple.c:
2601 Changed key listeners test - the test was slightly mis-using the
2602 (admittedly poorly documented) SPI_generateKeyboardEvent API.
2603 It now uses '=' as the key event listened to and generated,
2604 relying on a keysym match rather than assuming that keycode 33
2605 is always equal to keysym '!'.
2607 2002-01-15 Bill Haneman <bill.haneman@sun.com>
2610 Changed simple-at to use a specific keyset, rather than
2611 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
2612 manager, desktop, etc.
2614 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2616 * registryd/deviceeventcontroller.c:
2617 Replaced standard X error handler with a special handler that
2618 is non-fatal for failed keygrabs. This works around
2619 problems with keygrab clashes sometimes observed on
2621 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
2622 mouse handling code as yet).
2624 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2627 Incremented revision for desktop alpha release.
2630 Fixed a couple of the more glaring errors (still not
2633 2002-01-11 Michael Meeks <michael@ximian.com>
2635 * registryd/deviceeventcontroller.c
2636 (spi_device_event_controller_forward_key_event): kill
2637 XUngrabKey / XKeyGrab race.
2638 (spi_controller_grab_keyboard): rename to
2639 (spi_controller_update_key_grabs): this, and deal
2640 with incremental adding / removing grabs more
2642 (_register_keygrab): ensure we're not pending a remove.
2643 (spi_grab_mask_free): impl.
2644 (spi_controller_register_global_keygrabs): split out
2646 (handle_keygrab): impl.
2647 (_deregister_keygrab): impl.
2648 (spi_controller_deregister_global_keygrabs): impl.
2649 (spi_controller_update_key_grabs): re-issue the grab if
2650 we just recieved a notification.
2652 * test/test-simple.c (key_listener_cb): remove debug.
2654 * registryd/deviceeventcontroller.c
2655 (spi_controller_register_device_listener): after
2656 registering a global keygrab, actualy register it !
2657 don't wait for a timeout; doh !
2659 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
2660 to make it more readable / manipulable.
2661 s/grabmask/grab_mask/ s/refcount/ref_count/
2662 s/keyval/key_val/ s/modmask/mod_mask
2664 2002-01-08 Michael Meeks <michael@ximian.com>
2666 * registryd/deviceeventcontroller.c
2667 (spi_controller_register_with_devices): use gdk calls to
2669 (global_filter_fn): implement the filter.
2670 (spi_device_event_controller_check_key_event): rename to
2671 (spi_device_event_controller_forward_key_event): this & upd.
2672 (spi_get_display): replace with GDK_DISPLAY.
2674 * registryd/deviceeventcontroller.c
2675 (spi_controller_deregister_device_listener): unroll into
2676 (impl_deregister_keystroke_listener): here to simplify.
2677 (spi_controller_register_global_keygrabs): split cut and
2678 paste (!) out into (_register_keygrab): here, shorter & sweeter.
2679 (spi_controller_deregister_device_listener): remove.
2680 (impl_register_mouse_listener): remove, no mouse listener
2681 support in at-spi-1.0
2683 * registryd/registry.c
2684 (_device_event_controller_hook): kill.
2685 (spi_registry_init): upd.
2687 * registryd/deviceeventcontroller.c
2688 (spi_device_event_controller_class_init): upd.
2689 (spi_check_key_event): merge into.
2690 (spi_device_event_controller_check_key_event):
2691 here and kill strange static ev init, don't leak
2692 the x_event - nor dynamicaly allocate it.
2694 * registryd/registry-main.c (main): re-direct
2695 timeout to remove strange vtable mess.
2697 * registryd/deviceeventcontroller.c
2698 (remove_listener_cb): impl.
2699 (spi_controller_deregister_device_listener):
2700 fix re-enterancy hazard.
2702 2002-01-07 Michael Meeks <michael@ximian.com>
2704 * registryd/deviceeventcontroller.c
2705 (spi_device_event_controller_new): upd.
2706 (impl_notify_listeners_sync): upd. debug.
2707 (spi_notify_keylisteners): fix re-enterancy hazards,
2708 prettify, remove O(n*n) iteration.
2709 (spi_controller_grab_keyboard): fix iteration.
2710 (spi_check_key_event): re-format to suit coding style.
2711 Clean all the warnings - we're warning free.
2713 * registryd/deviceeventcontroller.h:
2714 * registryd/registry.h: make mutualy referential with
2715 typesafe forward references instead of (!) void pointer
2718 2002-01-11 Michael Meeks <michael@ximian.com>
2720 * cspi/spi_accessible.c (role_names): add a role name
2721 to sync this array with the enum; and make the regression
2724 2002-01-10 Michael Meeks <michael@ximian.com>
2726 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
2727 allow expansion of enumeration & kill warning.
2729 * test/test-simple.c (key_listener_cb): impl.
2730 (test_keylisteners): impl.
2732 * cspi/spi-listener.h: make listener signatures const
2733 on the provided (const) events.
2735 * test/keysynth-demo.c: upd. to const events.
2737 * test/simple-at.c: ditto.
2739 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2742 Rev the version to 0.5 (the previous tarball was named 0.4,
2743 even though the micro number was 3), so we need to rev upwards
2744 again for beta2/"desktop-alpha"
2747 Checked in a demo script, which requires editing before use!
2748 Proceed with caution.
2751 Fixed typo in header which was redefining SPI_ACTION_CLASS.
2753 * cspi/spi_accessible.c:
2754 Add a couple of missing enum initializations, and fix some enum
2757 * cspi/spi_registry.c:
2758 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
2760 * docs/reference/cspi/at-spi-cspi-sections.txt:
2761 Remove/fix a couple of broken document references.
2764 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
2765 as Alt-Control to listen for commands, since on some systems
2766 Control-Alt may already be grabbed.
2768 2002-01-10 Bill Haneman <bill.haneman@sun.com>
2771 Update version number to 0.4 for Beta2.
2773 * libspi/accessible.c, libspi/accessible.h:
2774 Expose spi_accessible_construct, to enable libgail-gnome
2775 construction from spi_accessible subtype.
2777 * utils/magnifier.c:
2778 Workaround for bug in some non-gnome-compliant window managers
2779 which made magnifier resize improperly.
2781 2002-01-09 Bill Haneman <bill.haneman@sun.com>
2783 * libspi/accessible.c: (spi_accessible_new) :
2784 Move the test for SPI_IS_REMOTE_OBJECT to
2785 spi_accessible_new_return, fixing a bug and compile time warning.
2787 2002-01-08 Michael Meeks <michael@ximian.com>
2789 * registryd/registry.c (parse_event_type): remove strndup.
2791 * libspi/Makefile.am (libspi_la_SOURCES): remove
2792 sources already included in the headers section.
2794 * libspi/util.c: add.
2796 * libspi/spi-private.h: add.
2798 * registryd/registry.c: update to moved list iterators.
2800 2002-01-05 Michael Meeks <michael@ximian.com>
2802 * test/simple-at.c (main): upd. auto-module set to atk-bridge
2804 * test/test-simple.c (main): ditto.
2806 2002-01-04 Michael Meeks <michael@ximian.com>
2808 * libspi/accessible.c (spi_accessible_new): remove 2nd,
2809 redundant construct.
2811 * registryd/registry.c
2812 (get_listener_list): impl.
2813 (impl_accessibility_registry_register_global_event_listener):
2814 re-impl. to simplify using ~, remove dodgy const cast off.
2815 (parse_event_type): constify.
2816 (impl_accessibility_registry_deregister_global_event_listener_all):
2817 re-write, more efficiency and simplicity, kill re-enterancy
2819 (compare_listener_corbaref, compare_corba_objects),
2820 (compare_listener_quarks): define out.
2821 (impl_accessibility_registry_deregister_global_event_listener):
2822 re-write for effiency, and nail re-enterancy hazard.
2823 (impl_accessibility_registry_get_desktop_list): impl.
2824 (re_enterant_list_delete_link): impl.
2825 (re_enterant_list_foreach): impl.
2826 (remove_listener_cb): impl.
2827 (_registry_notify_listeners): kill.
2828 (notify_listeners_cb): impl.
2830 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
2831 (SPI_getDesktopList): impl.
2833 * test/test-simple.c (test_desktop): test the methods.
2835 2002-01-03 Michael Meeks <michael@ximian.com>
2837 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
2838 keystrings since we free them
2839 (SPI_freeAccessibleKeySet): in here.
2841 * libspi/accessible.c (spi_accessible_new): kill warning,
2842 wonder what is going on with the constructor here.
2844 2002-03-01 Bill Haneman <bill.haneman@sun.com>
2846 * libspi/accessible.c (spi_accessible_new ()) :
2847 Added check to see if AtkObject is an SpiRemoteObject before
2848 creating an SpiAccessible.
2850 2002-05-01 Bill Haneman <bill.haneman@sun.com>
2852 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
2853 Enable keygrabs using the Control modifier, now that they are
2854 working properly (they were previously disabled).
2857 Change the command keygrab for this demo to "Control+Alt", so as
2858 to conflict with fewer other key commands on the system; this
2859 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
2861 Removed a pointlessly-chatty keylistener for unshifted keys
2862 (shifted keys are still reported).
2864 2002-02-01 Bill Haneman <bill.haneman@sun.com>
2866 * libspi/remoteobject.h:
2867 * libspi/remoteobject.c:
2868 Added definitions for special AtkObject subtype, required for
2869 support of remote components (specifically, used by BonoboControl
2870 accessibility implementation).
2872 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
2874 * cspi/spi.h: synched relation types with ATK
2876 * cspi/spi_accessible.c: Added implementations of
2877 AcccessibleRelation_* methods
2879 * idl/Accessibility_Relation.idl: added getRelationTypeName
2880 method. Synched known relation types with ATK. Allowed for
2881 relation type extension with the RELATION_EXTENDED type.
2883 * libspi/relation.c: Provided implementations for
2884 AccessibleRelation methods.
2886 2002-01-01 Bill Haneman <bill.haneman@sun.com>
2888 API tweaks for today's API 'freeze'.
2891 Added placeholder functions to allow future compatible expansion
2892 of the IDL interfaces.
2894 * idl/Accessibility_Registry.idl:
2895 Changed generateKeyEvent to generateKeyboardEvent. Changed
2896 signature of this method to accept an optional keystring in
2897 parameter (for complex text input synthesis) and changed use of
2898 simple 'boolean' parameter in registerKeystrokeListener to a
2899 struct, EventListenerMode.
2901 * cspi/spi_accessible.c:
2903 * cspi/spi_streamablecontent.c:
2904 Added references to AccessibleStreamableContent interface, and
2905 definition and implementation of AccessibleStreamableContent
2908 * cspi/spi_registry.c:
2910 Changed generateKeyEvent API to generateKeyboardEvent,
2911 taking a new (optional) keystring parameter to support complex
2916 Renamed directory (to better reflect its actual purpose, bridging
2917 from at-spi to ATK). The .so module is also now named
2920 * idl/Accessibility_Hypertext.idl:
2921 * libspi/accessible.c:
2922 * libspi/hypertext.h:
2923 * libspi/hypertext.c:
2924 Changed Accessibility_Hypertext to *not* derive from
2927 * cspi/spi_registry.c:
2928 Added list of legal event type names for 'window' events, which
2929 completes the registry event API.
2931 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
2933 * at-bridge/bridge.c: Added registration for separate
2934 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
2935 signals. If either of the first two parameters to the generic
2936 bridge signal handler are ints, they are passed on as event
2937 details. This allows an AT to determine what text was inserted.
2939 2001-12-21 Bill Haneman <bill.haneman@sun.com>
2941 * registryd/deviceeventcontroller.c:
2942 Fixed regressions in generateKeyEvent caused by the removal of
2943 gdk_init from registryd; we now use pure X calls to connect to the
2944 display, which makes sense because deviceeventcontroller already
2945 uses a fair bit of X API (should eventually be migrated to a
2946 'portability layer').
2948 * registryd/desktop.c:
2949 Fixed minor regression in spi_desktop_init, changed the way the
2950 desktop name is being set to work with new spi_base API
2951 (gobject-based, rather than AtkObject-based).
2953 * registryd/Makefile.am:
2954 Minor revision of makefile to use XTST_LIBS variable rather than
2955 hard-wiring the Xtst LD_ADD element.
2957 * test/keysynth-demo.c:
2958 Tweaked an output message; added initialization of the
2959 'keystrings' member of the "switch listener" key_set.
2961 * libspi/relation.c:
2962 Squashed compile-time warning.
2964 * libspi/accessible.c:
2965 Cosmetic and formatting fixes, renamed a static method.
2967 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
2969 * libspi/accessible.c
2971 * libspi/application.c
2974 * libspi/component.c
2975 * libspi/editabletext.c
2976 * libspi/hyperlink.c
2977 * libspi/hypertext.c
2979 * libspi/selection.c
2983 * registryd/desktop.c:
2984 Changed SpiBase to contain a GObject pointer rather than an AtkObject
2986 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2988 * idl/Accessibility_Registry.idl:
2989 Added boolean member 'is_text' to DeviceEvent. This is for the
2990 use of key events, and helps prevent ambiguity between composed
2991 key strings and keysym names, since both may potentially be
2992 returned in the 'event_string' member.
2994 * at-bridge/bridge.c:
2995 * registryd/deviceeventcontroller.c:
2996 Use the 'is_text' member when notifying device event listeners.
2997 Knon issue: composed characters are not dealt with correctly by
2998 the global key listener implementation yet.
3000 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3002 * at-bridge/bridge.c:
3003 Namespaced local static methods to spi_atk_bridge_* where
3004 previously named bridge_*, and spi_* elsewhere.
3006 * at-bridge/bridge.c:
3007 * cspi/bonobo/cspi-bonobo-listener.c:
3008 Added demarshalling/conversion for string member of
3009 Accessibility_DeviceEvent to AccessibleKeystroke.
3011 * registryd/deviceeventcontroller.c:
3012 Added code to fill the Accessibility_DeviceEvent key string value
3013 member for global key events (i.e. from XGrabKey), to match
3014 behavior of Accessibility_DeviceEvent from the toolkit key events
3015 from the bridge. Fixed timestamp in global key event notifications.
3018 Added printout of key event's string value to
3019 report_ordinary_key_event, for demo/debugging purposes.
3021 2001-12-15 Bill Haneman <bill.haneman@sun.com>
3023 * idl/Accessibility_Registry.idl:
3024 Removed Accessibility_KeyStroke structure in favor of generic
3025 Accessibility_DeviceEvent structure.
3026 Changed Accessibility_ControllerEventMask from a struct to an
3029 * at-bridge/bridge.c:
3030 Changed APIs to use DeviceEvent structure as above, and removed
3031 bogus casting between these event structures.
3033 * cspi/spi-listener.h:
3034 Added keystring member of AccessibleKeystroke structure, to enable
3035 matching on event "names" rather than only hardware codes and
3039 Added keystrings member of AccessibleKeySet struct, to allow
3040 matching on event names (as above).
3041 Added declarations for SPI_createAccessibleKeySet and
3042 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
3043 event modmasks directly as unsigned ints rather than structs with
3044 refcounts, in the DeviceEventController methods.
3046 * cspi/spi_registry.c:
3047 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3049 * cspi/spi-roletypes.h:
3050 Added documentation of newly added SPI Roles.
3052 * cspi/bonobo/cspi-bonobo-listener.c:
3053 Changes in support of API changes above.
3055 * libspi/accessible.c:
3056 Converted APIs to use DeviceEvent structure (see IDL changes
3059 * registryd/deviceeventcontroller.c:
3060 Added DEControllerGrabMask structure to track keygrabs not only by
3061 modmask but by keyset as well; this allows us to do "global"
3062 (i.e. X) keygrabs on a per-key or keyset basis rather than always
3063 grabbing on AnyKey and then filtering after-the-fact.
3064 Bugfixes for event filtration mean that we don't get false matches
3065 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3067 * registryd/deviceeventcontroller.c:
3068 Namespaced a number of static methods to use spi_ prefix. Major
3069 revision to internals of global (i.e. X) key grabs.
3071 * registryd/deviceeventcontroller.h:
3072 Removed keymask_list and added keygrabs_list to
3073 SpiDeviceEventController struct.
3076 Added use of SPI_createAccessibleKeySet API when creating a
3077 listener for only one key. Attach a listener to "shift spacebar
3078 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
3079 X key event names to SPI key event names, so that listeners are
3080 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3082 * test/keysynth-demo.c:
3083 Changed (incorrect) use of X key event names (KeyPressed,
3084 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3087 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3089 * libspi/accessible.c:
3090 Convert all AtkRole enumerations to Accessibility_Role enums when
3091 getting a role from an AtkObject.
3093 * cspi/spi_accessible.c:
3094 Complete the conversion of Accessibility_Role enums at runtime to
3095 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3096 role enums correctly match those given in spi-roletypes.h.
3097 Re-synchronize the local names list for AccessibleRole_getName ().
3098 AccessibleRole_getName is now deprecated, since it duplicates the
3099 more reliable Accessible_getRoleName.
3100 Added some role types from Accessibility_Role.idl.
3102 * idl/Accessibility_Role.idl:
3103 Added some role types used by AtkRole.
3105 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3108 * cspi/spi_registry.c:
3110 * cspi/cspi-bonobo-listener.c:
3111 Namespaced all methods that did not begin with an "SPI_" or
3112 "Accessible" prefix to "SPI_".
3115 Homogenized internal function namespace to "cspi_" for statics.
3118 Patched tests to use the new CSPI API.
3120 * docs/reference/cspi/at-spi-cspi-sections.txt:
3121 Updated docs to reflect namespace changes, and added a number of
3122 methods to the documentation.
3124 * registryd/registry.c:
3125 Changed use of strings and string hashes in listener event
3126 matching and parse_event_string to use GQuark, which is guaranteed
3129 * registryd/registry.h:
3130 Squashed annoying warning.
3132 * idl/Accessibility_Role.idl:
3133 Extended range of available Accessibility_Role values.
3135 * cspi/spi_accessible.c:
3136 Re-ordered role names.
3138 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3140 * idl/Accessibility_Value.idl:
3141 Revert use of union back to CORBA_double, since the double type is
3142 more efficient and can contain the other types without loss of
3145 * idl/Accessibility_Accessible.idl:
3146 Added method Accessibility:Accessible:getRoleName, to complement
3147 Accessibility:Accessible:getRole.
3149 * cspi/spi_accessible.c:
3151 Added C binding for above, Accessible_getRoleName (), and changed
3152 signature of Accessible_getRole () to return an AccessibleRole.
3154 * cspi/spi-roletypes.h:
3155 Changed AccessibleRole_getName to return a char * instead of a
3156 const char *. This method is now at least temporarily deprecated
3157 in favor of asking Accessibles for their RoleNames directly.
3160 Revert to match Accessibility_Value.idl;
3164 Change signature of AccessibleValue methods to use double rather
3168 * cspi/spi_accessible.c:
3169 Changed Accessible_getRole to return an AccessibleRole enum rather
3170 than a UTF-8 string. The UTF-8 string can still be obtained via
3171 AccessibleRole_getName ().
3173 * test/test-simple.c:
3174 Add test_action. Small fixup to match API change to Accessible_getRole.
3177 Bugfix for get_action_from_servant ().
3179 2001-12-11 Michael Meeks <michael@ximian.com>
3181 * libspi/libspi.h: remove registry.h and
3182 desktop.h, deviceeventcontroller.h
3184 * libspi/Makefile.am: remove registry.[ch],
3185 desktop.[ch], deviceeventcontroller.[ch]
3187 * registryd/Makefile.am: add registry.[ch],
3188 desktop.[ch], rename registryd.c to registry-main.c.
3189 add deviceeventcontroller.[ch]
3191 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3194 Replace setenv() call with putenv ().
3196 * libspi/component.c:
3197 Bugfix in AccessibleComponent_getExtents (),
3200 2001-12-11 Michael Meeks <michael@ximian.com>
3202 * libspi/image.c (impl_getImageExtents): impl.
3203 (spi_image_class_init): upd.
3206 (AccessibleImage_getImageDescription): fix daft bug
3209 * test/test-simple.c (global_listener_cb): update
3210 to only quit if not --poke
3211 (main): catch --poke.
3212 (validate_accessible): upd. dumping, call test_image
3215 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3218 * idl/Accessibility.idl: update all IDL includes.
3220 * idl/*.idl - rename to namespace - this sucks, blame
3221 mjs' bad decision for oafd.
3223 * test/test-simple.c (create_test_window): add more tests.
3224 (create_tree): split this out.
3225 (validate_accessible): bugfix.
3227 2001-12-11 Michael Meeks <michael@ximian.com>
3229 * cspi/bonobo/cspi-bonobo-listener.c:
3230 (cspi_kestroke_listener_unref),
3231 (cspi_event_listener_unref): impl. undoing previous
3232 homenous environment - for Bill.
3234 * cspi/spi_table.c (long_seq_to_array): use
3237 * cspi/spi_main.c: split out all bonoboish bits into
3240 * cspi/spi-impl.h: upd. typedefs.
3242 * cspi/spi_registry.c: update to lowlevel API,
3243 return booleans to indicate success in some places.
3245 * cspi/spi_event.c: update to lowlevel API.
3247 * cspi/bonobo/Makefile.am: add.
3249 * cspi/bonobo/cspi-lowlevel.h: add
3251 * cspi/bonobo/cspi-bonobo.c: add
3253 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
3255 * cspi/Makefile.am: remove spi-listener-impl.[ch],
3256 (SUBDIRS): add bonobo, link in the libs.
3258 * cspi/spi-util.c: kill this file.
3260 * TODO: merge in my bits.
3262 2001-12-11 Michael Meeks <michael@ximian.com>
3264 * test/test-simple.c (test_value, test_table, main):
3265 remove unused variables causing warnings.
3267 * configure.in: cleanup checks - require gail.
3269 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3272 Changed Value interface to use SValue (scalars) rather than
3273 assuming all values are floats. This allows floats, doubles,
3274 longs, shorts, and unsigned values to be manipulated.
3275 Introduced Accessibility:SValue union.
3278 Updated to use new API above, and to work correctly with GValues
3279 of different types in AtkValue.
3282 Updated to use new API above. cspi's API is as yet unchanged.
3285 Updated the Value revision action item.
3287 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3289 * test/test-simple.c:
3290 Added test_table (GtkTreeView widget in test window to follow).
3291 Un-commented test_value, added GtkRange widget.
3292 Added GtkTreeView widget with GtkListStore. It passes regression
3293 test but leaks one SPI object for some reason.
3296 Fixed bug in impl__set_currentValue.
3298 2001-12-10 Michael Meeks <michael@ximian.com>
3300 * cspi/spi_text.c: audit for exception handling,
3301 tolerating NULL object references safely etc.
3303 * cspi/spi_value.c: ditto.
3305 * cspi/spi_table.c (AccessibleTable_getSummary),
3306 (AccessibleTable_getAccessibleAt),
3307 (AccessibleTable_getRowHeader),
3308 (AccessibleTable_getColumnHeader),
3309 (AccessibleTable_getCaption): fix bugs hidden by
3311 (long_seq_to_array): impl.
3312 (AccessibleTable_getSelectedRows),
3313 (AccessibleTable_getSelectedColumns): use it.
3315 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3318 Added a TODO list (rough and short for now).
3320 * cspi/spi_hyperlink.c:
3321 * cspi/spi_hypertext.c:
3322 Fixed macro name typos, and remove use of obsolete macro in
3323 AccessibleHyperlink_getLink.
3325 * cspi/spi_action.c:
3326 * cspi/spi_accessible.c:
3327 * cspi/spi_application.c:
3328 * cspi/spi_component.c:
3329 * cspi/spi_selection.c:
3332 Documentation fixes (removed return values from ref/unref methods).
3334 2001-12-10 Michael Meeks <michael@ximian.com>
3336 * cspi/spi_action.c: audit for exception handling,
3337 tolerating NULL object references safely etc.
3339 * cspi/spi_accessible.c: ditto.
3341 * cspi/spi_component.c: ditto.
3343 * cspi/spi_editabletext.c: ditto.
3345 * cspi/spi_hyperlink.c: ditto.
3347 * cspi/spi_hypertext.c: ditto.
3349 * cspi/spi_image.c: ditto.
3351 * cspi/spi_selection.c: ditto.
3353 2001-12-10 Michael Meeks <michael@ximian.com>
3355 * configure.in: use cspi/libspi.pc.in instead.
3357 * Makefile.am (pkgconfig_DATA): upd. to match.
3359 * test/simple-at.c (report_focus_event): kill hacks around
3360 bad return values, use putenv not setenv
3362 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3363 fire ChildGone - I killed it.
3365 * libspi/component.c
3366 (impl_accessibility_component_get_extents): remove
3369 * idl/Accessible.idl: kill ChildGone exception.
3371 * cspi/*.[ch]: kill int return from ref / unref.
3373 * cspi/spi_main.c (cspi_object_add_check): fold into
3374 (cspi_object_add): here.
3376 * cspi/spi_component.c (AccessibleComponent_getExtents):
3377 handle exceptions elegantly.
3379 * cspi/spi-private.h (cspi_check_ev_return),
3380 (cspi_return_if_fail): impl.
3382 * cspi/spi_accessible.c: use extensively.
3383 (AccessibleStateSet_equals): add direct compare check.
3385 * cspi/spi_selection.c: tolerate NULL objs, and check
3386 exceptions before return.
3388 * cspi/spi-util.c (cspi_warn_ev): rename to
3389 (cspi_check_ev): this & don't pass ev in; no point.
3391 2001-12-10 Michael Meeks <michael@ximian.com>
3393 * test/test-simple.c: use putenv not setenv
3394 (get_environment_vars): more chatty if you're not using
3397 * test/simple-at.c: do the setenv so more people see the
3400 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3402 * libspi/registry.c:
3403 Changed check of CORBA_environment on notification to be a warning
3404 instead of an error for the moment, since we can recover from this
3405 error when caused by a queued notification from a dead app.
3408 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3409 used by all current implementors of AtkValue), and coerce to
3410 CORBA_float. (Proper general case fix may require change to Value.idl).
3412 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3416 * cspi/spi_accessible.c:
3417 Documentation fixes: added user_data params to documentation for
3418 listeners and callbacks.
3420 * cspi/spi_accessible.c:
3421 Changed AccessibleStateSet_compare to return a
3422 StateSet rather than return the difference set into a third parameter.
3425 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3428 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3429 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3433 Remove subdirectory po from SUBDIRS for now.
3435 * at-bridge/bridge.c:
3436 Beefed up a couple of debug printouts.
3437 One-line fix for signal notification name formatting.
3439 * libspi/accessible.c:
3440 Added assertion to spi_accessible_new ().
3442 * libspi/application.c:
3443 Put #ifdef qualifiers around a printf.
3446 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3448 * registryd/Makefile.am:
3450 Replaces use of XML_I18N_MERGE_SERVER_RULE with
3451 INTLTOOL_SERVER_RULE macro.
3454 Added an event listener for several ATK signals, for
3455 testing and debugging. Removed a few g_warnings.
3456 Added test output if focussed item implements the Value interface.
3458 * test/test-simple.c:
3459 Added test_value () function (known not to pass at the moment, so
3460 not actually called yet.
3462 2001-12-08 Michael Meeks <michael@ximian.com>
3464 * at-bridge/bridge.c (bridge_focus_tracker),
3465 (emit_eventv): fix the same ref. leak.
3466 (register_atk_event_listeners): don't leak.
3468 * cspi/spi-listener-impl.c (cspi_event): more
3469 protection from client code.
3471 * test/test-simple.c (test_desktop): unref the app.
3473 * test/Makefile.am: upd. TESTS.
3475 * at-bridge/bridge.c (bridge_exit_func): release the registry.
3477 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3479 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3481 * cspi/spi_registry.c: constify in strings.
3482 (deregisterGlobalEventListenerAll): don't release the ref.
3484 * cspi/spi.h: start removing redundant / conflicting
3485 gtkdoc comments, making the API readable at a glance :-)
3487 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3489 * test/keysynth-demo.c (keysynth_exit, main): upd.
3491 * test/simple-at.c (main, simple_at_exit): upd.
3493 * test/test-simple.c (unutterable_horror): kill.
3494 (utterable_normal_derefs): kill.
3495 (main): upd & do a setenv before gtk_init, so that we
3496 can use memprof - and to save the pain of remembering
3497 this, if we're running under memprof - don't exit.
3499 * cspi/spi_main.c (SPI_exit): return exit status
3501 (SPI_event_quit): impl.
3502 (SPI_event_main): simplify.
3503 (cspi_is_gnome_app): kill.
3504 (SPI_init): kill isGNOMEapp arg.
3506 * at-bridge/bridge.c (register_atk_event_listeners):
3507 re-instate the unref.
3508 (bridge_exit_func): don't re-activate the registry,
3509 protect vs. theoretical re-entry, use the
3510 AT_BRIDGE_SHUTDOWN env. var to determine whether to
3511 assert a clean shutdown - for regression tests.
3513 2001-12-08 Abel Cheung <maddog@linux.org.hk>
3515 * configure.in: Comment out dummy i18n support for now,
3516 otherwise it fails to build.
3517 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3518 EXTRA_DIST. They are missing in tarball.
3520 2001-12-07 Michael Meeks <michael@ximian.com>
3522 * util/magnifier.c: kill bonobo activation reg. race.
3524 * libspi/component.c
3525 (impl_accessibility_component_get_extents): make it match
3528 * libspi/registry.c (_registry_notify_listeners):
3529 re-remove X headers & reconcile conflicts.
3530 (spi_listener_struct_free): bad conflict resolve.
3531 (impl_accessibility_registry_register_application):
3532 more bad merging fixed.
3533 (impl_accessibility_registry_deregister_application): ditto.
3534 (spi_registry_new): ditto.
3535 (spi_registry_init): don't have an applications field.
3537 [ merge fixups2 branch to here ]
3538 2001-12-07 Michael Meeks <michael@ximian.com>
3540 * test/simple-at.c (report_focus_event),
3541 (report_focussed_accessible): remove g_warning debug.
3543 2001-12-07 Michael Meeks <michael@ximian.com>
3545 * test/test-simple.c (validate_tree): comment out some checks.
3546 (test_desktop): app now not registered idly - horay.
3548 2001-12-07 Michael Meeks <michael@ximian.com>
3550 * cspi/spi_registry.c
3551 (registerAccessibleKeystrokeListener): clean, stop it leaking
3552 great swathes of memory, and device event controller references.
3553 ensure we always pass valid sequences.
3554 (deregisterAccessibleKeystrokeListener): ditto.
3555 (generateKeyEvent): upd.
3557 * at-bridge/bridge.c (bridge_key_listener): handle
3558 registry dead exception gracefully.
3559 (bridge_focus_tracker, emit_eventv): free ev.
3561 * test/simple-at.c (report_focus_event): fix polarity.
3563 * libspi/application.c (notify_listeners): kill the ev
3564 argument, and make sure we init the ev we use.
3565 (spi_application_object_event_listener): split out a chunk
3566 (get_atk_object_ref): here & fixup.
3567 (reverse_lookup_name_for_toolkit_event): make const.
3568 (spi_application_toolkit_event_listener): fixup, kill leaks
3571 * at-bridge/bridge.c (register_atk_event_listeners):
3572 don't unref the noop object - causes grief.
3574 * libspi/registry.c: remove the X headers.
3575 turn off the debug churn.
3577 * libspi/accessible.c (spi_accessible_new_return): only
3578 release the ref if we are supposed to [doh]
3580 * test/simple-at.c (report_button_press, report_focus_event):
3581 guard vs. unexpected exit.
3583 * at-bridge/bridge.c (gtk_module_init): prune printf.
3584 (bridge_exit_func): fix app unref.
3586 * libspi/Makefile.am: don't install registry or desktop.h
3588 * libspi/*.h: update includes.
3590 * libspi/application.h: don't include ourself, or
3591 other redundant headers.
3593 2001-12-06 Michael Meeks <michael@ximian.com>
3595 * libspi/accessible.c
3596 (get_accessible_from_servant): impl.
3597 Upd. all CORBA impl.s to use it killing cut and paste.
3599 * cspi/spi_main.c (cspi_cleanup): guard vs. double
3601 (SPI_init): register atexit cleanup handler here.
3603 2001-12-06 Michael Meeks <michael@ximian.com>
3605 * at-bridge/bridge.c (gtk_module_init): g_error on
3606 activation exception
3608 2001-12-06 Michael Meeks <michael@ximian.com>
3610 * at-bridge/bridge.c (gtk_module_init): some sort of
3611 confusing merge clash - reverted.
3612 (bridge_idle_init): ditto.
3614 * test/test-simple.c (main, utterable_normal_derefs):
3615 merge from Bill - somehow not committed.
3617 2001-12-06 Michael Meeks <michael@ximian.com>
3619 * libspi/value.c (spi_value_class_init): upd.
3620 (spi_value_finalize): kill.
3622 * libspi/table.c (spi_table_finalize): kill.
3623 (spi_table_interface_new): upd.
3624 (spi_table_class_init): upd.
3625 (get_table_from_servant): impl.
3626 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3628 * libspi/selection.c (spi_selection_finalize): kill.
3629 (spi_selection_interface_new): upd.
3630 (spi_selection_class_init): upd.
3631 (get_selection_from_servant): impl.
3632 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3634 * libspi/relation.c (spi_relation_finalize): kill.
3635 (spi_relation_class_init, spi_relation_new): upd
3637 * libspi/image.c (spi_image_finalize): kill.
3638 (spi_image_class_init): upd.
3639 (spi_image_interface_new): upd.
3640 (get_image_from_servant): impl.
3641 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3643 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
3644 (spi_hyperlink_finalize): kill.
3645 (spi_hyperlink_new): upd.
3646 (get_hyperlink_from_servant): impl.
3647 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3649 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
3650 (spi_hypertext_finalize): kill.
3651 (spi_hypertext_class_init): upd.
3652 (get_hypertext_from_servant): impl.
3653 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3655 * libspi/editabletext.c (spi_editable_text_finalize): kill.
3656 (spi_editable_text_interface_new): upd.
3657 (get_editable_text_from_servant): impl.
3658 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3660 * libspi/text.c (get_text_from_servant): impl.
3661 All impls - update to use it killing more cut and paste,
3662 also fix bad string returns on duff args ( a somewhat
3663 impossible case to handle - but hey ).
3664 (spi_text_construct): impl.
3665 (spi_text_interface_new): upd.
3666 (spi_text_object_finalize): kill.
3668 * libspi/component.c
3669 (accessibility_component_object_finalize): kill.
3670 (spi_component_class_init): upd.
3671 (get_component_from_servant): impl. helper to kill cut & paste.
3672 (impl_accessibility_component_contains):
3673 (impl_accessibility_component_get_accessible_at_point):
3674 (impl_accessibility_component_get_position):
3675 (impl_accessibility_component_get_extents):
3676 (impl_accessibility_component_get_mdi_z_order):
3677 (impl_accessibility_component_get_layer):
3678 (spi_component_interface_new): upd.
3680 * libspi/action.c (spi_action_finalize): kill.
3681 (spi_action_class_init): upd. inherit from SpiObject.
3682 (spi_action_interface_new): upd.
3683 (get_action_from_servant): impl. helper to reduce cut & paste.
3684 (impl_getKeyBinding, impl_getName, impl_doAction),
3685 (impl_getDescription): Use it everywhere.
3687 * cspi/spi_main.c (get_live_refs): a pointer hash.
3688 (spi_object_hash, spi_object_equal): comment out.
3689 There are issues with CORBA object hashing that need
3692 * libspi/application.c (spi_application_init),
3693 (spi_application_new): upd.
3695 * libspi/accessible.c (spi_accessible_object_finalize): kill.
3696 (spi_accessible_class_init): upd.
3697 s/accessible/object/ in epv methods.
3699 2001-12-05 Bill Haneman <bill.haneman@sun.com>
3701 * at-bridge/bridge.c:
3702 Reorder the bridge initialization into the bridge gtk_module_init,
3703 an immediate call to bridge_register_app, and an idle_add for
3704 register_atk_event_listeners (the only code that *must* wait until
3705 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
3706 the activation, creates the application's Accessible object, and
3707 queues the bridge_idle_init function. Restored call to
3708 Accessibility_Registry_deregisterApplication().
3709 Prior to making this call we obtain a new reference to the
3710 registry, which is a temporary hack that helps us handle apps that
3711 shut down the bonobo mainloop before we get there.
3713 * libspi/registry.c:
3714 Fix string leakage in debug block, and don't segv if a an app
3715 dies before its event notifications have been propagated.
3718 Modify cspi_check_ev() to call g_warning() rather than g_error(),
3719 as stopgap measure until we get proper exception handling when
3720 objects die during or before interrogation.
3724 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
3725 Also changed default value of is_gnome_app to TRUE.
3728 * test/keysynth-demo.c:
3729 Changed use of SPI_init and SPI_event_main to reflect API change above.
3732 Made report_focus_event check the warning value from getName
3733 before reporting on focussed accessible; simplifies handling of
3734 notifications from dead objects.
3736 * test/test-simple.c: (Changes not in this patch since source is
3739 2001-12-05 Michael Meeks <michael@ximian.com>
3741 * registryd/registryd.c (main): protect against
3742 bonobo-activation startup race condition.
3744 * cspi/spi_main.c (cspi_object_add_check): cope
3745 with the exception elegantly.
3747 * idl/Accessible.idl: decl. ChildGone
3749 * libspi/desktop.c (spi_desktop_dispose): impl.
3750 (spi_desktop_class_init): upd.
3751 (spi_desktop_add_application),
3752 (spi_desktop_remove_application),
3753 (abnormal_application_termination): impl.
3754 (impl_desktop_get_child_at_index): re-impl.
3757 (impl_accessibility_registry_deregister_application),
3758 (impl_accessibility_registry_register_application):
3759 kill excessive debug clutter.
3761 * test/test-simple.c (test_misc): test some NULL
3762 tolerance. (main): upd.
3764 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
3765 implements no interfaces - so let's not crash.
3767 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
3769 * libspi/accessible.c (spi_accessible_new_return): impl.
3770 helper to calm the cut and paste, to cope with
3771 NULL AtkObjects effectively and efficiently, and to kill
3772 the referencing bugs.
3774 * libspi/table.c (impl_getAccessibleAt),
3775 (impl_getRowHeader, impl_getColumnHeader): upd.
3777 * libspi/hyperlink.c (impl_getObject): upd.
3779 * libspi/accessible.c
3780 (impl_accessibility_accessible_get_child_at_index): upd.
3782 * libspi/component.c
3783 (impl_accessibility_component_get_accessible_at_point): upd.
3785 * test/test-simple.c (test_editable_text, test_text): impl.
3788 * cspi/spi_editabletext.c
3789 (AccessibleEditableText_insertText): constify.
3791 * test/test-simple.c (focus_me): make more robust.
3793 * libspi/accessible.c: remove some printfs in methods that
3794 we test and work fine, so we can get a clean tree dump.
3796 * test/test-simple.c (validate_accessible),
3797 (validate_tree): make tree dumping pretty too.
3799 * at-bridge/bridge.c (bridge_signal_listener): upd. so
3800 it builds without debug on.
3802 * test/test-simple.c (validate_accessible): fix the most
3805 * cspi/spi_main.c (spi_object_release): leave the nicely
3806 blanked memory around if in debug mode.
3808 * cspi/spi-listener-impl.c (cspi_event): use add_check.
3810 [committed to fixups2]
3811 2001-12-05 Michael Meeks <michael@ximian.com>
3813 * libspi/editabletext.c
3814 (spi_editable_text_class_init): g_type_class_peek_parent,
3815 not interface peek - so we finalize cleanly.
3817 * libspi/accessible.c (spi_accessible_new): kill debug.
3819 * test/test-simple.c (validate_accessible): fix ref.
3820 leak, print strings before freeing them; sigh, comment a
3821 chunk out due to strangeness.
3822 (validate_tree): unref the child after use.
3824 * cspi/spi_component.c (AccessibleComponent_getLayer):
3825 add missing break statement, switch on zlayer not the
3826 uninitialized retval.
3828 * cspi/spi_main.c (cspi_object_add): add assert, local ref
3829 before (possibly re-entering) remote unref.
3831 * test/simple-at.c (main): unref the desktop.
3833 * cspi/spi_accessible.c (cspi_accessible_is_a): move
3836 * cspi/spi_main.c (cspi_accessible_is_a): here to
3837 isolate bonobo API usage more.
3839 * libspi/registry.c (impl_accessibility_registry_register_application):
3840 prune bogus comment.
3842 2001-12-04 Michael Meeks <michael@ximian.com>
3844 * test/test-simple.c (validate_tree): upd.
3845 IndexInParent check to make it more lucid.
3846 (validate_accessible): dump the tree.
3848 * libspi/accessible.c (de_register_public_ref),
3849 (get_public_refs): impl.
3850 (spi_accessible_new): make more efficient & intuitive.
3851 Now IndexInParent check works.
3853 2001-12-04 Michael Meeks <michael@ximian.com>
3855 * cspi/spi-util.h: remove.
3857 * cspi/spi.h: move SPI_freeString here
3859 * libspi/component.c (impl_accessibility_component_get_layer):
3861 (impl_accessibility_component_get_mdi_z_order): ditto,
3862 return -1 on error - is this ok ?
3864 * test/test-simple.c (test_application): impl.
3866 * cspi/spi_accessible.c (Accessible_getApplication),
3867 (Accessible_isApplication): impl.
3869 * libspi/registry.c (spi_listener_struct_free): release
3870 the CORBA reference too.
3872 * libspi/accessible.c
3873 (impl_accessibility_accessible_get_parent): fix ref leak.
3875 * libspi/registry.c (spi_registry_new): make the registry
3876 immortal - we don't want it to go away ever.
3878 * libspi/application.c
3879 (spi_accessible_application_finalize): impl. cleanup.
3881 * cspi/spi_registry.c
3882 (deregisterGlobalEventListenerAll),
3883 (deregisterGlobalEventListener),
3884 (deregisterAccessibleKeystrokeListener): fix ref leak.
3886 * cspi/spi_main.c (SPI_init): remove redundant ref.
3888 * test/test-simple.c (unutterable_horror): impl. to force a
3893 (impl_accessibility_registry_deregister_application): release
3894 the application when we de-register it.
3896 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
3897 until we have the infastructure to get it right.
3899 2001-12-03 Michael Meeks <michael@ximian.com>
3901 * libspi/Makefile.am: only build eventlistener.[ch]
3903 * libspi/accessible.c
3904 (impl_accessibility_accessible_get_child_at_index): don't leak.
3906 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
3907 before we hit the idle handler.
3909 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
3910 debugging than exit.
3912 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
3914 * libspi/listener.c (impl_notify_event): check source
3915 not NIL before unref.
3917 * libspi/registry.c (impl_registry_notify_event): ditto.
3919 * libspi/eventlistener.c
3920 (impl_accessible_event_notify_event): unref the source.
3922 * libspi/accessibleeventlistener.c
3923 (impl_accessible_event_notify_event): unref the source.
3925 * idl/Event.idl: remove 'hash_id' attribute - of no
3928 * libspi/application.c (notify_listeners): upd list
3930 (spi_application_object_event_listener),
3931 (spi_application_toolkit_event_listener): upd to do correct
3935 (_registry_notify_listeners): update.
3936 (parse_event_type): this method also leaks like a sieve.
3937 (impl_accessibility_registry_deregister_global_event_listener):
3938 fix ETYPE_WINDOW case.
3940 * libspi/application.c
3941 (impl_accessibility_application_register_object_event_listener):
3944 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
3946 * libspi/hypertext.c (impl_getLink): ditto.
3948 * cspi/spi_main.c (cspi_object_add): remove
3949 bogus CORBA_Object_duplicate.
3951 * cspi/spi-listener-impl.c (cspi_event): dup/ref
3954 * cspi/spi_accessible.c
3955 (Accessible_getRelationSet): fix leak / referencing issue.
3957 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
3958 (cspi_object_add, cspi_object_unref): upd.
3959 (spi_object_release, get_live_refs): impl.
3960 (cspi_cleanup): simplify.
3962 * *.[ch]: s/boolean/SpiBoolean/
3964 * cspi/spi_accessible.c (role_names): actualy order so it
3965 corresponds with the enum !
3967 * test/test-simple.c (test_roles): check some role strings
3968 vs. enums to detect offset errors.
3970 2001-12-01 Michael Meeks <michael@ximian.com>
3972 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
3974 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
3976 (Accessible_getChildAtIndex): use cspi_add_check so we
3977 check the ev before using a (possibly) invalid value.
3979 * libspi/accessible.c
3980 (impl_accessibility_accessible_get_parent): don't segv
3983 * at-bridge/bridge.c (gtk_module_init): upd.
3984 (bridge_property_event_listener): don't leak strings
3986 (bridge_state_event_listener),
3987 (bridge_property_event_listener): don't use a static
3988 buffer in case of recursive event emission &
3989 re-enterancy - split out the swathe of cut and paste
3991 (emit_eventv): and fix 2 ref leaks here & comply to the
3993 (bridge_register_app): rename to
3994 (bridge_idle_init): this and kill arg parsing, split
3995 various inits & bonobo-activation registration to module
3996 init time, kill referencing error.
3997 (bridge_exit_func): fix the same leak.
3998 (bridge_focus_tracker): don't leak event structures
4000 (bridge_signal_listener): more leakage and cut & paste
4002 (bridge_key_listener): return the result - FIXME is
4003 this polarity correct ?
4004 (accessibility_keystroke_from_atk_key_event): rename
4005 (accessibility_init_keystroke_from_atk_key_event): and stop
4007 (gtk_module_init): return a value - not that it is checked by
4009 (bridge_key_listener): register my horror at casting between
4010 IDL defined structs.
4011 (bridge_get_registry): kill - not used.
4013 * cspi/spi_accessible.c (Accessible_getRole): make return const.
4015 * test/test-simple.c (test_roles): impl.
4016 (test_desktop, validate_accessible, validate_tree): impl.
4018 * cspi/spi_accessible.c (role_names): fixup bogus
4019 MAX_ROLES setup, make constants const for efficient linkage
4020 (AccessibleRole_getName): conform to coding style, make
4023 2001-11-30 Michael Meeks <michael@ximian.com>
4025 * cspi/spi.h: add missing prototype.
4027 * libspi/registry.c (spi_listener_struct_new): fix sig.
4029 * test/Makefile.am: add test-simple
4031 * test/test-simple.c: add
4033 * test/test.sh: add.
4035 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4037 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4038 do it straight - since otherwise we often get an activation race.
4040 [ work before Bill duplicated a chunk of it ... ]
4041 2001-11-30 Michael Meeks <michael@ximian.com>
4043 * libspi/keystrokelistener.c
4044 (spi_keystroke_listener_class_init): fixup arg
4047 * libspi/eventlistener.c
4048 (spi_event_listener_class_init): ditto.
4050 * tests/test.sh: add.
4052 * cspi/spi-listener-impl.h: update macros.
4054 * cspi/spi-listener-impl.c
4055 (cspi_event_listener_remove_callback): add
4056 correct pre-conditions.
4058 * cspi/spi_main.c (SPI_exit): guard vs. double
4059 exits, exit the mainloop nicely.
4060 (SPI_event_main): make more sense.
4061 (SPI_init): move the atexit evilness here so we
4062 always do it (yuck).
4063 (SPI_event_main): upd.
4065 * test/simple-at.c: update for listener changes.
4067 * registryd/registryd.c (main): prune kruft.
4069 * libspi/libspi.h: upd.
4071 * libspi/eventlistener.[ch]: rename broken macros.
4073 * libspi/accessibleeventlistener.[ch]: remove.
4075 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4077 * test/test-simple.c: Add - automated tests.
4079 * cspi/spi-listener-impl.c (cspi_event),
4080 (cspi_key_event): add user_data to invoke.
4081 (cspi_keystroke_listener_finalize): impl.
4082 (cspi_keystroke_listener_class_init): upd.
4085 (createAccessibleEventListener),
4086 (AccessibleEventListener_addCallback),
4087 (createAccessibleKeystrokeListener),
4088 (AccessibleKeystrokeListener_addCallback): upd.
4090 * libspi/deviceeventcontroller.c
4091 (spi_device_event_controller_check_key_event): add public proto.
4094 (impl_accessibility_registry_deregister_global_event_listener):
4095 always init listeners.
4096 (_registry_notify_listeners): yes it is.
4098 * cspi/spi-listener-impl.c (cspi_key_event):
4100 (cspi_event_listener_finalize): impl.
4101 (cspi_event_listener_class_init): hook up.
4102 (event_handler_new, event_handler_free),
4103 (event_list_remove_by_callback): impl.
4104 (cspi_event_listener_remove_callback),
4105 (cspi_keystroke_listener_remove_callback),
4106 (cspi_keystroke_listener_add_callback),
4107 (cspi_event_listener_add_callback): upd.
4109 * libspi/keystrokelistener.c
4110 (keystroke_listener_object_finalize): kill
4111 (spi_keystroke_listener_class_init): upd.
4112 (spi_keystroke_listener_add_callback),
4113 (spi_keystroke_listener_remove_callback): kill,
4115 (impl_key_event): prune drasticaly.
4117 * libspi/eventlistener.c
4118 (spi_event_listener_add_callback),
4119 (spi_event_listener_remove_callback): kill, use
4121 (impl_accessible_event_notify_event): upd.
4122 (spi_event_listener_object_finalize): remove.
4124 * libspi/Makefile.am: use eventlistener.[ch]
4126 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4128 * libspi/registry.c (_registry_notify_listeners):
4129 Changed listener loop iteration to use preferred convention.
4130 Got rid of string memory leaks caused be calling g_strconcat
4131 inside function calls.
4133 * libspi/registry.c (parse_event_type):
4134 Stopped g_strconcat memory leaks, free the g_strsplit return,
4135 g_strdup the split pieces when used, etc.
4137 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4140 Change method 'compare' to return a 'difference set' rather than
4141 taking a StateSet as an out parameter (more Java-friendly).
4143 * idl/Accessible.idl:
4144 Added CORBA struct 'BoundingBox', to faciliate API changes below:
4146 * idl/Component.idl:
4148 Changed methods 'getExtents' and 'getImageExtents' in these
4149 interfaces to return a BoundingBox structure.
4150 (getPosition and getSize are redundant and possibly should be
4151 removed, rather than creating a corresponding Point struct.)
4153 * cspi/spi_component.c:
4154 Modify implementation of getExtents to reflect the above IDL
4159 Add (missing) AccessibleImage_getExtents () API.
4161 * docs/reference/cspi/at-spi-cspi-sections.txt:
4162 Added AccessibleImage_getImageExtents () to docs.
4164 2001-12-03 Bill Haneman <bill.haneman@sun.com>
4166 * idl/Component.idl:
4167 Added two methods, getLayer () and getMDIZOrder (), to reflect
4168 the new ATK methods atk_object_get_layer and
4169 atk_object_get_mdi_z_order. (Which arguably should be part of the
4170 AtkComponent API and AtkObject). Also added an enum,
4171 ComponentLayer, for the first method's return value.
4173 * libspi/component.c:
4174 Added implementations for these methods.
4176 * cspi/spi_component.c:
4178 Added cspi binding methods for above,
4179 AccessibleComponent_getLayer() and
4180 AccessibleComponent_getMDIZOrder().
4181 Added cspi enum 'AccessibleComponentLayer'.
4183 * docs/reference/cspi/at-spi-cspi-sections.txt:
4184 Added above methods to docs.
4188 Changed typedef for 'boolean' type (and all references to it) to
4189 SPIBoolean, to avoid keyword clashes with C++.
4192 Changed usages of 'boolean' to SPIBoolean.
4194 * test/keysynth-demo.c:
4195 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4196 app), except where SPIBoolean is required by the callbacks API.
4198 2001-12-02 Bill Haneman <bill.haneman@sun.com>
4200 * cspi/spi_registry.c:
4201 Removed obsolete X event loop for passive keygrabs (which now
4204 * registryd/registryd.c:
4205 Removed unnecessary call to gdk_init() [cruft]. This also allows
4206 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4209 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4211 * docs/reference/cspi:
4212 Included docs for SPI_freeString in generated documentation.
4215 Renamed spi_freeString to SPI_freeString, for consistency. Added
4216 documentation for this function.
4219 Renamed spi_freeString to SPI_freeString, for consistency.
4220 Removed obsolete method declaration string_from_corba_string.
4222 * test/keysynth-demo.c:
4223 Small tweak to comments.
4226 Stopped leaking the strings returned from CSPI.
4228 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4230 Merged Michael's branch (see his ChangeLog entries below).
4232 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4233 bridge is alive, release on exit.
4235 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4236 Fix type check macro.
4239 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
4242 Added is_gnome_app static, and method cspi_is_gnome_app(),
4243 so we can call the appropriate shutdown routine at exit in SPI_exit.
4245 * cspi/spi_main.c (cspi_object_ref):
4246 Duplicate the corba object passed in, since we're keeping it around.
4248 * cspi/SPI_exit.c, cspi_cleanup:
4249 Moved the releasing of the live refs to its own function, so we
4250 can put it in g_atexit (). Call the appropriate shutdown API
4251 depending on whethe calling client is a gnome app or not
4252 (bonobo_main_quit or CORBA_ORB_shutdown).
4254 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
4255 Unref the listener when this method is called, after
4256 deregistration. Updated the API docs to note this behavior.
4258 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
4259 Bugfixes: Ref the bonobo object when returning a parent or child
4260 reference, or an AccessibleRelation. Generally made sure
4261 BonoboObject refcount is incremented whenever we return an
4264 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
4265 Fixed typo/bug in signal declaration.
4267 * libspi/accessibleeventlistener.h:
4270 * libspi/application.c (spi_application_new):
4271 Fixed leak in initialization.
4274 Remembered to increment bonobo-object refcount when returning
4275 children (applications) from desktop object.
4276 Added (empty) finalize method.
4278 * libspi/deviceeventcontroller.c:
4279 Hold a ref to listeners inside DEControllerKeyListeners.
4280 Added dec_key_listener_free() method. Use prepend instead of
4281 append in key_listener list. Fixed some refcount madness and
4282 leaks in the listener registration/deregistration - deregistration
4283 now calls dec_key_listener_free() on listeners, and on the
4284 temporarily constructed dec_key_listener() used to perform the search/match.
4286 * libspi/hypertext.c (spi_hypertest_finalize):
4287 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
4288 class. Also fixed spi_hypertext_interface_new() and
4289 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
4291 * libspi/hypertext.h:
4292 Removed pointless and duplicate AtkObject pointer from
4295 * libspi/keystrokelistener.c:
4296 Fixed incorrect type of keystroke_listener_parent_class,
4297 renamed keystroke_listener_object_finalize to
4298 spi_keystroke_listener_object_finalize.
4299 Fixed typo in signal declaration
4300 (spi_keystroke_listener_class_init).
4302 * libspi/registry.c:
4303 Added funcsions spi_listener_struct_new() and
4304 spi_listener_struct_free() to help with memory management issues.
4305 We also now use these methods instead of gnew + poking stuff into
4306 the struct, and to decrement listener counts/free the listeners
4307 when deregistering them.
4308 Fix more refcount bugs in getDesktop() and
4309 getDeviceEventController().
4312 De-ref the desktop after enumerating the applications. Explicitly
4313 decrement the refcounts on the created listeners on exit (using
4314 _unref for keystroke listeners, and via the
4315 deregisterGlobalEventListenerAll command for other event
4318 2001-11-27 Michael Meeks <michael@ximian.com>
4320 * cspi/spi-listener.h: fixup enum.
4322 2001-11-27 Michael Meeks <michael@ximian.com>
4324 * cspi/spi-listener-impl.c (cspi_event_listener_new),
4325 (cspi_keystroke_listener_new): Use the cspi variants.
4327 2001-11-26 Michael Meeks <michael@ximian.com>
4329 * test/keysynth-demo.c: fix 2 compile warnings, missing
4332 * test/simple-at.c (report_focussed_accessible),
4333 (report_focus_event, report_button_press),
4334 (check_property_change, is_command_key),
4335 (report_ordinary_key_event, report_command_key_event): upd.
4337 * util/mag_client.h: include pre-requisites.
4339 * libspi/accessibleeventlistener.c
4340 (spi_event_listener_object_finalize): free any lingering
4343 * libspi/keystrokelistener.c
4344 (keystroke_listener_object_finalize): ditto.
4346 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4347 callbacks, with cspi types.
4349 * cspi/spi_event.c (createAccessibleEventListener): chain to
4350 (AccessibleEventListener_addCallback): here.
4351 (createAccessibleKeystrokeListener): chain to
4352 (AccessibleKeystrokeListener_addCallback): here.
4354 * libspi/keystrokelistener.c
4355 (spi_keystroke_listener_class_init): add signal.
4356 (impl_key_event): emit the event.
4357 (boolean_handled_accumulator): impl.
4358 (marshal_BOOLEAN__POINTER): add, gack.
4360 * libspi/accessibleeventlistener.c
4361 (spi_event_listener_class_init): add signal.
4362 (impl_accessible_event_notify_event): emit the signal &
4363 make the loop efficient.
4364 (spi_event_listener_add_callback): prepend the callback.
4366 * libspi/accessibleeventlistener.h: add an 'event' signal,
4367 decl type on callback.
4369 * libspi/keystrokelistener.h: ditto.
4371 * cspi/spi-listener.h: make methods typesafe and
4372 make them use the new event typedefs.
4374 * test/simple-at.c (report_focussed_accessible):
4375 include mag_client.h
4376 Use *(void *)text_interface not the other thing.
4378 * configure.in: add gtk to registryd bits - since we use
4381 * util/magnifier.c: include libbonobo.h
4383 2001-11-25 Bill Haneman <bill.haneman@sun.com>
4385 * test/keysynth-demo.c:
4386 Turned this into a simple scanning keyboard, to demonstrate the
4387 use of g_timeout_add () as a means of creating timers for
4388 scanning, and the use of GtkStyle for visually indicating when
4389 virtual keyboard elements are selected.
4391 keysynth-demo now listens to any keyboard keys with zero-valued
4392 keycodes (i.e. 'unused' keys) and interprets them as
4395 Reworked the shiftlatch code so that shift-down state isn't held
4396 for long periods (it's only synthesized immediately prior to
4397 the keysynth event it's modifying). Note that shiftlatch in this
4398 demo is a convenience, not intended to take the place of AccessX
4399 which is the better choice for getting 'sticky' modifier keys.
4401 * libspi/deviceeventcontroller.c:
4402 * at-bridge/bridge.c:
4403 * cspi/spi_registry.c:
4404 Removed some debug print stuff, and put other verbosity in #ifdef
4409 Implemented some more of the magnifier IDL for the simple
4410 magnifier: namely, getZoomRegionParams.
4411 Added mag_x and mag_y members to MagnifierData struct, aid of this
4413 Added GtkWindow::realize signal handler to magnifier, to keep it
4414 from receiving keyboard focus from the WM.
4416 2001-11-23 Mark McLoughlin <mark@skynet.ie>
4418 * cspi/spi-private.h: my guess at what michael forgot
4419 before he ran off to NZ :-)
4421 2001-11-23 Michael Meeks <michael@ximian.com>
4423 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4424 comment out non existant method invoke so we link.
4426 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4427 use bonobo_exception_get_text for more friendly warnings.
4429 * cspi/spi.c (Obj_Add): move into spi_main & rename
4430 spi_object_add; kill spi.c
4432 * cspi/spi_registry.c
4433 (deregisterGlobalEventListener),
4434 (deregisterGlobalEventListenerAll),
4435 (registerGlobalEventListener): fix exception leaks.
4437 * cspi/spi_main.c (spi_exception): impl. helper, so we
4438 don't leak exceptions.
4440 * cspi/spi_selection.c
4441 (AccessibleSelection_deselectSelectedChild): return the
4444 * cspi/spi_main.c (spi_ev): impl; hack - gack.
4445 (spi_registry): ditto.
4446 (SPI_init): guard against double inits.
4448 * cspi/*.c: use spi_ev (), and spi_registry () where
4449 appropriate - a temporary hack until we have something
4450 better. Use spi_object_add
4452 2001-11-22 Michael Meeks <michael@ximian.com>
4454 * cspi/Makefile.am: re organise, install the headers.
4456 * cspi/*.h: add G_BEGIN/END_DECLS
4458 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4461 Added non-preemptive keylistener for key events with no modifiers
4462 and shift-only modifier.
4464 * libspi/keystrokelistener.c:
4465 Removed some verbose diagnostics printout.
4467 * cspi/spi_registry.c:
4468 Fixed a bug that caused all key listeners to be registered as
4471 * libspi/deviceeventcontroller.c:
4472 Fixed bug that caused XGrabKey (preemptive key grab) to be called
4473 for non-preemptive key masks.
4476 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4478 * docs/reference/idl/at-spi-idl-docs.sgml:
4479 * docs/reference/idl/at-spi-idl-sections.txt:
4480 * docs/reference/idl/at-spi-idl-overrides.txt:
4481 Added missing files.
4483 * docs/reference/Makefile.am:
4484 removed idl from SUBDIRS until we can figure a way to get gtk-doc
4485 to scan the IDL files :-(
4490 Added .cvsignore files.
4492 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4494 * libspi/deviceeventcontroller.c:
4495 * libspi/keystrokelistener.c:
4497 * cspi/spi_registry.c:
4498 Added filters for KeySets, KeyEventSeq, and event types to key
4499 event dispatching, so listeners should only receive those events
4500 that they requested :-)
4502 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4507 * docs/reference:Makefile.am:
4508 * docs/reference/cspi:
4509 * docs/reference/cspi:Makefile.am:
4510 * docs/reference/cspi:tmpl:
4511 * docs/reference/cspi:tmpl:*.sgml:
4512 * docs/reference/idl:
4513 * docs/reference/idl:Makefile.am:
4514 * docs/reference/idl:at-spi-idl-sections.txt:
4515 * docs/reference/idl:at-spi-idl-docs.sgml:
4516 * docs/reference/idl:tmpl:
4517 * docs/reference/idl:tmpl:*.sgml:
4519 Restructured docs directory to allow separate 'reference' docs
4520 section, and forked idl and cspi docs. Added the sgml template
4521 files to CVS. Added the first sections/structural sgml for the
4524 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
4526 * configure.in, libspi/Makefile.am: find libXtst.
4528 2001-11-21 Michael Meeks <michael@ximian.com>
4530 * test/accessx-gui.c: s/spi_value/value/ - doh.
4532 * libspi/base.[ch]: add.
4534 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4536 * idl/Accessible.idl:
4537 * idl/Application.idl:
4540 Started gtk-doc cleanup on IDL.
4542 * libspi/deviceeventcontroller.c:
4543 Added and connected non-preemptive key notification from the
4544 toolkits (in addition to the pre-emptive support from XServer
4545 which we had before, but which causes 'focus flashing'). Filters
4546 are presently limited to key modifiers and global/non-global,
4547 KeySets are presently ignored, as are KeyEvent masks.
4549 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
4550 structs into the persistant structure rather than just storing
4551 pointers to things that might not persist across servant
4554 The XGrabKey call now does async keygrabs, because synchronous
4555 ones were deadlocking with GDK_event code in a very nasty way.
4557 Added boolean to internal method notify_keylisteners, to indicate
4558 whether the event came from the 'toolkit source' or the 'global
4559 (XServer) source' - this is used in the notification process to
4560 determine which listeners to send the event to.
4562 deviceeventcontroller.c is now warning-free.
4564 * libspi/registry.c:
4565 Fixed regression in application de-registration.
4566 Also fixed some really brain-dead weirdness having to do with
4567 event dispatching - event structs are now duplicated before being
4568 re-marshalled in the dispatch to listeners. This also fixes a
4569 Solaris build problem.
4572 2001-11-20 Michael Meeks <michael@ximian.com>
4575 (impl_accessibility_registry_deregister_global_event_listener):
4578 * libspi/deviceeventcontroller.c
4579 (spi_device_event_controller_check_key_event): return
4580 FALSE on no virtual method.
4582 * libspi/*..h: make includes work on a correctly pathed install.
4584 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
4586 * libspi/application.h: kill unused ( and whacked out )
4587 gboolean *spi_application_set_id (AtkObject *app, long id);
4589 2001-11-20 Michael Meeks <michael@ximian.com>
4591 * libspi/*.[ch]: further convert to bonobo's type func
4592 macros, remove redundnant casts etc.
4594 * libspi/text.c s/accessibility_text/spi_text/g,
4595 re-order to de-cruft.
4597 * libspi/hypertext.c: re-order to kill a huge slew
4598 of redundant forward decls.
4600 * libspi/relation.c: ditto.
4602 * libspi/image.c: ditto.
4604 * */.cvsignore: update
4606 2001-11-20 Michael Meeks <michael@ximian.com>
4608 * libspi/deviceeventcontroller.c
4609 (_controller_register_with_devices): use g_getenv,
4610 kill stdlib.h include.
4612 * libspi/keystrokelistener.c
4613 (spi_keystroke_listener_get_type): kill
4614 (spi_keystroke_listener_class_init),
4615 (spi_keystroke_listener_init): rename to this.
4617 * libspi/text.c (impl_getAttributes): fix warning / bug.
4619 * libspi/*.[ch]: more headers, includes and over commenting.
4621 2001-11-20 Michael Meeks <michael@ximian.com>
4623 * libspi/*.[ch]: fixup headers, includes and over commenting.
4625 * libspi/image.c (impl__get_imageDescription): const
4626 correctness warning fix. remove redundant casting.
4628 * libspi/table.c (impl_getRowDescription): ditto.
4629 (impl_getColumnDescription): ditto.
4631 * libspi/libspi.h: add.
4633 2001-11-19 Michael Meeks <michael@ximian.com>
4635 * libspi/editabletext.c (impl_setAttributes): fix warnings.
4637 * libspi/component.c (accessibility_component_get_type):
4638 rename to (spi_component_get_type): and macroify.
4639 (accessibility_component_init): rename to
4640 (spi_component_init): this
4641 (accessibility_component_class_init): rename to
4642 (spi_component_class_init): this
4644 * libspi/action.c (spi_action_get_type): kill, use the macro.
4646 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
4649 * libspi/application.c (spi_application_object_event_listener),
4650 (impl_accessibility_application_register_object_event_listener):
4651 warning fixes / const understanding updates.
4653 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
4656 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4658 * libspi/spi_accessible.c: Added docs and C bindings for
4659 AccessibleStateSet. (No implementations yet). Documentation
4660 coverage for C bindings now 100%. Made docs for event listeners
4665 boolean notifyListenersSync (in DeviceEventListener listener,
4666 in DeviceEvent event);
4668 oneway void notifyListenersAsync (in DeviceEventListener listener,
4669 in DeviceEvent event);
4671 Added DeviceEventListener and DeviceEvent structs (may deprecate
4672 KeyStroke and KeystrokeListener in favor of this generic
4673 event/listener framework for devices).
4675 * libspi/deviceeventcontroller.c:
4677 Changed some key listener code to take masks, etc., and paved the
4678 way for integration of toolkit/non-preemptive key events. Changed
4679 signatures of some internal methods.
4681 * at-bridge/bridge.c:
4682 Fixed regression connecting to interface signals, apparently
4683 caused by GTK+ changes.
4685 Added an internal bridge_state_listener to deal with
4686 property-change:accessible-state signals.
4688 Changed the key_listeners GList to store structs (including masks,
4689 etc.) instead of just CORBA_Objects (required for full
4690 implementation of key listener API).
4692 Connected the bridge to all currently supported Atk signals.
4693 Events now supported:
4694 object:property-change
4695 object:property-change:accessible-name
4696 object:property-change:accessible-state
4697 object:property-change:accessible-description
4698 object:property-change:accessible-parent
4699 object:property-change:accessible-value
4700 object:property-change:accessible-role
4701 object:property-change:accessible-table-caption
4702 object:property-change:accessible-table-column-description
4703 object:property-change:accessible-table-column-header
4704 object:property-change:accessible-table-row-description
4705 object:property-change:accessible-table-row-header
4706 object:property-change:accessible-table-summary
4707 object:children-changed
4708 object:visible-data-changed
4709 object:selection-changed
4710 object:text-selection-changed
4712 object:text-caret-moved
4714 object:row-reordered
4716 object:column-inserted
4717 object:column-reordered
4718 object:column-deleted
4719 object:model-changed
4721 2001-11-16 Bill Haneman <bill.haneman@sun.com>
4723 * libspi/hyperlink.c,h:
4724 Fixed some broken stuff in hyperlink.
4726 * libspi/relation.h:
4727 * libspi/relation.c:
4728 * cspi/spi_accessible.c:
4729 Initial implementations of AccessibleRelation methods, and docs.
4731 * libspi/accessible.c:
4732 Fixed a bug that caused SEGV if an accessible
4733 object's description is NULL, and a client
4734 requests it. An empty string is now returned.
4736 * cspi/spi_editabletext.c:
4737 * cspi/spi_hypertext.c:
4739 * cspi/spi_hyperlink.c:
4743 Doc coverage now 95%.
4745 2001-11-16 Bill Haneman <bill.haneman@sun.com>
4747 One last namespacing revision:
4748 * libspi/accessibleeventlistener.[ch]:
4749 Renamed SpiAccessibleEventListener to SpiEventListener,
4750 (no need for two namespaces ;-)
4752 And lots of documentation fixes:
4754 * docs/at-spi-docs.sgml:
4755 Fixed 'underscore vs. hyphen' bug that was preventing
4756 the gtk-doc API docs from being automatically generated.
4759 * cspi/spi-listener.h
4761 * cspi/spi_accessible.c
4763 * cspi/spi_application.c
4764 * cspi/spi_component.c
4765 * cspi/spi_editabletext.c
4767 * cspi/spi_hypertext.c
4769 * cspi/spi_registry.c
4770 * cspi/spi_selection.c
4774 * docs/at-spi-docs.sgml
4775 * docs/at-spi-sections.txt
4777 Added and fixed up gtk-doc documentation in cspi.
4779 Interfaces now (fully) documented (subject to revision and enhancement):
4781 Event Listener Support
4783 AccessibleApplication
4787 AccessibleEditableText
4794 AccessibleRelationSet
4799 2001-11-14 Bill Haneman <bill.haneman@sun.com>
4801 * at-bridge/bridge.c:
4802 Initial work for toolkit-level key snooper connection by bridge.
4807 New typedefs and fixes to support new namespacing, and cleaner
4808 separation of cspi bindings from libspi bonobo implementation.
4809 Removed inconsistent and extraneous Spi* namespace prefix that
4810 had crept into cspi headers.
4811 Lots of comment fixes that sed had missed.
4813 * cspi/spi-roletypes.h:
4814 * cspi/spi-statetypes.h:
4815 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
4816 to AccessibleRoleType.
4818 * libspi/accessibleeventlistener.h:
4819 Fixed minor namespacing weirdness.
4821 * libspi/deviceeventcontroller.c:
4822 Reordered some internal API for device listeners.
4823 Changed the key registry final boolean to 'is_system_global'
4824 rather than 'is_synchronous', which is more descriptive of its
4826 Added spi_device_event_controller_new().
4827 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
4829 * libspi/keystrokelistener.[ch]:
4830 Namespaced KeystrokeListener to SpiKeystrokeListener.
4831 Changed uses of keymasks to use SPI_ prefix, and did other
4834 * libspi/keymasks.h:
4835 Namespaced keymask constants with SPI_ prefix.
4837 * libspi/registry.c:
4838 Some warning fixes, and knock-on fixes from namespace changes.
4841 Added rules for accessx-gui test program.
4843 * test/accessx-gui.c:
4844 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
4845 utility. It doesn't actually use at-spi, but it's still cool and
4848 * test/keysynth-demo.c:
4852 Fixes so that these test clients work properly with the namespaced
4853 libraries. (Incompletely tested for technical reasons, fixes may follow)
4856 2001-11-13 Michael Meeks <michael@ximian.com>
4858 * libspi/application.c
4859 (impl_accessibility_application_get_version),
4860 (impl_accessibility_application_get_toolkit_name):
4862 (impl_accessibility_application_set_id),
4863 (impl_accessibility_application_get_id): remove
4864 redundant casting code.
4866 * libspi/action.c (impl_getDescription): fix warnings.
4868 * libspi/accessible.c
4869 (impl_accessibility_accessible_get_parent),
4870 (impl_accessibility_accessible_get_child_at_index),
4871 (impl_accessibility_accessible_get_state),
4872 (impl_accessibility_accessible_get_relation_set):
4873 warning fixes & include action.h
4875 2001-11-13 Michael Meeks <michael@ximian.com>
4877 * *.[ch] fix bits I screwed up:
4879 s/([^ \tb(\*\&\?\",])spi_/\1/g;
4880 s/([^ \tb(\*\&\?\",])Spi/\1/g;
4882 2001-11-13 Michael Meeks <michael@ximian.com>
4884 * *.[ch] Namespace libspi into spi_ and Spi.
4886 2001-13-11 Michael Meeks <michael@ximian.com>
4888 * Makefile.am: dist & install at-spi-1.0.pc
4890 * libspi/Makefile.am: install into at-spi-1.0
4892 * idl/Makefile.am (idldir): install into at-spi-1.0
4894 * at-spi-1.0.pc.in: add.
4896 * configure.in: build it.
4898 2001-11-12 Bill Haneman <bill.haneman@sun.com>
4900 * test/keysynth-demo.c:
4901 Use a 'realize' signal-handler to set the WM properties for
4902 the virtual keyboard, rather than making it a "POPUP" type
4903 override-redirect window (thanks to anders carlsson for that
4906 2001-11-11 Bill Haneman <bill.haneman@sun.com>
4909 * test/keysynth-demo.c:
4910 Added new test of key synthesis, which creates a simple
4911 (mouse-operated) onscreen keyboard. It inserts key events into
4912 the currently-focused window, thus it does not grab keyboard focus
4915 * cspi/spi_registry.c:
4916 Added C binding for AT-SPI generateKeyEvent.
4918 * libspi/deviceeventcontroller.c:
4919 Added call to XFilterEvent so that key listener works with XIM (we
4920 hope). Added event_synth_type to generateKeyEvent, so that we can
4921 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
4922 synthesize a press/release pair for KeySyms.
4924 2001-11-09 Bill Haneman <bill.haneman@sun.com>
4926 * libspi/Makefile.am:
4927 * registryd/Makefile.am:
4928 (temporary) hack to include libXtst in libspi and registryd.
4929 (Needed for keystroke synthesis, see below).
4932 Improved API for registerKeystrokeListener, in accordance with
4933 discussions with Gnopernicus team and X server research.
4935 * libspi/registry.c:
4936 * libspi/deviceeventcontroller.c:
4937 * libspi/accessible.c:
4938 * libspi/keystrokelistener.c:
4939 Changes and fixes to support keylisteners for potentially
4940 consumed key events (that is, 'passive grabs').
4941 Added implementation for generateKeyEvent() [untested].
4944 Changes to registerKeystrokeListener() API, as above.
4945 Added deregisterGlobalEventListenerAll(), and
4946 deregisterKeystrokeListener(), which are needed for clean exit of
4948 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
4949 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
4951 * cspi/spi_registry.c:
4952 Added implementations of function prototypes mentioned above.
4954 * registryd/registryd.c:
4955 Added the key listener event source as a g_timeout(), to allow
4956 receipt of key events that are not caught by GDK (since GDK
4957 doesn't support passive keygrabs, this was necessary).
4960 Changed to attach a keylistener to 'Alt' keys, and
4961 respond to the following keycommands: Alt-M (toggle magnifier);
4962 Alt-F (toggle speech); Alt-Q (quit).
4963 Added an exit routine to deregister the listeners, and a key
4964 listener that prints some key info to the console when a key
4965 matches the listener mask (and is thus received by the listener).
4967 * util/idl/Magnifier.idl:
4968 Changes to magnifier API to support multiple zoom regions,
4969 non-uniform scaling in x and y, markDirty, and a host of other
4970 features that would be useful to magnification.
4973 * util/mag_client.c:
4974 * util/mag_client.h:
4975 * util/mag_control.c:
4977 Source code changes to support the above IDL changes.
4980 As above, and also changes to use a (slower) generic conversion
4981 path for colormap conversions, since the fast RGB conversions have been
4982 reported to fail for 16-bit displays.
4984 2001-10-26 Michael Meeks <michael@ximian.com>
4986 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
4988 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
4990 * at-bridge/Makefile.am: fix LDFLAGS.
4992 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4994 * at-bridge/bridge.c:
4995 Re-worked listeners for toolkit events, now we have signal
4996 and property listeners. Added a private method
4997 register_atk_event_listeners(), which registers with the
4998 various atk and gtk signals we need to monitor in order to emit
5000 Added emission hook for AtkObject:property-change events, to
5001 support the 'property listeners'.
5002 Fixed some alloc()s of Accessibility_Event structs to use CORBA
5005 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5006 which emit warnings and exit, respectively, if CORBA errors occur
5007 during remote calls, and we now use these methods to check most of
5008 our CORBA calls in the C bindings.
5010 * cspi/spi_accessible.c:
5011 Changed AccessibleSelection_refSelectedChild() to
5012 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5013 now increment refcounts.
5015 * cspi/spi_component.c:
5016 Fixed some long pointer casts (dangerous!) to pass pointers to
5017 CORBA_longs of the proper type to the CORBA stubs, and copy the
5018 data into the longs that were passed into the C bindings code.
5020 * at-bridge/bridge.c:
5022 * libspi/accessible.c:
5023 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5024 hyperlinks, AtkHyperlink is an object type.
5026 * libspi/application.c:
5027 Added various conversions to and from "generic" event types and
5028 atk-specific types; this is really part of the 'bridge'
5029 implementation but is valid for all AtkObject-based accessibility
5032 * libspi/editabletext.c:
5033 Fixed nasty bug wherein editable text's finalize method was
5034 unref'ing tha AtkObject reference that the text parent class was
5035 about to unref _again_. There was also a nasty inheritance bug
5036 that meant that the AccessibleEditableText class was corrupt.
5038 * libspi/selection.c:
5039 Provided implementations for some selection API that was broken.
5041 * idl/Application.idl:
5042 Added registerObjectEventListener () method.
5045 Fixed a number of return values that were Bonobo_Unknowns from
5046 bonobo_object_corba_objref(), which I
5047 forgot to dup before returning. Changed instances of
5048 bonobo_object_corba_objref (bonobo_object(o)) to
5049 BONOBO_OBJREF(o), for concision and clarity.
5051 2001-10-13 Louise Miller <louise.miller@sun.com>
5053 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5054 idl/Event.idl, idl/Registry.idl
5055 Changed these files to include Bonobo_Unknown.idl instead
5058 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
5060 * libspi/component.c libspi/component.h:
5061 Fixed typo. Added assertions for object checks in
5062 AccessibleComponent code.
5064 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5066 * idl/Accessible.idl:
5067 Added 'isEqual (Accessible *object)'
5068 method for Accessible. (Not Yet Implemented).
5071 Changed signature of registerKeystrokeListener() to
5072 take a KeySet and KeyEventSeq so that specific keys and event
5073 types could be requested for monitoring, and added a flag
5074 is_synchronous so that either synchronous or asynchronous
5075 notification could be requested. (However this is not all
5076 implemented yet). This also meant adding two new typedefs,
5077 KeyEventSeq and KeySet.
5080 Added two new relations, RELATION_TOOLTIP_FOR and
5081 RELATION_LEAFNODE_OF.
5084 Added new state, STATE_HAS_TOOLTIP.
5086 * libspi/text.c, editabletext.c:
5087 Added new assertions to all casts of bonobo-objects from
5088 CORBA servants, to prevent Text API calls on non-text objects.
5089 Changed suspect casts of int-pointer types, so that we
5090 always send a valid CORBA_long pointer to the CORBA APIs that use
5091 in/out long parameters. We then have to copy from the CORBA_long
5092 into the regular long or int for return to the C bindings, or
5093 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5096 * libspi/deviceeventcontroller.c:
5097 Cleaned these sources up.
5099 Changed return type for getCharacterAtOffset to
5100 CORBA_unsigned_long, to allow for 32-bit characters.
5103 2001-10-08 Bill Haneman <bill.haneman@sun.com>
5107 Fixed 'make dist' so that distro compiles...
5108 * libspi/keymasks.h:
5110 * cspi/spi-listener.c:
5111 KeystrokeListenerCB now returns a boolean.
5113 Added KeyEventType struct, and KeyStroke.
5114 Also added createKeystrokeListener(),
5115 KeystrokeListener_addCallback(),
5116 KeystrokeListener_removeCallback(), and added a keymask to
5117 registerKeystrokeListener().
5118 * cspi/spi_accessible.c:
5119 Changed numerous return types for interfaces from
5120 AccessibleComponent to Accessible<InterfaceName>; this was
5121 probably a cut-and-paste error.
5123 Implementations of new KeystrokeListener api (from spi.h,
5126 Changes to key modifier mapping.
5127 Created ControllerEventMask struct.
5128 Made DeviceEventController derive from Bonobo::Unknown.
5130 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5131 * libspi/deviceeventcontroller.c:
5132 Added a number of new internal (private) methods.
5133 * libspi/editabletext.c:
5134 * libspi/editabletext.h:
5135 Fixed a number of bugs related to the fact that
5136 editabletext inherits from text. Fixed the EditableText struct,
5137 the init() call, and use correct casts when calling Text methods
5138 from an EditableText object. Removed (duplicate) atko from the
5139 EditableText structure, we use the one in the parent Text
5140 structure via the casts mentioned above.
5141 * libspi/keystrokelistener.[ch]:
5142 * libspi/registry.c:
5143 Changes in support of keyboard handling (above).
5145 Keyboard handling, though partly functional, is still not
5146 recommended for at-spi client use as there is considerable
5147 work yet to be done.
5150 Changed some places where pointers to various int types
5151 are cast to be pointers to CORBA_long types and vice-versa:
5152 pointer casting is not safe so we pass pointers of the correct
5153 types and then cast the result before putting it into the target
5156 * libspi/text.h: minor typos corrected.
5158 We now speak not only the name of a Text element, but the
5159 first sentence of its content, when it receives focus.
5160 I also changed the text compression to 75% from 50%.
5161 * util/Accessibility_Util.server.in:
5162 Changed the default magnifier type to be a 3x vertical
5163 splitscreen magnifier (was previously a 2x horizontal one).
5165 2001-10-03 Bill Haneman <bill.haneman@sun.com>
5167 * libspi/keystrokelistener.h:
5168 * libspi/keystrokelistener.c:
5169 Initial functional implementations of KeystrokeListener.
5172 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
5174 Fixed string handling for NULL strings in libspi.
5175 Added spi_freeString to free strings returned by C bindings.
5177 2001-09-30 Bill Haneman <bill.haneman@sun.com>
5179 * libspi/keystrokelistener.h:
5180 * libspi/keystrokelistener.c:
5181 Began (no-op) implementations of KeystrokeListener
5183 * libspi/deviceeventcontroller.c:
5184 * libspi/deviceeventcontroller.h:
5185 Began creating implementations of DeviceEventController,
5186 to handle keystroke and mouse event listening and
5188 * libspi/accessible.c:
5189 Stubbed-in the implementations for
5190 Accessibility_Accessible_getState and
5191 Accessibility_Accessible_getRelationSet.
5192 * libspi/registry.c:
5193 Improved de-registration process and fixed some bugs,
5194 deregistration now works correctly.
5196 Added initialization of applications list (to NULL).
5198 Reduced speech compression from 0.5 to 0.7, for demo.
5199 Changed call to gdk_window_set_decorations()
5200 to gtk_window_set_decorated().
5201 * at-bridge/bridge.c:
5202 Bridge now deregisters when app exits, via
5203 registration of a cleanup function
5204 with the g_atexit() call.
5205 Required making 'app' static, renamed 'this_app'.
5206 Fixed broken use of bonobo_init, passing argv wrongly.
5208 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5212 Created a new directory for
5213 accessibility-related utilities, primarily for
5214 testing and demo purposes, but with possible
5221 Onscreen magnifier utility that
5222 is implemented as a bonobo service.
5224 * util/mag_client.c:
5225 * util/mag_client.h:
5226 Client-side support (simple C bindings)
5227 for Magnification service
5229 * util/mag_control.c:
5230 Client program example for
5231 Magnification service
5233 * util/Accessibility_Magnifier.server.in:
5234 Bonobo-activation file for the
5235 Magnification service.
5238 * util/idl/Magnifier.idl:
5239 IDL defining the bonobo Magnification
5243 Modifications to use the bonobo-activated magnifier
5244 above, in place of trying to connect to an existing
5245 magnifier that uses socket-listening IPC.
5247 If env variable MAGNIFIER is set, a magnifier service
5248 will be started if one does not exist.
5250 2001-09-25 Bill Haneman <bill.haneman@sun.com>
5252 * at-bridge/bridge.c:
5253 applied patch from Marc to build and run
5254 against new glib and gtk+ (seemed like a change
5255 to bonobo_init signature was made ?)
5257 made festival-server support turned off by default.
5258 Added support for a simple magnifier (off by default)
5259 which will be added to a 'util' directory later.
5260 * at-bridge/Makefile.am:
5261 Changed "application.h" header from a 'source'
5262 to a 'dependency' of libat-bridge.
5264 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5273 Added interface implementation c files to list of
5274 includes so they are included in libcspi.
5277 Changed prototype of AccessibleAction_doAction to return a
5279 Changed prototype of AccessibleTable_getCaption to
5280 return an Accessible.
5281 Changed prototype of AccessibleTable_getSelectedRows
5282 and AccessibleTable_getSelectedColumns to
5283 return a long (returns the number of selected rows
5284 or columns respectively).
5285 Changed name of AccessibleText_refRunAttributes to
5286 AccessibleText_getAttributes.
5287 Changed prototype of AccessibleText_getCharacterExtents to
5288 return a void rather than a boolean.
5289 Added support for a AccessibleCoordType parameter
5290 specifying what type of coordinates are desired.
5291 Added an AccessibleCordType parameter to
5292 AccessibleText_getPointAtOffset.
5294 * cspi/spi_accessible.c:
5295 Added code to return the outstanding interfaces from
5296 Accessible_queryInterface.
5298 * cspi/spi_action.c:
5300 Corrected call to getNActions to call the c binding
5303 * cspi/spi_editabletext.c:
5305 Changed name from setRunAttributes to setAttributes.
5307 * cspi/spi_hyperlink.c:
5309 Changed call to getNAnchors to correctly call the c
5310 binding for an attribute.
5312 * cspi/spi_hypertext.c:
5314 Changed getImageDescription to correctly call the
5315 binding for an attribute.
5317 * cspi/spi_selection.c:
5318 Changed getNSelectedChildren to correctly call the c
5319 binding for the attribute.
5320 Changed refSelectedChild to getSelectedChild.
5324 Changed getCaption to return an Accessible.
5325 Fixed calls which retrieve attributes.
5326 Changed refAt to getAccessibleAt.
5327 Changed getNSelectedRows and getNSelectedColumns to
5331 Changed getCharacterExtents and getPointAtOffset to accept an
5332 AccessibleCoordType.
5334 Changed calls which retrieve attributes.
5335 Changed refRunAttributes to getAttributes.
5340 * idl/Hyperlink.idl:
5341 Changed n_anchors attribute to nAnchors to keep naming
5342 convention consistent.
5345 Made Table inherit from Bonobo::Unknown.
5346 Added nSelectedColumns and nSelectedRows attributes.
5349 Made Value inherit from Bonobo::Unknown.
5351 * libspi/hyperlink.c:
5352 Change for nAnchors attributte name change.
5354 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5362 Added interface implementation c files to list of
5363 includes so they are included in libcspi.
5366 Changed prototype of AccessibleAction_doAction to return a
5368 Changed prototype of AccessibleTable_getCaption to
5369 return an Accessible.
5370 Changed prototype of AccessibleTable_getSelectedRows
5371 and AccessibleTable_getSelectedColumns to
5372 return a long (returns the number of selected rows
5373 or columns respectively).
5374 Changed name of AccessibleText_refRunAttributes to
5375 AccessibleText_getAttributes.
5376 Changed prototype of AccessibleText_getCharacterExtents to
5377 return a void rather than a boolean.
5378 Added support for a AccessibleCoordType parameter
5379 specifying what type of coordinates are desired.
5380 Added an AccessibleCordType parameter to
5381 AccessibleText_getPointAtOffset.
5383 * cspi/spi_accessible.c:
5384 Added code to return the outstanding interfaces from
5385 Accessible_queryInterface.
5387 * cspi/spi_action.c:
5389 Corrected call to getNActions to call the c binding
5392 * cspi/spi_editabletext.c:
5394 Changed name from setRunAttributes to setAttributes.
5396 * cspi/spi_hyperlink.c:
5398 Changed call to getNAnchors to correctly call the c
5399 binding for an attribute.
5401 * cspi/spi_hypertext.c:
5403 Changed getImageDescription to correctly call the
5404 binding for an attribute.
5406 * cspi/spi_selection.c:
5407 Changed getNSelectedChildren to correctly call the c
5408 binding for the attribute.
5409 Changed refSelectedChild to getSelectedChild.
5413 Changed getCaption to return an Accessible.
5414 Fixed calls which retrieve attributes.
5415 Changed refAt to getAccessibleAt.
5416 Changed getNSelectedRows and getNSelectedColumns to
5420 Changed getCharacterExtents and getPointAtOffset to accept an
5421 AccessibleCoordType.
5423 Changed calls which retrieve attributes.
5424 Changed refRunAttributes to getAttributes.
5429 * idl/Hyperlink.idl:
5430 Changed n_anchors attribute to nAnchors to keep naming
5431 convention consistent.
5434 Made Table inherit from Bonobo::Unknown.
5435 Added nSelectedColumns and nSelectedRows attributes.
5438 Made Value inherit from Bonobo::Unknown.
5440 * libspi/hyperlink.c:
5441 Change for nAnchors attributte name change.
5444 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
5446 implementations-- made server implementations own AtkObject pointers
5447 rather than their respective AtkInterrface pointers to fix
5448 refcounting. AtkHyperlink is still broken.
5450 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5451 * cspi/spi_accessible.c:
5452 Added method Accessible_Role_getName(),
5453 and requisite string array (role_names).
5454 Added conversion string_from_corba_strin() call
5455 to Accessible_getName and _getDescription.
5456 * libspi/accessible.c:
5457 Added implementation for Accessible_getRole()
5459 Added festival support, used if environment variable
5462 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5464 * at-bridge/bridge.c:
5465 Now allocate Accessibility_Event using
5466 Accessibility_Event__alloc() instead of g_new0().
5467 * libspi/accessibleeventlistener.c:
5468 Initialize AccessibleEventListener->callbacks to NULL.
5469 Fixed accessible__event_listener_init() param, changed to
5470 "AccessibleEventListener *" type.
5471 Changed a bonobo_object_release_unref() call to
5472 Accessibility_Accessible_unref().
5473 * libspi/listener.c:
5474 Changed Bonobo_Unknown_unref to (equivalent)
5475 Accessibility_Accessible_unref.
5476 * libspi/registry.c:
5477 Changed bonobo_object_release_unref to
5478 Accessibility_Accessible_unref.
5480 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5483 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5484 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5485 spi-util.c spi-util.h
5486 Implementations for C bindings to remaining accessibility
5489 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5492 changed return value of Action from void to boolean to
5493 bring in line with ATK.
5496 Changed getText funcions to return "out" start and end offsets.
5497 Changed getAttributes to take and offset and return the start
5498 and end offset of the attribute run.
5499 Changed getOffsetAtPoint and getCharacterExtents to take an
5500 enum describing whether coordinates are window or screen.
5503 libspi/action.c libspi/action.h libspi/editabletext.c
5504 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5505 libspi/hypertext.c libspi/hypertext.h libspi/image.c
5506 libspi/image.h libspi/selection.c libspi/selection.h
5507 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
5508 libspi/value.c libspi/value.h
5509 Added server implementations for outstanding ATK interfaces
5510 not yet implemented.
5512 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5515 Added (missing) getName() method.
5516 Made nActions an attribute.
5517 * idl/EditableText.idl:
5518 Changed order of params in setAttributes.
5519 * idl/Hyperlink.idl:
5520 Removed getAnchor, added getURI.
5522 Changed attributes to methods, for efficiency
5523 (so that getting extents can be done in one call)
5524 * idl/Selection.idl:
5525 Changed nSelectedChildren to attribute, and re-indented.
5526 * idl/Table.idl: changed nrows, ncolumns, caption, summary
5528 * idl/Text.idl: reformatted to match our coding style.
5529 (temporarily?) removed getRowColumnAtOffset().
5530 Changed text selection API to support multi-select and
5531 non-contiguous selections, as in ATK.
5532 * idl/Value.idl: changed some methods to attributes.
5534 2001-08-24 Mark McLoughlin <mark@skynet.ie>
5536 * libspi/listener.c(impl_notify_event):
5537 BonoboUnkown_unref the source instead
5538 of bonobo_object_release_unref - the ORB
5539 handles the releasing.
5541 * configure.in: require ORBit-2.3.94 for
5544 2001-08-21 Bill Haneman <bill.haneman@sun.com>
5546 Tagged CVS repository 'EA_1_0'.
5547 * README.EARLY_ACCESS:
5548 Alphabetized acknowledgements list, and
5550 Listed some known dependencies of at-spi.
5552 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5554 * docs/at-spi-docs.sgml:
5555 * docs/at-spi-sections.txt:
5556 * docs/at-spi-overrides.txt: (Added zero-length file)
5557 Documentation improvements - gtk-doc should build
5558 docs for all implemented C bindings now.
5561 * cspi/spi.c: (New file)
5562 * cspi/spi_event.c: (New file)
5563 * cspi/spi_registry.c: (New file)
5564 * cspi/spi_accessible.c: (New file)
5565 * cspi/spi_application.c: (New file)
5566 * cspi/spi_component.c: (New file)
5567 Split spi_main.c into six parts, and included them from
5568 "spi.c". This is a bit of a hack, probably temporary,
5569 but required by gtk-doc, apparently.
5571 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5574 * docs/at-spi-docs.sgml:
5575 * docs/at-spi-sections.txt:
5577 Initial checkins/modifications for gtk-doc generation.
5580 Added (missing) interface query methods to Accessible's C binding.
5582 Added GenericInterface type definition.
5584 Added query for AccessibleComponent interface to focus event handler.
5585 Added printout of bounding box for focussed component.
5586 * libspi/component.c:
5587 Added partial implementation for AccessibleComponent to C binding.
5588 * idl/Application.idl:
5589 * libspi/registry.c:
5590 * libspi/listener.c:
5591 * libspi/application.c:
5592 * libspi/application.h:
5593 Changed "ID" attribute type from string to long.
5595 2001-08-19 Bill Haneman <bill.haneman@sun.com>
5599 Made method naming consistent: methods taking object args
5600 start with uppercase, other methods (except those using
5601 acronyms) start with lowercase. Underscores delimit between
5602 object names and method names:
5603 SPI_init() - uppercase since it starts with an acronym.
5604 getDesktopCount () - lowercase start since no object param0.
5605 Accessible_getName() - uppercase object type name, studlyCaps method
5609 Added gtk-doc documentation for all currently implemented
5610 methods in the C bindings API.
5612 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5614 * Makefile.am : changed build order to build test last.
5617 Changed "createEventListener" to "CreateEventListener".
5618 * libspi/accessibleeventlistener.c :
5619 Bugfix for addition of callbacks.
5620 * test/Makefile.am :
5621 * test/simple-at.c :
5622 Added new test that uses the C bindings API.
5624 * libspi/listener.c :
5625 * libspi/registry.c :
5626 * libspi/accessibleeventlistener.c :
5627 * at-bridge/bridge.c :
5628 Renamed member "target" of Accessibility_Event to "source",
5629 which is more descriptive.
5632 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5636 * cspi/Makefile.am :
5637 Added makefile support for at-spi/cspi directory.
5640 * cspi/spi-listener.h : (NEW FILE)
5641 Added support for/use of spi-listener.h.
5643 C bindings now build successfully, with no warnings.
5644 * libspi/accessibleeventlistener.h : (NEW FILE)
5645 * libspi/accessibleeventlistener.c : (NEW FILE)
5646 * libspi/Makefile.am :
5647 Added new object type "AccessibleEventListener"
5648 which inherits from Listener, and allows attachment
5649 of in-process callbacks (so that a client with a listening
5650 object instance can add functionality to the local
5651 implementation, dynamically).
5653 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5655 * libspi/accessible.c:
5656 Add implementation for get_index_in_parent().
5658 Added #include of "spi-roletypes.h", and
5659 added enumerated type AccessibleCoordType.
5660 Added definition for KeystrokeListener (function type).
5663 * cspi/spi-statetypes.h :
5664 * cspi/spi-roletypes.h :
5666 Added these headers, used by spi.h.
5668 Added code (NOTE: not yet built by make).
5670 2001-08-18 Mark McLoughlin <mark@skynet.ie>
5672 * libspi/Makefile.am: generate imodule
5673 at the same time as other idl compiler
5676 2001-08-17 Bill Haneman <bill.haneman@sun.com>
5677 * libspi/registry.c :
5678 * libspi/application.c :
5679 * idl/Application.idl :
5680 Made registration with toolkit an application method,
5681 which is required since each app has its own toolkit static
5682 environment. Thus the bridge must register for
5683 notification of toolkit events from each application in turn.
5684 Toolkit notifications are now successfully registered for, and
5685 sent to the listening at client.
5687 Changed toolkit event string to use hyphens rather than underscores.
5688 * libspi/listener.c :
5689 listner now gives more info in debug mode - it reports the
5690 name of the event received, as well as the name of the source.
5693 2001-08-16 Bill Haneman <bill.haneman@sun.com>
5695 * libspi/registry.c :
5696 added more implementation for toolkit events.
5697 Fixed bug such that toolkit event registrations
5698 (via atk) use the whole event name string, not
5700 Removed a useless call to an ORBit_ method.
5701 * at-bridge/bridge.c :
5702 Removed unused local sbuf[] variable.
5704 We now register for Gtk:GtkWidget:button_press_event
5705 events as well as "focus:" events.
5707 Add some more API from Registry.idl that was missing,
5708 for keystroke listening, keystroke and mouse event
5709 synthesis, and enumeration of accessible desktops.
5711 2001-08-16 Michael Meeks <michael@ximian.com>
5713 * configure.in: use AM_GLIB_GNU_GETTEXT.
5715 * Makefile.am (SUBDIRS): kill intl.
5717 2001-08-15 Michael Meeks <michael@ximian.com>
5719 * registryd/Makefile.am: s/oaf/server/ relocate info file.
5721 * configure.in: upd.
5723 * configure.in: depend on a recent bonobo-activation that
5724 will find our server files ...
5726 2001-08-16 Bill Haneman <bill.haneman@sun.com>
5728 * libspi/accessible.c : accessible_new() :
5729 Now we add the Component interface via bonobo_object_add_interface,
5730 if the contained AtkObject implements AtkComponent.
5731 * libspi/accessible.h : now include "component.h"
5732 * libspi/component.h :
5733 * libspi/component.c : added files - implementation of
5734 bonobo wrapper object for Accessibility/Component
5735 * libspi/listener.c :
5736 Added test code to check for Accessibility/Component:1.0
5737 interface and report whether it is implemented by the
5739 * libspi/registry.c :
5740 Now we check for not only the hash of the whole event
5741 string before relaying the event, we also check the
5742 "minor" event string (without the detail string).
5743 This allows event listeners to be registered against
5744 all events of a certain major+minor type, or just
5745 against a specific major+minor+detail type.
5746 * libspi/accessible.c :
5747 Added implementations for Accessible:get_parent(),
5748 Accessible:getChildCount(), and Accessible:getChildAtIndex().
5749 * libspi/registry.c :
5750 * libspi/listener.c :
5751 Replaced calls to Accessibility_Accessible_ref() and
5752 Accessibility_Accessible_unref() with
5753 calls to bonobo_object_dup_ref() and
5754 bonobo_object_release_unref(), so that the CORBA object
5755 is dup-ed and released when relayed, as well as the bonobo object.
5757 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5759 * libspi/Makefile.am,
5760 registryd/Makefile.am,
5761 at-bridge/Makefile.am.
5762 test/Makefile.am, configure.in:
5763 reverse previous changes.
5765 * /idl/Image.idl: fix typo.
5767 * test/Makefile.am: put DEBUG_FLAGS
5770 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5772 * test/app.c: use argv[0] instead of
5775 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5777 * libspi/Makefile.am,
5778 registryd/Makefile.am,
5779 at-bridge/Makefile.am.
5780 test/Makefile.am, configure.in:
5781 cleanup, replace individual LIBS/CFLAGS with
5782 AT_COMMON_{LIBS|CFLAGS}.
5786 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5788 * configure.in, libspi/Makefile.am:
5789 Change IDL path checking for bonobo-activation
5792 2001-08-15 Bill Haneman <bill.haneman@sun.com>
5794 * registryd/registry.c : separated event listeners to use
5795 3 separate lists (focus, window, toolkit). Began testing
5796 event names against hashes before relaying events.
5797 * test/at.c : now register for events of type "focus:"
5798 * test/app.c : now generate events of type "focus:"
5799 * at-bridge/bridge.c : register with ATK for focus events,
5800 and we now relay those focus events to any "focus:" listeners.
5801 This now works with the bridge as a GTK_MODULE when running test/at.
5802 * libspi/registry.c :
5803 * libspi/listener.c :
5804 now we ref event sources before propagating, and unref on receipt.
5805 * libspi/registry.c :
5806 some changes to internal structs, to support event typestring hashes.
5807 * text/app.c : changed the way the appname is generated.
5808 * cspi : added directory that will hold the C bindings library for
5809 non-CORBA/bonobo-savvy clients.
5810 * cspi/spi.h : header file that contains the function prototypes for the C binding.
5811 * idl/Component.idl : added in parameter to indicate coord system for
5812 geometry-related calls.
5813 * idl/Hyperlink.idl : added readonly n_links attribute
5814 * idl/Image.idl : changed methods to attributes.
5816 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5818 * at-bridge/Makefile.am: link against
5819 ../libspi/libspi.la instead of -lspi.
5821 * at-spi/test/app.c: include
5822 bonobo-activation.h. Use a default appname
5823 if one is not provided.
5825 2001-08-14 Bill Haneman <bill.haneman@sun.com>
5827 * idl/Registry.idl : temporarily changed register_Application
5828 to oneway, to work around issue with initial registration
5830 * idl/Application.idl : changed attribute "id" from readonly
5831 to read-write, since it needs to be assigned by Registry.
5832 * registryd/registryd.c : added call to set application id
5834 * registryd/registry.c : changed de-registration procedure to
5835 use CORBA_Object_hash() to find matching object ref in application
5836 lists and listener lists.
5837 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
5838 began distinguishing between event types (work in progress).
5840 2001-08-13 Bill Haneman <bill.haneman@sun.com>
5843 * libspi/application.c:
5844 Added implementations for get/set id, get_toolkitName,
5846 * registryd/registryd.c :
5850 Converted from use of OAF to bonobo-activation.
5851 * libspi/desktop.h :
5852 * libspi/desktop.c :
5854 Removed references to atksimpleobject, since base atkobject
5855 implementation now provides functionality we need.
5856 * libspi/atksimpleobject.c :
5857 * libspi/atksimpleobject.h :
5862 * at-bridge/Makefile.am
5863 * at-bridge/bridge.c
5866 Added directory "bridge" and contents, and added dependencies
5867 in Makefile.am/configure.in.
5868 Initial checkin of "at-bridge".
5869 This code is a GTK_MODULE which automatically registers
5870 GTK+ apps with the accessibility registry, using an object
5871 reference to the root ATK object.
5873 2001-08-10 Mark McLoughlin <mark@skynet.ie>
5875 * po/Makefile.in.in: Remove. Again. If this
5876 doesn't get autogenerated - you need to update
5879 2001-08-07 Mark McLoughlin <mark@skynet.ie>
5881 * po/Makefile.in.in: Add. Again.
5883 2001-07-31 Bill Haneman <bill.haneman@sun.com>
5885 * libspi/accessible.c : added support for 'description' property.
5886 * libspi/accessible.c
5888 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
5889 (since the two are now equivalent in libbonobo)
5897 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
5898 Bonobo::Unknown as does Accessibility::Accessible.
5899 * idl/StreamableContent.idl : as above, and replaced internal InputStream
5900 interface with Bonobo::Stream, since it was redundant with it.
5901 (The Stream returned by a StreamableContext object is expected to
5902 implement only a subset of Bonobo::Stream)
5904 2001-07-28 Anders Carlsson <andersca@gnome.org>
5906 * libspi/accessible.c (accessible_object_finalize): Change
5907 g_free to g_object_unref since the AtkObject is a GObject.
5909 2001-07-30 Bill Haneman <bill.haneman@sun.com>
5911 * idl/Accessibility.idl: add new IDL files
5914 * idl/Action.idl: Definitions of actionable UI object
5915 * idl/Component.idl: Definitions of UI component geometry, etc.
5916 * idl/Hyperlink.idl: Defs of hyperlink behavior
5917 * idl/Image.idl: Def of accessible image
5918 * idl/Selection.idl: Definition of UI object with selectable children
5919 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
5920 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
5921 * idl/Text.idl: Interface defs for UI elements with complex textual content
5922 * idl/Value.idl: Definition of UI element that is a value controller or display
5924 2001-07-27 Michael Meeks <michael@ximian.com>
5926 * po/Makefile.in.in: remove autogenerated file from CVS.
5928 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
5931 * idl/Registry.idl: include guard.
5933 * idl/Accessibility.idl: Add, and include all the other IDL
5936 * idl/*.idl: remove mass of pragmas etc.
5938 2001-07-26 Michael Meeks <michael@ximian.com>
5940 * registryd/Makefile.am (registryd_SOURCES): remove
5943 2001-07-27 Mark McLoughlin <mark@skynet.ie>
5945 * libspi/.cvsignore, registryd/.cvsignore,
5946 test/.cvsignore: updated.
5948 * po/Makefile.in.in: gettext update.
5950 2001-07-25 Bill Haneman <bill.haneman@sun.com>
5952 * initial CVS checkin
5954 2001-06-29 Michael Meeks <michael@ximian.com>
5956 * configure.in: add AM_CONFIG_HEADER to gen config.h