1 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
4 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
6 (spi_atk_register_event_listener): Add signal listener for
8 (spi_atk_bridge_signal_listener): Event event when link-selected
9 signal is emitted. (bug #104622)
11 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
12 on returned string. (bug #105291)
14 * test/event-listener-test.c: Add test for link-selected.
16 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
18 * atk-bridge/Makefile.am: Correct typo in previous commit.
20 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
22 * atk-bridge/Makefile.am: Allow for build directory to be different
25 * registryd/Makefile.am: Allow for build directory to be different
30 2003-01-29 Bill Haneman <bill.haneman@sun.com>
33 Fixed dependencies for libcspi so that libspi gets pulled in
34 properly. Fixes 104741.
38 Clean up inline docs a little.
40 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
42 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
43 This is done by implementing AtkComponent for SpiAtkDesktop, which is
44 the AtkObject within an SpiDesktop.
45 This addresses bug #101524.
47 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
48 Remove call to gdk_init().
50 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
51 so that Display is set when SpiDesktop is created.
53 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
55 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
56 This fixes bug #102830.
58 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
60 * test/test-simple.c: Update to take account of fact that GailButton
61 now implements AtkText.
62 (create_text_window): Set name on AtkObject for GtkEntry.
63 (validate_accessible): Check accessible name before calling test_text().
65 * libspi/Makefile.am: Fix problem with building outside of source
66 directory. Bug #98120.
68 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
69 typo in documentation comments. Bug #94275.
71 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
73 * libspi/text.c (impl_getBoundedRanges): Bug fix.
75 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
78 Add includes to avoid compiler warnings on Solaris.
79 (impl_getRangeExtents): Bug fix.
81 2002-12-17 Bill Haneman <bill.haneman@sun.com>
83 Fix for 100944, [API addition approved by Gman and murrayc].
90 * idl/Accessibility_Text.idl:
91 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
92 (Text::getRangeExtents): New method for efficient
93 bounds query of a text range.
94 (Text::getBoundedRanges): New method for efficient
95 clipping of text to bounding boxes.
96 (unImplemented7, unImplemented8):
97 Removed these padding methods to preserve bincompat.
100 (impl_getRangeExtents): implementation of new IDL.
101 (impl_getBoundedRanges): implementation of new IDL.
102 (SpiTextRect): Internal use struct.
103 (_spi_text_rect_union): internal method, calculates union of two
104 SpiTextRect bounding rects.
105 (_spi_text_range_seq_from_gslist): internal method, allows us
106 to build our sequence efficiently as a gslist then convert it
108 (_spi_bounds_contain): internal method, determines whether
109 a text character is "in" or "out" of a clip rect according to
110 values of TEXT_CLIP_TYPE.
111 (spi_text_class_init): Initialize the new methods in the epv.
114 (AccessibleTextClipType): New enum used by screen review api.
115 (AccessibleTextRange): New struct used by screen review api.
116 (AccessibleText_getRangeExtents):
117 cspi binding for Accessibility_Text_getRangeExtents.
118 (AccessibleText_getBoundedRanges):
119 cspi binding for Accessibility_Text_getBoundedRanges.
120 (AccessibleTextRange_freeRanges): convenience method.
123 (AccessibleText_getRangeExtents):
124 cspi binding for Accessibility_Text_getRangeExtents.
125 (AccessibleText_getBoundedRanges):
126 cspi binding for Accessibility_Text_getBoundedRanges.
127 (AccessibleTextRange_freeRanges): convenience method.
128 (get_accessible_text_clip_type): internal conversion method.
129 (get_accessible_text_ranges_from_range_seq): internal conversion method.
131 * registryd/deviceeventcontroller.c:
132 (spi_dec_mouse_check):
133 Improved behavior for mouse:abs events
134 [same granularity as mouse:rel events, and no
135 events when mouse is idle].
137 2002-12-16 Michael Meeks <michael@ximian.com>
139 * cspi/spi_accessible.c (spi_state_to_corba): rename.
141 * libspi/stateset.c (state_spi_to_atk): split out
142 ( fix several remote array bounds nasties )
143 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
144 (impl_remove): make safe from array bounds issues.
145 (spi_atk_state_from_spi_state): impl.
147 * libspi/stateset.h (spi_state_set_cache_is_empty):
148 add a set of wrapper defines to get layering right.
150 * cspi/spi_accessible.c: update state set stuff to
153 2002-12-14 Michael Meeks <michael@ximian.com>
155 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
156 to avoid 2 roundtrips to the registry per key event
157 (spi_atk_bridge_key_listener): upd.
158 (deregister_application): release the dec.
160 * registryd/registry.c (notify_listeners_cb):
161 bin lots of re-enterant complexity - we no longer
162 do a round-trip bonobo ref here, ensure that a single
163 listener's exception failure won't poison all other
165 (impl_registry_notify_event): bin obvious memory leak.
167 2002-12-13 Michael Meeks <michael@ximian.com>
169 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
170 init the ev so the error is meaningful.
171 (spi_atk_bridge_key_listener): ditto.
173 * cspi/spi_main.c (cspi_ev): init the ev so we start
174 with a clean slate, otherwise the first exception
177 * cspi/spi_text.c (get_accessible_text_boundary_type):
178 add a fallthrough for no warnings.
180 * cspi/spi_registry.c: prune unused warnings.
182 * cspi/spi_main.c (cspi_object_take): fix
183 mind-blowing brokenness ( by watching the compile
186 * cspi/spi_accessible.c (Accessible_getStateSet):
187 re-impl. to use an AtkStateSet.
188 (spi_state_type_from_accessible_state),
189 (init_state_table): bin these.
191 * libspi/stateset.c (spi_atk_state_set_from_sequence):
193 (atk_state_set_from_accessibility_state_set): here.
195 * cspi/spi_accessible.c (spi_state_to_atk): impl.
196 (AccessibleStateSet_contains, AccessibleStateSet_ref),
197 (AccessibleStateSet_unref, AccessibleStateSet_contains),
198 (AccessibleStateSet_add, AccessibleStateSet_remove),
199 (AccessibleStateSet_equals, AccessibleStateSet_compare),
200 (AccessibleStateSet_isEmpty): re-write to use a local
203 2002-12-13 Bill Haneman <bill.haneman@sun.com>
205 * configure.in: Revved to 1.1.7 (new keymask vals).
207 2002-12-10 Bill Haneman <bill.haneman@sun.com>
210 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
212 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
215 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
216 to compare two CORBA_TypeCodes.
217 (cspi_internal_event_add): Silence warning from FORTE compiler.
219 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
220 avoid implicit declaration of functions.
222 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
224 * atk-bridge/bridge.c:
225 (spi_atk_bridge_init_event_type_consts): Store signal id for
226 active-descendant-changed signal.
227 (spi_atk_register_event_listeners): Add signal listener for
228 active-descendant-changed signal,
229 (spi_atk_bridge_signal_listener): Move code in function
230 spi_atk-signal_emit_event() into this function.
231 Add support for active-descendant-changed
232 Update support for child-changed signal.
233 (spi_bridge_window_event_listener): Silence warning.
235 * libspi/spi_private.[ch]:
236 (spi_init_any_object): Change second parameter from CORBA_Object to
238 Omit call to CORBA_Object_duplicate().
239 Set CORBA_any's _value to CORBA_Object*.
241 2002-12-06 Bill Haneman <bill.haneman@sun.com>
247 (AccessibleEvent_ref, AccessibleEvent_unref):
248 New methods, for persisting an event outside the emission context.
249 Must be used if the new accessor methods are to be called
250 outside of the event listener's callback.
252 * cspi/bonobo/cspi-bonobo.c:
253 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
254 as second parameter instead of NULL, so we can call
255 cspi_check_ev afterwards.
258 (cspi_object_take): New internal method,
259 converts a CORBA_Object reference to a hard ref on
260 an Accessible if possible, returning NULL if the object
261 reference is invalid or an Accessible * otherwise.
264 (AccessibleEvent_ref):
265 Increment the event's internal private refcount, and
266 add the event's internal struct to an internal cache
267 if it's not already there.
268 (AccessibleEvent_unref):
269 Decrement the event's refcount and remove it from
270 the cspi event cache if refcount==0.
271 (cspi_event_compare): New private method.
272 Compares two event structs via their ids. Used
274 (cspi_internal_event_lookup): New private method.
275 (cspi_internal_event_check): New private method,
276 a 0-order sanity check for events to make sure their
277 private data is intact.
278 (cspi_internal_event_add, cspi_internal_event_remove):
279 New private methods for managiing the event cache.
281 * cspi/bonobo/cspi-bonobo-listener.c:
283 Initialize the new private data elements (id, magic, ref_count).
285 * atk-bridge/bridge.c:
286 (spi_atk_bridge_signal_listener):
287 Fixed bug #100530, passing wrong params to emission func.
289 * registryd/deviceeventcontroller.c:
290 (spi_dec_button_update_and_emit):
291 Fixed type in mask bit operations; fix for #99799.
293 2002-12-02 Bill Haneman <bill.haneman@sun.com>
295 Removed some of the more dangerous workarounds from
296 previous commit; they are only needed by GOK, which
297 in reality should be using another method to accomplish
298 the goals. So on reconsideration some of the workarounds
301 * registryd/deviceeventcontroller.c:
302 (spi_keycodes_contain, spi_dec_init_keycode_list):
303 Removed these methods, used only by a nasty hack to try
304 and detect whether a key synthesis should be allowed
305 to reset the XKB latch state or not. This code was only
306 required to work around an interaction between GOK,
307 button events, and XKB.
308 (impl_generate_key_event):
309 Removed hack at end of key generation that tried to
310 "do the right thing" if XKB latch keys were generated
311 in the midst of button press/release pairs.
314 Added a check for HAVE_XINPUT. Not normally used yet.
316 2002-11-25 Bill Haneman <bill.haneman@sun.com>
318 Workarounds and fixes for mouse event/XKB interaction.
320 * registryd/deviceeventcontroller.c:
321 (spi_keycodes_contain, spi_dec_init_keycode_list):
322 New internal methods.
323 (spi_dec_set_unlatch_pending):
324 Split the method that tells XKB to expect an
325 unlatch (and revert it) out of the rest of the
326 event handling code. This method is called by the
327 two mouse event handlers (the poll and the filter).
328 (spi_dec_update_and_emit, spi_dec_mouse_check):
329 New methods split from spi_dec_poll_mouse_moved.
330 The second one is now called from inside the filterFn
331 when an XKB delatch event is received, to determine
332 whether to revert the delatch or not.
333 (spi_poll_mouse_moved): Refactor; also we can now
334 properly handle the case where multiple button states
335 have changed between polling cycles and we didn't get
336 notified due to another client's grab.
338 Synchronize the server while handling an XKB notification.
339 Ugly, but apparently necessary to avoid nasty races.
340 Check the mouse state on receipt of an XKB latch change,
341 to decide whether to revert the latch or not. (Latches are
342 reverted if there is an immediately preceding mouse button
343 event that a client has consumed, in which case we don't want
344 the user to see the side-effect of the event).
345 (spi_device_event_controller_forward_mouse_event):
346 Check for modifier events and fire before resetting mouse_mask_state,
347 prevents losing modifier events.
349 (impl_generate_keyboard_event):
350 If we've just generated a keyboard event for a non-shift key,
351 we don't want to revert the pending XKB latch.
352 Otherwise, check the modifier state (via a call to
353 spi_dev_mouse_check) and set the relatch mask to
354 that state before returning.
356 2002-11-24 Bill Haneman <bill.haneman@sun.com>
359 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
362 * atk-bridge/bridge.c:
363 (spi_atk_register_event_listeners):
364 Don't re-register for ATK events if the registry has died
365 and the app needs to re-register; the ATK listeners are in
366 process and doing so will cause duplicate emission.
368 * registryd/deviceeventcontroller.c:
369 (spi_poll_mouse_moved):
370 Reformat the source, detect and emit multiple button-change
371 events (i.e. if multiple buttons have changed between poll
373 Add code to detect mouse-down events even when the pointer
374 is grabbed; workaround for GOK bug 98420.
375 (spi_controller_register_with_devices):
376 Call XTestGrabControl with 'impervious' flag set to True,
377 allows us to synthesize events and query the pointer even during
378 an active grab by another client.
379 (spi_device_event_controller_forward_mouse_event):
380 Set the mouse_mask_state to the mouse_button_state from
381 the intercepted event, to synchronize the grab listener with
384 2002-11-20 Bill Haneman <bill.haneman@sun.com>
386 * cspi/spi_accessible.c:
387 (AccessibleRole_getName):
388 Added necessary strings for making this (deprecated)
389 method work with the new role types.
390 (init_role_table, role_table):
391 Added definition of SPI_ROLE_APPLICATION.
393 * libspi/spi-roletypes.h:
394 Added SPI_ROLE_APPLICATION.
396 * idl/Accessibility_Role.idl:
397 Added ROLE_APPLICATION.
399 * docs/reference/cspi/at-spi-cspi-decl.txt:
400 Added SPI_ROLE_APPLICATION to docs.
402 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
404 * cspi/spi_accessible.c
405 (cspi_init_role_table): Do not write beyond end of role_table.
406 (Accessible_getRole): Use correct type for value returned by
407 Accessibility_Accessible_getRole().
409 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
410 beyond end of role_table. (This fixes bug #98269)
412 * libspi/application.c: Add include file spi-private.h for
413 definition of spi_init_any_nil.
415 2002-11-19 Bill Haneman <bill.haneman@sun.com>
419 * libspi/spi-private.h:
420 Added DGB() macro, and extern int _dbg declaration.
422 * registryd/registry.c:
423 (definitions) storage for _dbg.
425 Get environment variable "AT_SPI_DEBUG".
426 (spi_registry_set_debug):
427 New method, to initialize _dbg value.
428 (spi_listener_struct_new, spi_registry_object_finalize):
429 (notify_listeners_cb):
430 Changed fprintfs to use DBG and g_warning().
432 * registryd/deviceeventcontroller.c:
433 (_deregister_keygrab, spi_controller_register_device_listener):
434 Changed debug/warning messages to use DBG macro.
438 Changed warning messages to use DBG macro and g_warning().
440 * atk-bridge/bridge.c:
441 (atk_bridge_init, spi_atk_bridge_get_registry):
442 (spi_atk_bridge_exit_func):
443 (spi_atk_bridge_property_event_listener):
444 Changed status, warning, and error messages to use
445 g_warning, g_message, and DBG macros.
448 Read the state of the AT_SPI_DEBUG environment variable
449 and set a local '_dbg' accordingly.
451 2002-11-19 Bill Haneman <bill.haneman@sun.com>
453 FIXES for 98836, 98842, other bugs.
456 Revved to 1.1.4, interface-age=4, binary-age=4.
458 * registryd/deviceeventcontroller.c:
460 Fixed crasher bug in last_mouse_pos initialization.
462 * registryd/registry.c:
463 (desktop_add_application, desktop_remove_application):
464 Added (and then commented out) some support for
465 object context marshalling. [TODO]
467 * atk-bridge/bridge.c:
468 (spi_atk_bridge_event_context_create):
469 Commented out object context creation until it can
470 be properly tested and debugged.
472 * registryd/registry.c:
473 (impl_registry_notify_event):
474 Fixed crasher bug, we were calling
475 spi_re_entrant_list_foreach () with an empty list.
477 2002-11-18 Bill Haneman <bill.haneman@sun.com>
479 * idl/Accessibility_Action.idl:
480 * idl/Accessibility_Component.idl:
481 * idl/Accessibility_Desktop.idl:
482 * idl/Accessibility_Event.idl:
483 * idl/Accessibility_Hyperlink.idl:
484 * idl/Accessibility_Image.idl:
485 * idl/Accessibility_Relation.idl:
486 * idl/Accessibility_Selection.idl:
487 * idl/Accessibility_State.idl:
488 * idl/Accessibility_Value.idl:
489 Updated unimplemented slot count to minimum of
490 four for all interfaces, for ABI freeze.
492 * idl/Accessibility_EditableText.idl:
493 * idl/Accessibility_Text.idl:
494 Updated unimplemented slot count to six
497 * idl/Accessibility_Registry.idl:
498 Updated unimplemented slot count to six
499 (also for DeviceEventController),
502 * idl/Accessibility_Table.idl:
503 Updated unimplemented slot count to eight,
506 * idl/Accessibility_Event.idl:
507 Added CORBA_any "any_data" member to Event struct.
509 * idl/Accessibility_Event.idl:
510 Added CORBA_any "any_data" member to Event struct.
512 * atk-bridge/bridge.c:
514 atk_signal_text_changed, atk_signal_child_changed,
515 signal ids queried from gtype system.
516 (AtkBridgeEventContextType): New enum.
517 (AtkBridgeEventContextData): New struct.
518 (AtkBridgeEventContext): New struct.
519 (atk_bridge_init_event_type_consts):
520 New method, initializes type contants for comparison
521 prior to emit_eventv.
522 (atk_bridge_event_context_init): New method,
523 initializes a CORBA_any from an AtkBridgeEventContext.
524 (atk_bridge_focus_tracker): Call spi_init_any_nil to
525 initialize the event.any_data struct.
526 (spi_atk_bridge_event_context_create): New method,
527 creates an AtkBridgeEventContext from signal/event info.
528 (spi_atk_bridge_event_context_free): New method.
529 (spi_atk_emit_eventv): Changed to take an
530 AtkBridgeEventContext parameter. We now initialize
531 the event.any_data member prior to notifying the
532 Registry, via the AtkBridgeEventContext.
533 (spi_atk_bridge_property_event_listener):
534 (spi_atk_bridge_state_event_listener):
535 Match emit_eventv signature.
536 (spi_atk_bridge_object_event_listener):
537 Match emit_eventv signature, and create an
538 event context from the event details.
539 Free the event context afterwards.
540 (spi_atk_bridge_window_event_listener):
541 Create an event context, pass it to the
545 (AccessibleEvent_getContextString):
546 (AccessibleEvent_getContextObject):
547 New methods, allow query of AccessibleEvent objects
548 for more context details (via the "any_data" member
549 of the Event struct, above).
552 Definitions for AccessibleEvent_getContextString
553 and AccessibleEvent_getContextObject.
555 * cspi/spi_listener.h:
556 (InternalEvent): New struct.
559 (AccessibleEvent_getContextString):
560 (AccessibleEvent_getContextObject):
561 Implementations of new methods, for obtaining
562 additional context information from some event types.
564 * cspi/spi_registry.c:
565 (SPI_registerGlobalEventListener):
566 Added mention of active-descendant-changed event in docs.
568 * cspi/cspi-bonobo-listener.c:
570 Marshal the any into the AccessibleEvent via
573 * libspi/spi-private.h:
574 #include <orbit/orbit.h>
576 (spi_init_any_string):
577 (spi_init_any_object):
578 New convenience function declarations.
582 (spi_init_any_string):
583 (spi_init_any_object):
584 New convenience function implementations.
586 * registryd/deviceeventcontroller.c:
587 (spi_poll_dec_mouse_moved):
588 (spi_device_event_controller_forward_mous_event):
589 Initialize any_data member of event.
590 (spi_deregister_controller_device_listener):
591 Fix incorrect param pass which was preventing deregistration.
593 * registryd/registry.c:
594 (desktop_add_application):
595 (desktop_remove_application):
596 Add object data to event's any_data before dispatch.
598 Fix for error messages from GAIL.
600 * test/event-listener-test.c:
601 Test new ContextString and "any_data" API:
602 (report_text_event): New method query and output context string.
603 (main): register a new text listener with report_text_event
606 2002-11-19 Darren Kenny <darren.kenny@sun.com>
608 Fixes for bugs 98127 and 97914.
609 * cspi/spi-roletypes.h:
610 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
612 * cspi/spi-statetypes.h:
613 Added SPI_STATE_MANAGES_DESCENDANTS
615 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
616 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
617 * cspi/spi_accessible.c:
618 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
619 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
620 Accessibility_STATE_MANAGES_DESCENDANTS
621 * libspi/accessible.c:
622 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
623 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
624 As requested by Bill, I also cleaned up the alignment.
626 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
627 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
629 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
630 Accessibility_STATE_MANAGES_DESCENDANTS
631 * docs/reference/cspi/tmpl/spi_accessible.sgml:
632 Document changes reflecting modifications to roles.
633 * docs/reference/cspi/tmpl/spi_relation.sgml:
634 Document changes reflecting modifications to relations.
635 * docs/reference/cspi/tmpl/spi_stateset.sgml:
636 Document changes reflecting modifications to states.
638 2002-11-17 Bill Haneman <bill.haneman@sun.com>
641 Revved to 1.1.3, interface-age=3, binary-age=3.
645 Removed accessx-gui from the tests, since we have a nice
646 keyboard accessibility capplet now :-)
648 * test/keysynth-demo.c:
649 (increment_scan): removed do-nothing default: case,
652 * test/visual-bell.c:
653 (main) : removed do-nothing default: case,
657 (AccessibleAction_getKeyBinding_):
658 Documented keybinding string format.
662 (AccessibleText_getAttributes):
663 Documented the text attribute string format.
664 It's changed to use semicolon delimiters also,
665 to prevent clashes with CSS attributes, but the old
666 trick of looking for ", " strings will still work
667 (as unreliably as ever). Fix for bug related to 97916.
670 Include <cspi/bonobo/cspi-bonobo-listener.h>
672 (SPI_freeAccessibleKeySet):
673 (AccessibleKeystrokeListener_addCallback):
674 (AccessibleKeystrokeListener_removeCallback):
675 Modify to use AccessibleDeviceListener API internally,
676 instead of AccessibleKeystrokeListener.
678 * idl/Accessibility_Event.idl:
679 Added two more empty slots to EventListener (for a total of four).
681 * idl/Accessibility_Accessible.idl:
682 Added four empty slots to Accessible interface.
684 2002-11-15 Bill Haneman <bill.haneman@sun.com>
686 * idl/Accessibility_Registry.idl:
687 (KeyEventType, EventType):
688 Marked KeyEventType as deprecated; it duplicates
689 functionality of EventType, which has been extended to
690 include Mouse-button events.
691 (KeyEventTypeSeq): defined in terms of EventType.
692 (registerDeviceEventListener, deregisterDeviceEventListener):
693 New methods, for managing listeners to device events,
694 which potentially may consume them.
697 Added definition for AccessibleDeviceListener.
699 * cspi/spi-listener.h:
700 (enum AccessibleDeviceEventType):
701 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
702 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
703 for backwards compat.
704 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
705 and typedef'd AccessibleKeystroke to it for back-compat.
706 (AccessibleDeviceListenerCB):
707 New function prototype typedef.
710 (AccessibleDeviceEventMask): New typedef.
711 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
712 (AccessibleKeyMaskType):
713 Set equivalent to AccessibleModifierMaskType for back-compat.
714 (SPI_createAccessibleKeystrokeListener):
715 (AccessibleKeystrokeListener_unref):
716 Deprecated in favor of equivalent (better-named) new API below..
717 keystroke listeners are like all device listeners.
718 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
719 New API names for old features :-).
720 (AccessibleDeviceListener_addCallback):
721 (AccessibleDeviceListener_removeCallback):
722 (SPI_registerDeviceEventListener):
723 (SPI_deregisterDeviceEventListener):
727 (SPI_createAccessibleKeystrokeListener):
728 Use new preferred API, cspi_device_listener_new() and
729 cspi_device_listener_add_cb().
730 (AccessibleKeystrokeListener_removeCallback):
731 Use new preferred API, cspi_device_listener_remove_cb().
732 (AccessibleKeystrokeListener_unref):
733 Use new preferred API, cspi_device_listener_unref().
734 (SPI_createAccessibleDeviceListener):
735 (AccessibleDeviceListener_addCallback):
736 (AccessibleDeviceListener_removeCallback):
737 Implementation of new API.
739 * cspi/spi_registry.c:
740 (SPI_registerDeviceEventListener):
741 (SPI_deregisterDeviceEventListener):
742 Implementation of new API. Fixed memory leak and removed need to
743 allocate EventTypeSeq (thanks Michael for catching this).
744 Squashed a wayward CORBA_exception_free that shouldn't get called.
746 * cspi/bonobo/cspi-bonobo-listener.c:
748 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
749 (cspi_key_event): renamed to cspi_device_event().
750 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
751 Extended to handle mouse button events as well as key events.
752 (CSpiKeystrokeListener):
753 Class superceded by CSpiDeviceListener.
754 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
755 These internal APIs changed to "*device_listener" from "*keystroke_listener".
757 * cspi/bonobo/cspi-bonobo-listener.h:
758 (CSpiKeystrokeListener):
759 Class superceded by CSpiDeviceListener.
760 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
761 These internal APIs changed to "*device_listener" from "*keystroke_listener".
763 * libspi/Makefile.am:
764 Replaced keystrokelistener.h and keystrokelistener.c
765 with devicelistener.h and devicelistener.c; keystrokelisener.h
766 stub retained for back-compat.
768 * libspi/keystrokelistener.c:
772 Replaced inclusion of keystrokelistener.h with devicelistener.h.
774 * registryd/deviceeventcontroller.c:
775 (DEControllerListener): Added Accessibility_EventTypeSeq member.
776 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
777 (DEControllerPrivateData): Added xkb settings data.
778 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
779 button release events (which can't be captured via XGrabButton).
780 Don't dispatch via the 'normal' event mechanism if the device event was
782 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
783 Handle the typeseq data in its new location (see above).
784 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
785 New methods, for "generic" device listeners.
786 (spi_controller_register_device_listener):
787 Now handle mouse event listeners as well as key listeners.
788 (spi_controller_notify_mouselisteners):
790 (spi_device_event_controller_forward_mouse_event):
791 Now we notify mouse device listeners as well as generating the
792 non-consumable "mouse:" events.
794 We must check and restore the XKB
795 modifier map if we consume the event, since the act of triggering
796 a mouse event will normally reset the XKB latch. This is required for
798 (spi_controller_register_with_devices):
799 Load the XKB settings when registering, and register for XKB
801 (spi_key_eventtype_seq_contains_event):
802 Renamed spi_eventtype_seq_contains_event, since it's used
803 internally for all device event types now.
804 (spi_key_event_matches_listener):
805 Uses spi_eventtype_seq_contains_event now.
806 (spi_device_event_controller_object_finalize):
807 Free the private data and the XkbKeyboard struct.
808 (impl_register_device_listener, impl_deregister_device_listener):
809 Implementation of new IDL.
810 (spi_deregister_controller_device_listener):
812 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
813 More efficient implementation, we don't have to create a new
814 XkbControls structure every time we query.
815 (spi_device_event_controller_class_init):
816 Initialize the epv entries for the new IDL. Assign the
817 "spi-dec-private" quark.
818 (spi_device_event_controller_init):
819 Initialize the private data.
820 (spi_device_event_controller_forward_key_event):
821 Removed a bogus CORBA_exception_free() call.
823 * registryd/deviceeventcontroller.h:
824 Replaced inclusion of keystrokelistener.h with
827 * test/event-listener-test.c:
828 (report_mouse_event):
831 Added mouse-event device listener.
833 * test/test-simple.c:
834 (create_test_window):
835 Fixed regression (we were instantiating a GtkRange,
836 which is now an abstract class). Also fixed to match
837 existing AtkRole names, this seems to have changed in ATK
838 awhile ago; too late now I think, and the new
839 mechanism is at least elegant and consistent with the
840 glib enum "nick" APIs.
842 2002-11-15 Darren Kenny <darren.kenny@sun.com>
844 * idl/Accessibility_Relation.idl:
845 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
846 RELATION_EMBEDS,RELATION_EMBEDDED_BY
847 * idl/Accessibility_Role.idl:
848 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
849 * idl/Accessibility_State.idl:
850 add STATE_MANAGES_DESCENDANTS
851 * test/event-listener-test.c:
852 Added a listener for active-descendant events.
854 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
856 * atk-bridge/bridge.c
857 (atk_bridge_init): If application is Bonobo component wait until top
858 level is added before registering
859 (spi_atk_bridge_do_registration): New function which contains code,
860 formerly in atk_bridge_init, to do application registration.
861 (spi_atk_bridge_toplevel_added): Signal called when top level
862 added to Bonobo component
864 This fixes bug #83134.
866 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
868 * registryd/deviceeventcontroller.c
869 Fixed compilation error caused by calling gettimeofday()
872 2002-10-18 Bill Haneman <bill.haneman@sun.com>
877 Added template for HAVE_XKB.
880 Changes to check for XKB, and to set the HAVE_XKB #define if it
884 ()impl_notify_event): Make failure to get event source name
887 * registryd/deviceeventcontroller.c:
888 (#include): include X11/XKBlib.h.
889 (DEControllerPrivateData) : New struct.
890 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
892 (dec_synth_keycode_press) (dec_synth_keycode_release):
893 New methods; split the key synthesis code into these methods.
894 They check XKB settings before determining the "time" values to
895 pass to Xtest; this fixes bug #95828.
896 (impl_generate_keyboard_event): Changed to use methods above,
897 instead of callng Xtest directly.
898 (spi_device_event_controller_init): Initialize new privae struct s
900 (spi_device_event_controllr_object_finalize):
901 Free the (new) private data.
903 * registryd/deviceeventcontroller.h:
904 Add new gpointer to end of struct data.
906 2002-10-16 Bill Haneman <bill.haneman@sun.com>
909 Incremented revision to 1.1.2, SONAME is still '.so', library
910 extensions are ".so.0.0.2".
912 * registryd/deviceeventcontroller.c:
913 FIXES FOR #93592 and #95940.
914 (statics): renamed mouse_button_state to mouse_mask_state,
915 added key_modifier_mask.
916 (spi_dec_poll_mouse_moved):
917 Added key modifier checks, and emit "keyboard:modifiers"
918 events when the key modifiers currently in use change.
919 Also generate "mouse:abs" events periodically, even if the mouse
920 is stationary (should we?).
921 Alternatively we could generate "mouse:abs" events for either all
922 mouse movements, or every 'nth' mouse movement, or at the
923 beginning and end of every "active" mouse period.
925 * test/event-listener-test.c:
926 (main): Added listener for "keyboard:modifiers" events.
928 2002-10-15 Bill Haneman <bill.haneman@sun.com>
931 Added key mask #defines for mouse buttons; e.g.
932 SPI_KEYMASK_BUTTON1, etc.
935 Incremented dependency on ATK to version 1.1.0. (This dependency
936 is probably premature but will soon be real enough).
938 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
940 * libspi/hyperlink.[ch]
941 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
942 (get_hyperlink_from_servant): Check object is AtkHyperlink not
945 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
950 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
952 * registryd/deviceeventcontroller.c
953 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
954 events to be ignored.
955 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
956 keyboard_mode so that XAllowEvents() can be called.
960 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
962 * cspi/spi-accessible.c: Correct names of roles returned by
963 AccessibleRole_getName(). Fixes bug #95055.
965 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
967 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
970 * registryd/registry.c
971 (desktop_remove_application: Write diagnostic message to stderr for
974 (impl_accessibility_registry_deregister_global_event_listener):
975 Correct size of lists array. This addresses bug #94555).
977 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
979 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
982 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
984 * registryd/Makefile: Add CLEANFILES so that .server file is removed
987 * registryd/registry.c (impl_registry_notify_event): Remove
988 unnecessary call to parser_event_type().
990 * docs/reference/cspi/tmpl/spi_component.sgml:
991 Add reference to SPI_LAYER_WINDOW.
993 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
995 * registryd/registry.c
996 (desktop_add_application): Remove leak.
997 (desktop_remove_application): Remove leak.
998 (parser_event_type): Remove leak.
1000 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
1002 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1003 bogus call to CORBA_string_dup(). Also removed unnecessary
1004 g_string_dup/g_free calls.
1006 2002-09-13 Bill Haneman <bill.haneman@sun.com>
1008 * registryd/deviceeventcontroller.c:
1009 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1011 * test/event-listener-test.c:
1012 main: commented out three redundant listeners, to reduce output
1013 noise. (They still are potentially useful for testing).
1016 2002-09-13 Michael Meeks <michael@ximian.com>
1018 * Update all the copyrights to include Ximian.
1020 2002-09-06 Mark McLoughlin <mark@skynet.ie>
1022 * cspi/spi.h: add SPI_LAYER_WINDOW.
1024 * cspi/spi_component.c: (AccessibleComponent_getLayer):
1025 add Accessibility_LAYER_WINDOW case.
1027 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1029 * libspi/component.c: (impl_accessibility_component_get_layer):
1030 add ATK_LAYER_WINDOW case.
1032 2002-08-28 Bill Haneman <bill.haneman@sun.com>
1034 * configure.in: incremented micro version.
1036 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1038 2002-08-20 Bill Haneman <bill.haneman@sun.com>
1041 Clarified and reworded our commit policy.
1044 Started an API "todo" addition list for 2.2.
1047 (impl_getSelection):
1048 Free char pointer from atk_text_get_selection, which was being leaked.
1050 2002-08-19 Bill Haneman <bill.haneman@sun.com>
1053 Small revision to author acknowledgement.
1055 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1057 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1058 If signal has detail add it to the type of the event.
1061 2002-08-12 Michael Meeks <michael@ximian.com>
1063 * test/test-simple.c (global_listener_cb): bin bogosity.
1064 (test_keylisteners): disable, still doesn't work reliably,
1065 certainly not on my system anyway.
1067 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1068 don't leak a reference on the DEC. This round-trip
1069 fetching of the DEC per keystroke sucks, it should be
1072 * cspi/spi-private.h,
1073 * cspi/cspi-lowlevel.h,
1074 * cspi/bonobo/cspi-bonobo-listener.[ch],
1075 * cspi/bonobo/cspi-bonobo.c: get the copyright
1076 notices better - there is still a large amount of
1077 work in at-spi falsely attributed solely to Sun.
1079 * cspi/spi_main.c (cspi_object_ref): kill bogus
1080 hash lookup, just increment the ref.
1081 (SPI_freeString): make explicit the fact that we
1082 handle NULL strings just fine.
1083 (report_leaked_ref): obey coding standards.
1084 (cspi_object_hash, cspi_object_equal): kill retval.
1085 (cspi_object_release): only release if not on loan.
1086 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1087 (cspi_object_borrow, cspi_object_return): impl.
1089 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1090 use cspi_object_borrow / return.
1092 2002-08-12 Darren Kenny <darren.kenny@sun.com>
1094 * cspi/bonobo/cspi-bonobo-listener.c:
1096 Don't call cspi_oject_new() because this is creating a new Accessible
1097 every single time that an event is fired. This causes ATs like at-poke
1098 to nolonger recognise the source of the event and thus ignore it.
1099 Re-use the object from the cache, ref it and then unref it after the
1100 listeners have been called.
1102 2002-08-06 Darren Kenny <darren.kenny@sun.com>
1104 * test/event-listener-test.c:
1105 Added command-line options to disable mouse events (m) and
1108 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
1110 * configure.in: Update required versions of ATK, GTK+ and GAIL
1112 * cspi-1.0.pc.in: Add dependency for X include files
1115 * cspi/bonobo/Makefile.am:
1116 Add $(X_CFLAGS) so that X include files
1117 are picked up even if not in standard place (bug #71686)
1119 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1121 * registryd/deviceeventcontroller.c: fix for 84261
1122 (spi_dec_mouse_moved):
1123 Added test of mouse button mask, so that we can detect mouse
1124 button release. Unfortunately we can't otherwise detect mouse
1125 button release events without consuming the mouse press event,
1126 because of the way XGrabButton works. This means that our mouse
1127 release events have a latency dependent on the polling period
1128 while the mouse button is down. At least in this case we only
1129 have to poll while the button is down, and not at other times.
1130 If the button masks don't match with what the last press event
1131 reported, we report the appropriate button release event.
1132 (spi_dec_ungrab_mouse):
1133 New method (not yet called).
1134 (spi_device_event_controller_forward_mouse_event):
1135 New method, sends mouse press event from GdkFilter.
1136 (spi_dec_init_mouse_listener):
1137 Added code to call XGrabButton, redirecting mouse button events to
1138 the root window and our Gdk event loop.
1140 Added code to filter mouse button events, and reordered.
1142 * test/event-listener-test.c:
1144 Added registration for mouse events of type "mouse:button".
1146 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1148 * registryd/deviceeventcontroller.c: partial fix for 84261
1149 (spi_dec_poll_mouse_idle):
1150 New method, a timeout which checks to see if the mouse
1152 (spi_dec_poll_mouse_moving):
1153 A timeout to be called when mouse motion is underway.
1154 (spi_dec_poll_mouse_moved):
1155 A method which fires an event if the mouse has moved, and reports
1156 whether or not it did so.
1157 (spi_dec_init_mouse_listener):
1158 A method which sets up the timeouts above.
1159 (spi_device_event_controller_new):
1160 Now calls spi_dec_init_mouse_listener.
1162 * registryd/registry.c:
1163 (spi_registry_init):
1164 Now we initialize the device event controller when the registry is
1165 initialized, instead of waiting until a client has requested a key
1166 event notification; this is because we need the event controller
1167 for mouse events, but the mouse event registration API is a
1168 "registry" call and doesn't explicitly call the
1169 deviceeventcontroller.
1170 We now report mouse motion events with a 100 ms idle latency and
1171 a 20 ms granularity when motion is in progress.
1173 * test/event-listener-test.c:
1175 We now register the "detail listener" for events of type
1176 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1177 delivered only for the first mouse event received, and thereafter
1178 "mouse:abs" events are delivered.)
1180 * cspi/spi_registry.c:
1181 DOCS: Documented the above mouse event typestrings.
1183 2002-06-21 Bill Haneman <bill.haneman@sun.com>
1185 Happy Summer Solstice...
1187 * registryd/deviceeventcontroller.c: [fix for bug 84100]
1188 (spi_controller_notify_keylisteners):
1189 Changes to remove a listener from the listener list, freeing its
1190 open keygrabs, if a notification to that listener fails. This
1191 means that although a dead listener can continue to hold a passive
1192 keygrab, a maximum of one dispatch to such a listener can fail
1193 before the listener is removed from the list, thus the keygrab
1194 will be released on the next occurrence.
1195 As part of this fix:
1196 (spi_notify_keylisteners):
1197 Renamed to spi_controller_notify_keylisteners, as the controller
1198 instance must now be passed as an argument.
1199 The copied 'notify' GList is now a list of DEControllerKeyListener
1200 objects, since we need more than just the CORBA reference if a
1201 notify fails and we need to deregister the listener.
1202 (impl_notify_listeners_sync):
1203 (impl_notify_listeners_async):
1204 (spi_device_event_controller_forward_key_event):
1205 Modify use of notify_keylisteners in accordance with above
1207 (spi_deregister_controller_key_listener):
1208 New method introduced by refactoring, from
1209 impl_deregister_keystroke_listener.
1210 (impl_deregister_keystroke_listener):
1211 Call spi_deregister_controller_key_listener.
1212 (spi_key_listener_clone):
1213 New method to copy a key listner without doing a 'ref' on the
1214 remote object instance; used to create a notifier list.
1215 (spi_key_listener_data_free):
1216 New method, frees data without unreffing the source.
1218 (spi_key_listener_clone_free): new method.
1219 (spi_key_listener_free):
1220 refactored to call spi_key_listener_data_free.
1222 2002-06-20 Bill Haneman <bill.haneman@sun.com>
1224 * registryd/registry.c: [fix for bug 86048]
1225 (notify_listeners_cb):
1226 Clear CORBA system exceptions which occur when notifying
1227 listeners, before returning to the source of the original event,
1228 since the event source doesn't care if the relayed notify failed.
1229 In other words, don't complain to the atk-bridge if the registry
1230 could not notify all its listeners, that's no fault of the
1231 application and thus should not appear to be an error from the
1232 application's perspective.
1234 * cspi/spi_main.c: [fix for bug 85980]
1236 Replaced use of bonobo_object_dup_ref with call to the wrapper
1237 method, csou_dup_ref (); this silences a compiler warning and
1238 provided more portability.
1240 Ping the registry before return, and restart if necessary.
1242 * cspi/bonobo/cspi-bonobo.c:
1244 New internal method.
1246 Fixed this method to return an object reference, as it should have
1249 * cspi/cspi-lowlevel.h:
1250 Added internal definition for cspi_ping() and fixed
1251 return type of cspi_dup_ref().
1254 2002-06-19 Bill Haneman <bill.haneman@sun.com>
1256 * atk-bridge/bridge.c: [fix for bug 85305]
1257 (spi_atk_bridge_register_application):
1258 New method where the initial application registry calls have been
1259 moved; it allows an application to re-register in response to
1260 certain error conditions (such as a registry restart, see below).
1262 Moved some initialization code to the method
1263 spi_atk_bridge_get_registry, below.
1264 (spi_atk_bridge_get_registry):
1265 New, private accessor function for the Accessibility_Registry
1266 instance. If the registry has not been started before, or has
1267 died (as detected by failure of a CORBA exception), it is
1268 restarted before return, and spi_atk_bridge_register_application
1269 is called again to register with the new bridge instance.
1270 (spi_atk_emit_eventv):
1271 Set registry_died on error; use spi_atk_bridge_get_registry () to
1272 access the registry.
1274 * registryd/registry.c:
1275 (impl_accessibility_registry_register_global_event_listener):
1276 Set listener's event_type_quark to etype.minor instead of
1277 etype.major (fix for bug 84856).
1279 * test/event-listener-test.c:
1280 (report_detail_event):
1281 Change the output string so that user/tester can tell that the
1282 'detail listener' was called instead of the 'generic listener'.
1284 2002-06-18 Bill Haneman <bill.haneman@sun.com>
1286 Fixes for bugs 84900, 84908, 84897, 84898.
1291 Revved version to 1.1.0
1292 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
1293 version is going to HEAD which will be used for gnome-2-0-1 and later.)
1295 * idl/Accessibility_Registry.idl:
1296 (EventListener::notifyEvent):
1297 Removed 'oneway' directive after extensive consulation with
1298 ORBit2 team and others. This means also that unref() of the event
1299 source can and should be done synchronously after emission, rather
1300 than remotely in the client, after servicing the notify call on
1303 NOTE: This change speeds up listener performance considerably, but
1304 introduces new latency on the application side. We may want to
1305 add an event queue to the atk-bridge.
1307 * atk-bridge/bridge.c:
1308 (spi_atk_bridge_focus_tracker):
1309 Do a local unref() on the event source after emission.
1311 * registryd/registry.c:
1312 (desktop_remove_application):
1313 Do an unref() on the event source after emission.
1314 (desktop_add_application):
1315 Do an unref() on the event source after emission.
1316 (notify_listeners_cb):
1317 When relaying an event, don't automatically add the event source
1318 to the local object cache, just CORBA_dup it instead. Likewise,
1319 if this method reenters, release the ref rather than calling
1321 (impl_registry_notify_event):
1322 No longer call remote unref() on the event source after dispatch.
1324 * libspi/eventlistener.c:
1325 (impl_accessible_event_notify_event):
1326 Removed remote unref ()
1328 * cspi/bonobo/cspi-bonobo-listener.c:
1330 We now call cspi_object_new() instead of cspi_object_add() on
1331 receipt of an event; thus we only have an implicit object ref
1332 while the cspi_event method is being executed. If we need to keep
1333 a reference to the object, the listener must call ref() on the
1334 object. Thus also we don't need to call cspi_object_unref() after
1335 invoking the listener callbacks in this method.
1339 New internal API for creating a new cspi object, without adding it
1340 to the object cache.
1342 Now uses cspi_object_new() to create the cspi object instance.
1344 Now checks to see if the object is in the internal object cache,
1345 and adds it if necessary before incrementing its refcount (note
1346 that new objects are added with a refcount of 1).
1347 (report_leaked_ref):
1348 New method which gives some information on leaked object instances
1349 if leak detection is turned on.
1351 * test/event-listener-test.c:
1352 (timing_test_event):
1353 New method, used for testing event delivery timing for special
1354 events of type "object:test". It reports elapsed time and
1355 events/sec every 500 events.
1357 Added a new listener, 'test listener', to check timing of event
1358 receipt as noted above.
1360 Added some timing output here also, reports elapsed time every 100
1363 * test/stress-test.c:
1364 Emit events of type "object:test", for use with "event-listener-test".
1366 * test/test-simple.c:
1367 (global_listener_cb):
1368 Call Accessible_ref() on the event source before calling
1369 validate_accessible, since the validation process does pointer
1370 comparisons on the event source, meaning that the event source
1371 needs to be added to the local object cache first. Any use of
1372 such pointer comparisons between Accessible objects requires that
1373 the caller hold an explicit reference to those objects.
1374 We also must therefore call Accessible_unref() when leaving this method.
1376 2002-06-13 Bill Haneman <bill.haneman@sun.com>
1378 * registryd/deviceeventcontroller.c:
1379 (spi_controller_update_key_grabs):
1380 Fix for #84735, subsequent keygrab listeners not informed of
1381 registration failure.
1384 (spi_base_construct):
1385 Add an assertion on construct, to make sure the GObject passed in
1386 is really a GObject.
1388 Explicitly initialize object->gobj pointer to NULL;
1390 * cspi/bonobo/cspi-bonobo-listener.c:
1391 (cspi_object_add_ref):
1392 New method, can specify whether to dup-ref a bonobo object passed
1393 in if it's newly added to the object cache.
1395 Now calls cspi_object_add_ref with second param of "FALSE". This
1396 prevents us from doing a pointless dup-ref followed by
1397 release-unref for all those cases where the object is already in
1398 our object cache (fix for #85205).
1400 * atk-bridge/bridge.c:
1401 (spi_atk_bridge_idle_init):
1402 Removed this method, we don't need to initialize in an idle
1405 Changed to call spi_atk_register_event_listeners directly, not via an
1406 idle handler. (fix for #81139)
1407 (gnome_accessibility_module_shutdown):
1408 Removed conditional around deregistration of listeners, since we
1409 don't use the idle handler and thus have always registered when
1411 (spi_init_keystroke_from_atk_key_event):
1412 Changed references to Accessibility_KEY_PRESSED to
1413 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
1415 2002-06-12 Bill Haneman <bill.haneman@sun.com>
1417 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
1422 * test/stress-test.c:
1425 (may have been an incomplete commit yesterday?)
1427 2002-06-12 Bill Haneman <bill.haneman@sun.com>
1430 Added target for new stress-test.
1432 * test/stress-test.c:
1433 New test, sends 1000 focus notifies in quick succession.
1435 * test/key-listener-test.c:
1436 Now we report whether a keylistener registration
1437 request succeeded or failed.
1439 * test/event-listener-test.c:
1440 Uncommented some listeners which are now implemented.
1443 2002-06-06 Bill Haneman <bill.haneman@sun.com>
1445 * registryd/deviceeventcontroller.c:
1446 (spi_controller_update_key_grabs):
1447 Fix for #82509, lack of failure notification when
1448 ALL_WINDOWS keygrabs fail due to XGrabKey
1449 failure: we synchronize the server when
1450 registering a passive grab, to make sure we get the
1451 error message before the call returns.
1453 2002-06-03 Bill Haneman <bill.haneman@sun.com>
1455 * test/test-simple.c:
1457 Removed #ifdef KEY_IMPL_WORKS guards.
1458 (test_keylisteners):
1459 Removed #ifdef KEY_IMPL_WORKS guards.
1460 Fixed bug which was causing a hang waiting for a
1461 "press" event (which was already overwritten by a "release"
1462 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
1464 Added code to set globals 'key_press_received' and
1465 'key_release_received'.
1468 Added section "1.1 API Proposed Additions" which
1469 lists API additions desired for at-spi-1.1 (only one so far).
1470 Updated TODO list a little.
1472 2002-06-02 Bill Haneman <bill.haneman@sun.com>
1474 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
1477 * configure.in: Revved to 1.0.0.
1479 * idl/Accessibility_Registry.idl:
1480 (registerKeystrokeListener):
1481 Added boolean return value.
1483 * registryd/registry.c:
1484 (notify_listeners_cb): Minor fix to debug output.
1486 * registryd/Accessibility_Registry.server.in.in:
1487 Revved version number in OAFIID to 1.0.
1489 * registryd/registryd.c:
1491 Use new OAFIID version.
1493 * cspi/bonobo/cspi-bonobo.c:
1495 Use new OAFIID version.
1501 * atk-bridge/bridge.c:
1503 Use new OAFIID version.
1505 * registryd/deviceeventcontroller.c:
1506 (impl_register_keystroke_listener):
1507 Added CORBA_boolean return value.
1508 (spi_controller_register_device_listener):
1509 Added gboolean return value.
1510 (spi_controller_register_global_keygrabs):
1511 Added gboolean return value.
1512 (spi_key_set_contains_key):
1513 Added implementation for many more control keys,
1514 for instance F1-F12, arrow keys, End, Home, Page_Up,
1516 [TODO: some still not implemented].
1518 * text/screen-review-test.c:
1519 (text_chunk_pad_string):
1520 New function: it provides mapping between coordinate
1521 positions of text chunks and character positions in the
1522 screen-review-line output string.
1523 (text_chunk_to_string):
1524 New function, calls text_chunk_pad_string with various
1525 pad/delimiter characters. Pushbuttons are delimited with
1526 square brackets, Frames with vertical 'pipe' lines, and
1527 other text with double quotes.
1528 (text_chunk_list_to_string):
1529 Calls new function text_chunk_to_string.
1530 (toplevel_composite):
1531 New function to composite layers CANVAS through
1532 POPUP in each toplevel (other layers are composited
1533 across toplevels, i.e. BACKGROUND and OVERLAY).
1534 (review_buffer_composite):
1535 Revise to use new methods.
1541 2002-05-31 Laszlo Peter <laca@sun.com>
1543 * configure.in: add the Xtst libdir to the runpath on Solaris,
1544 since it's not in the default library search path.
1546 2002-05-29 jacob berkman <jacob@ximian.com>
1548 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
1550 2002-05-29 Bill Haneman <bill.haneman@sun.com>
1552 * test/screen-review-test.c:
1553 (text_chunk_pad_string):
1554 Added method, which pads the string according to the
1555 text bounds of the chunk. It also takes a 3-character
1556 string as a param which indicates the characters to be
1557 used for start, padding, and end delimitation of the chunk.
1558 (text_chunk_to_string):
1559 Changed to use text_chunk_pad_string.
1561 * configure.in: Fixed bug in AC_OUTPUT that was
1562 causing path substitution in Accessibility_Registry.server
1565 2002-05-23 Bill Haneman <bill.haneman@sun.com>
1567 * text/screen-review-test.c:
1568 (guess_string_clip):
1569 New method which attempts a best-guess at clipping
1570 text from components (like Java labels) which don't
1571 actually implement AccessibleText. This inaccurate
1572 clip is based on the assumption that the label is
1573 justified left-and-right, and monospaced.
1574 (text_chunk_get_clipped_string):
1575 We now call guess_string_clip() for text-containing
1576 components that don't implement AccessibleText.
1578 * test/screen-review-test.c:
1579 (review_buffer_get_text_chunk):
1580 We now pull "name" from labels if they do not implement
1581 AccessibleText (i.e. for Java labels).
1582 (get_screen_review_line_at):
1583 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
1586 Replaceded AC_OUTPUT target
1587 registryd/Accessibility_Registry.server with
1588 registryd/Accessibility_Registry.server.in.
1590 * registryd/Accessibility_Registry.server.in:
1591 Removed (this is now a Makefile target).
1593 * registryd/Accessibility_Registry.server.in.in:
1594 Added (source for target above). We now use $(libexecdir) as
1595 prefix for the executable at-spi-registryd.
1597 * registry/Makefile.am:
1598 Now install at-spi-registryd into $(libexecdir), and build .server
1599 file with path (see above).
1601 2002-05-22 Bill Haneman <bill.haneman@sun.com>
1603 * test/screen-review-test.c:
1604 (text_chunk_get_clipped_string):
1605 We now check to see if words fall within clip bounds
1606 before resorting to character-by-character clip bounds testing.
1608 * TODO: Added a section for "2.2 Proposed API Additions".
1610 2002-05-21 Bill Haneman <bill.haneman@sun.com>
1612 * test/screen-review-test.c:
1614 Added a screen review benchmarking and test program to test
1617 * cspi/spi_accessible.c:
1619 Made some of the debug strings passed to cspi_check_ev a
1620 little more specific.
1622 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
1624 * test/screen-review-test.c: Fix crashes in debug statements
1626 2002-05-20 Bill Haneman <bill.haneman@sun.com>
1628 * test/screen-review-test.c: Added this file.
1630 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1632 * atk-bridge/bridge.c: changed "object:state-change" to
1633 "object:state-changed" to match docs.
1635 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1637 * atk-bridge/bridge.c: Hooked up state-change event details.
1639 2002-05-11 Bill Haneman <bill.haneman@sun.com>
1641 * registryd/registry.c:
1642 Fixed quarking bug in event string parsing; now events with
1643 detail parameters get matched correctly to listeners.
1646 * util/idl/Magnifier.idl: remove.
1648 * util/*.[ch]: Remove.
1649 Magnification utilities and IDL are now in module gnome-mag.
1651 2002-05-10 Bill Haneman <bill.haneman@sun.com>
1653 * registryd/deviceeventcontroller.c:
1654 Fixed bug in grab key conversion which was causing keycode grabs
1655 to be converted to AnyKey grabs.
1658 updated NEWS file to reflect recent spin-off of gnome-mag.
1660 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
1662 * cspi/spi_accessible.c: Added exception checks. Fixed completely
1663 busted AccessibleStateSet_compare. Removed redundant casts.
1665 * cspi/spi-action.c: Removed redundant casts.
1667 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
1669 * cspi/spi_component.c: Fixed typos and casting error.
1671 * cspi/spi_editabletext.c: Removed redundant casts.
1673 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
1675 * cspi/spi_hypertext.c: Eliminated redundant casts.
1677 * cspi/spi_image.c: Eliminated redundant casts.
1679 * cspi/spi_registry.c: Eliminated redundant casts.
1680 SPI_deregisterGlobalEventListenerAll () removed retval variable.
1681 * cspi/spi_selection.c: Removed redundant casts.
1682 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
1683 handling. Screen geometry and text offsets were being returned as 0
1684 on error which is technically valid-- changed these to return -1.
1685 Added marshaller for text boundary types to fix bug with boundary
1686 types being passed incorrectly to atk.
1688 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1691 * cspi/spi_registry.c:
1692 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
1693 which was uncovered by the recent key changes.
1695 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1697 * test/event-listener-test.c:
1699 Added new test, "event-listener-test";
1700 this code does two things; it benchmarks traversal time
1701 for the accessible hierarchy for the first running accessible
1702 app, and it connects listeners for all supported event types.
1703 It is thus useful as an example event listener and for
1704 diagnostics/debugging of event generation.
1706 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1709 Removed unnecessary dependency on libutil.
1712 Revved micro version: 0.13.1
1714 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1717 Removed util/Makefile from targets.
1720 Removed util subdir from SUBDIRS (temporarily,
1721 pending removal of magnifier-only code
1725 #ifdef-ed out magnifier dependencies, since
1726 magnifier IDL, headers, and binary now live in
1727 module gnome-mag and we don't want at-spi to depend
1728 on gnome-mag. A magnifier demo which can run alongside
1729 simple-at is forthcoming in the gnome-mag module.
1731 NOTE: Split magnifier binary, IDL, and magnification
1732 activation code from at-spi into module gnome-mag.
1734 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
1736 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
1737 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
1739 2002-05-03 Bill Haneman <bill.haneman@sun.com>
1742 Revved to version 0.13.0
1744 * idl/Accessibility_Registry.idl:
1745 Changed definition of KeySet from sequence of longs to sequence of
1746 KeyDefinitions, and added KeyDefinition struct.
1747 Required for fix to bug 80616.
1749 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
1750 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
1751 to use new definition (see above).
1753 * registryd/deviceeventcontroller.c: handle_keygrab(),
1754 spi_keyset_contains_key():
1755 Changed to make use of new struct; this allows matching based on
1756 string key-name, for instance "Tab". This also allows matching of
1757 composed characters, non-alphanumeric characters in a way that
1758 doesn't involve dependencies on X keysym codes directly, etc.
1760 * test/key-listener-test.c:
1761 Added test for Alt-Tab key using "string" specification of keyset,
1762 and modified one of the tests to use a keycode-based keyset.
1763 Thus this test both tests and demonstrates the creation and use of
1764 keysets of three forms: specified via keycode array,
1765 keysym array, and string array. (The string case only contains a
1766 single string, i.e. a string array of length 1).
1769 Turned on PRINT_TREE option by default. Also fixed a
1770 string-freeing bug in the PRINT_TREE code.
1771 Added a listener to window:minimize events.
1773 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
1775 * atk-bridge/bridge.c:
1776 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
1777 for window:activate and window:deactiveate
1778 (atk_bridge_property_event_listener atk_bridge_signal_listener
1779 atk_bridge_window_event_listener) Tidy debug code
1781 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
1783 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
1784 Fixed handling for NULL return value from ATK.
1786 * libspi/action.c libspi/component.c libspi/editabletext.
1787 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
1788 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
1789 Removed redundant casts.
1791 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
1792 Fixed off by one bug.
1794 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
1795 function not present in idl)
1797 2002-05-02 jacob berkman <jacob@ximian.com>
1799 * atk-bridge/Makefile.am: make atk-bridge a real module
1801 2002-04-26 Radek Doulik <rodo@ximian.com>
1803 * libspi/stateset.c (spi_init_state_type_tables): fix size of
1804 atk_state_types table
1806 2002-04-22 jacob berkman <jacob@ximian.com>
1809 * libspi/Makefile.am: add deps on the built files to help
1810 automake, and don't version the ORBit typelib
1812 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
1814 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
1815 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
1816 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
1817 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
1818 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
1819 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
1820 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
1821 libspi/accessible.h libspi/accessible.h libspi/base.h
1822 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
1823 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
1824 libspi/relation.h libspi/remoteobject.h libspi/selection.h
1825 libspi/spi-private.h libspi/statetset.h libspi/table.h
1826 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
1827 util/mag_client.h util/mag_control.c util/mag_image.c
1828 util/mag_image.h util/magnifier.c util/magnifier.h:
1829 Add missing file headers; standardize existing ones
1831 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
1833 * atk-bridge/bridge.c: Added window event support.
1835 2002-04-18 Michael Meeks <michael@ximian.com>
1837 * libspi/relation.c (impl_getNTargets): impl.
1838 (impl_getTarget): impl.
1840 * libspi/Makefile.am: fix stateset install.
1842 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1845 Started putting useful info in this file.
1847 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
1849 * atk-bridge/bridge.c:
1850 Propagate state-changed notifications to ATs
1852 * cspi/spi_registry.c: update docs to reflect actual behavior of
1853 state-change events.
1855 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1858 Incremented version to 0.12.1
1860 * util/mag_client.h:
1861 Add missing declaration for magnifier_exit,
1862 used by mag_control.c - Forte compiler didn't like
1863 the implicit redeclaration of the function :-(
1866 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1869 Revved version to 0.12 due to API change (see below).
1871 * cspi/spi-roletypes.h:
1872 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
1873 definition from the inline docs, and added docs
1874 for SPI_ROLE_LAST_DEFINED.
1877 * cspi/spi_streamablecontent.c:
1878 Added missing seek_type parameter to
1879 (so far unused) method,
1880 AccessibleStreamableContent_seek().
1881 [ RT approval JodyG. ]
1884 Fixed docs for SPI_createAccessibleKeystrokeListener.
1886 * cspi/spi_registry.c:
1887 Fixed docs for SPI_KEYSET_ALL_KEYS.
1889 * docs/reference/cspi/at-spi-cspi-sections.txt:
1890 Added a number of missing APIs to SECTIONS.
1892 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1894 * registryd/Makefile.am:
1896 * cspi/bonobo/Makefile.am:
1897 Add $(X_LIBS) to makefiles.
1899 2002-04-15 Bill Haneman <bill.haneman@sun.com>
1902 Revved version to 0.11.
1904 * libspi/component.c:
1905 Added implementation for grabFocus.
1907 * idl/Accessibility_Component.idl
1908 (Accessibility_Component_grabFocus):
1909 Made this method return boolean to indicate success or failure, to
1910 be consistent with cspi and the corresponding ATK method.
1912 * idl/Accessibility_Selection.idl
1913 (Accessibility_Selection_selectAll) :
1914 Made these methods return boolean to indicate success or
1915 failure, to be consistent with cspi and the corresponding ATK methods.
1917 * idl/Accessibility_EditableText.idl
1918 (Accessibility_EditableText_setTextContents,
1919 Accessibility_EditableText_insertText,
1920 Accessibility_EditableText_cutText,
1921 Accessibility_EditableText_deleteText,
1922 Accessibility_EditableText_pasteText):
1923 Made these methods return boolean to indicate
1926 * cspi/spi_editabletext.c:
1927 Made these methods return booleans.
1929 * libspi/selection.c:
1930 * libspi/component.c:
1931 * libspi/editabletext.c:
1932 Connected the boolean returns from ATK
1933 to the server-side code referenced above.
1935 2002-04-14 Bill Haneman <bill.haneman@sun.com>
1937 * idl/Accessibility_Table.idl: Added missing methods,
1938 Accessibility_Table_addRowSelection,
1939 Accessibility_Table_addColumnSelection,
1940 Accessibility_Table_removeRowSelection,
1941 Accessibility_Table_removeColumnSelection.
1944 Added C wrappers for above IDL:
1945 AccessibleTable_addRowSelection,
1946 AccessibleTable_addColumnSelection,
1947 AccessibleTable_removeRowSelection,
1948 AccessibleTable_removeColumnSelection.
1951 Added server-side implementation code for IDL above, connecting
1952 to pre-existing ATK api.
1954 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
1956 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
1958 * libspi/accessible.c: Added implementation fo
1959 Accessibility_Accessible_get_state.
1961 * libspi/libspi.h: Added stateset.h to the list of includes.
1963 * libspi/stateset.c: Fixed broken implementation.
1965 2002-04-13 Bill Haneman <bill.haneman@sun.com>
1968 Added implementation code for Accessibility_Magnifier_exit ().
1970 * util/mag_control.c:
1971 Added test code for above method; you can
1972 now kill an existing magnifier via
1973 ./mag_control q, from the util directory.
1975 * test/key-listener-test.c:
1977 Added a new test, for our key listener API.
1979 2002-04-11 Bill Haneman <bill.haneman@sun.com>
1981 * test/app.c, test/keysynth-demo.c:
1983 Replace use of snprintf with g_snprintf.
1984 (fix for bugzilla 78249)
1986 2002-03-27 Michael Meeks <michael@ximian.com>
1990 * util/Makefile.am (INCLUDES): fix.
1991 (DONT_DIST_SOURCE): don't distribute the
1994 * libspi/Makefile.am (dist-hook): ditto.
1996 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
1998 * libspi/hypertext.c:
1999 Fix warnings when yelp is used with atk-bridge
2001 2002-03-21 Michael Meeks <michael@ximian.com>
2003 * libspi/application.c (spi_application_new):
2004 use spi_accessible_construct so we use the AtkObject
2007 2002-03-19 Michael Meeks <michael@ximian.com>
2009 * registryd/registry.c (desktop_remove_application),
2010 (desktop_add_application): clean coding style.
2012 * registryd/desktop.c (spi_desktop_remove_application),
2013 (spi_desktop_add_application): kill re-enterency hazards.
2014 (spi_desktop_dispose): remove bogus redundant cast
2015 obscuring bug; fix bug too.
2016 (spi_desktop_init): make the desktop object immortal.
2018 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2021 Added a #define-guarded tree-traversal step
2022 when enumerating the apps (diagnostic tool).
2024 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2026 * idl/Accessibility_Role.idl:
2027 Added ROLE_DRAWING_AREA which seemed to be missing from the
2030 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2032 * cspi/spi-roletypes.h cspi/spi_accessible.c
2033 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2036 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2037 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2038 AT when applications are added and removed from the desktop. This
2039 reverts the previous broken implementation using the backing
2040 AtkObject for the SpiDesktop.
2042 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2044 * registryd/desktop.c: emit the "children-changed::add" and
2045 "children-changed::remove" signals on the backing ATK object for
2046 the desktop so AT can tell when applications are started and shut
2049 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2051 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2053 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2055 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2057 * cspi/spi_accessible.c: Implemented c bindings for stateset support
2059 * cspi/state-types.h: synched with IDL and ATK
2061 2002-03-13 Bill Haneman <bill.haneman@sun.com>
2063 * libspi/accessible.c
2064 (impl_accessibility_accessible_get_child_at_index):
2065 Change return value for g_return_if_fail ()
2066 to CORBA_OBJECT_NIL instead of "0" (!)
2068 * registryd/Makefile.am:
2069 * registryd/Accessibility_Register.server.in:
2070 Changed name of executable, "registryd",
2071 to something more informative:
2074 2002-03-13 Michael Meeks <michael@ximian.com>
2076 * atk-bridge/bridge.c (atk_bridge_init): don't register
2077 if we're in a bonobo-component, rather than a bonobo app.
2079 2002-03-13 Michael Meeks <michael@ximian.com>
2081 * atk-bridge/bridge.c (gtk_module_init): split
2082 out body to (atk_bridge_init): here, since otherwise
2083 we get symbol conflicts and oddness when invoked
2084 from (gnome_accessibility_module_init): here (upd.)
2086 2002-03-11 Bill Haneman <bill.haneman@sun.com>
2089 New file. Explicitly allow "build sheriff" putbacks provided
2090 they are tested on Solaris.
2092 * docs/reference/cspi/Makefile.am:
2093 Added '-' to the "cp" command for index.sgml.
2094 ("patch by thomasvs, soon coming to a GUADEC near you")
2097 Incremented version number (0.9.0) for new release.
2098 Changed macro that checks for popt, to better detect
2099 obsolete versions of popt.
2102 Added X_LIBS to AC_SUBST, for applications
2103 that call Xlib API directly.
2106 2002-03-07 Bill Haneman <bill.haneman@sun.com>
2109 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2112 Fix regression caused by hard-coding major
2113 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2116 * test/test-simple.c (test_editable_text),
2117 (test_test): revert previous change (error was
2118 a regression in gail which is now fixed).
2120 2002-03-04 Michael Meeks <michael@ximian.com>
2122 * test/test-simple.c (test_editable_text),
2123 (test_text): pass G_MAXINT instead of '-1' for
2124 whole string - is this a good thing !?
2126 * cspi/spi_accessible.c
2127 (Accessible_getRelationSet): fix crasher bug
2128 overwriting the end of the array.
2130 * test/test-simple.c (validate_accessible): free,
2131 not g_free returned relation set.
2133 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2135 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2136 implemented stateset support
2138 * idl/Accessibility_State.idl: Made necessary changes to
2139 the IDL to support state sets.
2141 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2143 * registryd/deviceeventcontroller.c:
2144 Added implementation for generateMouseEvent.
2146 * cspi/spi_registry.c:
2147 Connected new implementation for generateMouseEvent
2150 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2153 Incremented revision (but no change in public API
2154 outside of 'utils', which are not installed public yet.)
2156 * libspi/component.c:
2157 Changed to use atk_component API for layers and
2158 mdi_zorder, instead of deprecated atk_object API.
2160 Magnification Utility Enhancements:
2163 Added implementation of createZoomRegion, clearAllZoomRegions,
2164 resizeZoomRegion. Added new commandline argument
2165 "--no-initial-region". Note that clearAllZoomRegions doesn't
2166 unmap the old '0' region as it should (yet), and the other
2167 methods only work when creating/resizing a single region,
2168 which is "region 0".
2169 (Code for multiple region support will be added later.)
2172 Now we raise the magnifier window each time it's refreshed;
2173 this will help keep it on top.
2175 * util/mag_client.h:
2176 Added simple wrappers for above, used by mag_control.
2177 For general use, it's recommended to use the bonobo magnifier
2178 control API directly instead of using these wrappers.
2181 Moved ZoomRegionData from magnifier.c to this file.
2183 * util/mag_control.c:
2184 Added some code to exercise new IDL implementations.
2186 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2188 * libspi/text.c: Provide implementation for getAttributes.
2190 2002-02-04 Bill Haneman <bill.haneman@sun.com>
2193 Incremented revision.
2195 * test/test-simple.c:
2196 Replaced use of deprecated g_main_iteration with
2197 g_main_context_iteration.
2199 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
2202 Incremented revision for desktop alpha 2.
2204 2002-01-28 Mark McLoughlin <mark@skynet.ie>
2206 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2209 * test/simple-at.c: include netinet/in.h.
2211 2002-01-24 Mark McLoughlin <mark@skynet.ie>
2213 * cspi/spi_accessible.c: (Accessible_getRelationSet):
2214 use NULL, not CORBA_OBJECT_NIL.
2216 * libspi/accessible.c:
2217 (impl_accessibility_accessible_get_relation_set):
2218 allocate the sequence correctly.
2220 * libspi/remoteobject.h: kill spi_remote_object_new.
2222 * test/test-simple.c: (validate_accessible): add code
2223 to test relation sets, now all we need is to figure
2224 out how to excercise this code path :/
2226 2002-01-18 Michael Meeks <michael@ximian.com>
2228 * test/test-simple.c
2229 (key_listener_cb): consume the key.
2230 (test_keylisteners): update.
2231 (main): wait for any pending unrefs on events.
2233 * registryd/deviceeventcontroller.c
2234 (spi_controller_update_key_grabs): only re-issue the
2235 grab on a key release.
2236 (spi_device_event_controller_forward_key_event):
2237 refresh the keygrabs before we notify the listeners,
2238 to reduce the X ungrab / re-grab race.
2239 (spi_controller_register_with_devices): remove
2240 XSelectInput - we do that with the gdk_window_ call.
2241 (_spi_controller_device_error_handler): return a value.
2242 s/GDK_DISPLAY/spi_get_display/
2244 2002-01-17 Michael Meeks <michael@ximian.com>
2246 * registryd/deviceeventcontroller.c
2247 (_deregister_keygrab): don't blow out the later
2250 * test/test-simple.c (test_keylisteners): do a
2251 more intelligent validation.
2253 2002-01-14 Michael Meeks <michael@ximian.com>
2255 * atk-bridge/bridge.c
2256 (gnome_accessibility_module_init),
2257 (gnome_accessibility_module_shutdown): impl.
2258 (gtk_module_init): protect vs. double inits.
2259 (add_signal_listener): impl.
2260 (spi_atk_bridge_state_event_listener): kill
2261 (deregister_application): split out of
2262 (spi_atk_bridge_exit_func): here.
2264 2002-01-18 Bill Haneman <bill.haneman@sun.com>
2267 Added caret tracking when using magnifier, and
2268 now use text bounds for focus tracking of text elements, rather than
2269 the component bounds - this is helpful for short text fields in long
2270 table cells, at high magnification.
2272 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2274 * registryd/deviceeventcontroller.c:
2275 Regression fix for keylistener de-registration; global keygrabs
2276 were not being released when deregisterKeystrokeListener was
2277 called in cspi, since
2278 Accessibility_DeviceEventController_deregisterKeystrokeListener
2279 was called with a zero-length keyset. That is because the cspi
2280 method, SPI_deregisterKeystrokeListener, does not take a keyset
2281 parameter but instead should remove all the key grabs held be a
2283 The code in impl_deregister_keystroke_listener was changed to copy
2284 the keylist from the listener instance previously registered with
2285 the DeviceEventController before releasing the grabs.
2287 * registryd/registry.c:
2288 * registryd/deviceeventcontroller.c:
2289 * libspi/spi-private.h:
2291 Changed spelling of "re-enterant" to "re-entrant" globally.
2293 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2295 * test/test-simple.c:
2296 Changed key listeners test - the test was slightly mis-using the
2297 (admittedly poorly documented) SPI_generateKeyboardEvent API.
2298 It now uses '=' as the key event listened to and generated,
2299 relying on a keysym match rather than assuming that keycode 33
2300 is always equal to keysym '!'.
2302 2002-01-15 Bill Haneman <bill.haneman@sun.com>
2305 Changed simple-at to use a specific keyset, rather than
2306 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
2307 manager, desktop, etc.
2309 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2311 * registryd/deviceeventcontroller.c:
2312 Replaced standard X error handler with a special handler that
2313 is non-fatal for failed keygrabs. This works around
2314 problems with keygrab clashes sometimes observed on
2316 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
2317 mouse handling code as yet).
2319 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2322 Incremented revision for desktop alpha release.
2325 Fixed a couple of the more glaring errors (still not
2328 2002-01-11 Michael Meeks <michael@ximian.com>
2330 * registryd/deviceeventcontroller.c
2331 (spi_device_event_controller_forward_key_event): kill
2332 XUngrabKey / XKeyGrab race.
2333 (spi_controller_grab_keyboard): rename to
2334 (spi_controller_update_key_grabs): this, and deal
2335 with incremental adding / removing grabs more
2337 (_register_keygrab): ensure we're not pending a remove.
2338 (spi_grab_mask_free): impl.
2339 (spi_controller_register_global_keygrabs): split out
2341 (handle_keygrab): impl.
2342 (_deregister_keygrab): impl.
2343 (spi_controller_deregister_global_keygrabs): impl.
2344 (spi_controller_update_key_grabs): re-issue the grab if
2345 we just recieved a notification.
2347 * test/test-simple.c (key_listener_cb): remove debug.
2349 * registryd/deviceeventcontroller.c
2350 (spi_controller_register_device_listener): after
2351 registering a global keygrab, actualy register it !
2352 don't wait for a timeout; doh !
2354 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
2355 to make it more readable / manipulable.
2356 s/grabmask/grab_mask/ s/refcount/ref_count/
2357 s/keyval/key_val/ s/modmask/mod_mask
2359 2002-01-08 Michael Meeks <michael@ximian.com>
2361 * registryd/deviceeventcontroller.c
2362 (spi_controller_register_with_devices): use gdk calls to
2364 (global_filter_fn): implement the filter.
2365 (spi_device_event_controller_check_key_event): rename to
2366 (spi_device_event_controller_forward_key_event): this & upd.
2367 (spi_get_display): replace with GDK_DISPLAY.
2369 * registryd/deviceeventcontroller.c
2370 (spi_controller_deregister_device_listener): unroll into
2371 (impl_deregister_keystroke_listener): here to simplify.
2372 (spi_controller_register_global_keygrabs): split cut and
2373 paste (!) out into (_register_keygrab): here, shorter & sweeter.
2374 (spi_controller_deregister_device_listener): remove.
2375 (impl_register_mouse_listener): remove, no mouse listener
2376 support in at-spi-1.0
2378 * registryd/registry.c
2379 (_device_event_controller_hook): kill.
2380 (spi_registry_init): upd.
2382 * registryd/deviceeventcontroller.c
2383 (spi_device_event_controller_class_init): upd.
2384 (spi_check_key_event): merge into.
2385 (spi_device_event_controller_check_key_event):
2386 here and kill strange static ev init, don't leak
2387 the x_event - nor dynamicaly allocate it.
2389 * registryd/registry-main.c (main): re-direct
2390 timeout to remove strange vtable mess.
2392 * registryd/deviceeventcontroller.c
2393 (remove_listener_cb): impl.
2394 (spi_controller_deregister_device_listener):
2395 fix re-enterancy hazard.
2397 2002-01-07 Michael Meeks <michael@ximian.com>
2399 * registryd/deviceeventcontroller.c
2400 (spi_device_event_controller_new): upd.
2401 (impl_notify_listeners_sync): upd. debug.
2402 (spi_notify_keylisteners): fix re-enterancy hazards,
2403 prettify, remove O(n*n) iteration.
2404 (spi_controller_grab_keyboard): fix iteration.
2405 (spi_check_key_event): re-format to suit coding style.
2406 Clean all the warnings - we're warning free.
2408 * registryd/deviceeventcontroller.h:
2409 * registryd/registry.h: make mutualy referential with
2410 typesafe forward references instead of (!) void pointer
2413 2002-01-11 Michael Meeks <michael@ximian.com>
2415 * cspi/spi_accessible.c (role_names): add a role name
2416 to sync this array with the enum; and make the regression
2419 2002-01-10 Michael Meeks <michael@ximian.com>
2421 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
2422 allow expansion of enumeration & kill warning.
2424 * test/test-simple.c (key_listener_cb): impl.
2425 (test_keylisteners): impl.
2427 * cspi/spi-listener.h: make listener signatures const
2428 on the provided (const) events.
2430 * test/keysynth-demo.c: upd. to const events.
2432 * test/simple-at.c: ditto.
2434 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2437 Rev the version to 0.5 (the previous tarball was named 0.4,
2438 even though the micro number was 3), so we need to rev upwards
2439 again for beta2/"desktop-alpha"
2442 Checked in a demo script, which requires editing before use!
2443 Proceed with caution.
2446 Fixed typo in header which was redefining SPI_ACTION_CLASS.
2448 * cspi/spi_accessible.c:
2449 Add a couple of missing enum initializations, and fix some enum
2452 * cspi/spi_registry.c:
2453 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
2455 * docs/reference/cspi/at-spi-cspi-sections.txt:
2456 Remove/fix a couple of broken document references.
2459 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
2460 as Alt-Control to listen for commands, since on some systems
2461 Control-Alt may already be grabbed.
2463 2002-01-10 Bill Haneman <bill.haneman@sun.com>
2466 Update version number to 0.4 for Beta2.
2468 * libspi/accessible.c, libspi/accessible.h:
2469 Expose spi_accessible_construct, to enable libgail-gnome
2470 construction from spi_accessible subtype.
2472 * utils/magnifier.c:
2473 Workaround for bug in some non-gnome-compliant window managers
2474 which made magnifier resize improperly.
2476 2002-01-09 Bill Haneman <bill.haneman@sun.com>
2478 * libspi/accessible.c: (spi_accessible_new) :
2479 Move the test for SPI_IS_REMOTE_OBJECT to
2480 spi_accessible_new_return, fixing a bug and compile time warning.
2482 2002-01-08 Michael Meeks <michael@ximian.com>
2484 * registryd/registry.c (parse_event_type): remove strndup.
2486 * libspi/Makefile.am (libspi_la_SOURCES): remove
2487 sources already included in the headers section.
2489 * libspi/util.c: add.
2491 * libspi/spi-private.h: add.
2493 * registryd/registry.c: update to moved list iterators.
2495 2002-01-05 Michael Meeks <michael@ximian.com>
2497 * test/simple-at.c (main): upd. auto-module set to atk-bridge
2499 * test/test-simple.c (main): ditto.
2501 2002-01-04 Michael Meeks <michael@ximian.com>
2503 * libspi/accessible.c (spi_accessible_new): remove 2nd,
2504 redundant construct.
2506 * registryd/registry.c
2507 (get_listener_list): impl.
2508 (impl_accessibility_registry_register_global_event_listener):
2509 re-impl. to simplify using ~, remove dodgy const cast off.
2510 (parse_event_type): constify.
2511 (impl_accessibility_registry_deregister_global_event_listener_all):
2512 re-write, more efficiency and simplicity, kill re-enterancy
2514 (compare_listener_corbaref, compare_corba_objects),
2515 (compare_listener_quarks): define out.
2516 (impl_accessibility_registry_deregister_global_event_listener):
2517 re-write for effiency, and nail re-enterancy hazard.
2518 (impl_accessibility_registry_get_desktop_list): impl.
2519 (re_enterant_list_delete_link): impl.
2520 (re_enterant_list_foreach): impl.
2521 (remove_listener_cb): impl.
2522 (_registry_notify_listeners): kill.
2523 (notify_listeners_cb): impl.
2525 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
2526 (SPI_getDesktopList): impl.
2528 * test/test-simple.c (test_desktop): test the methods.
2530 2002-01-03 Michael Meeks <michael@ximian.com>
2532 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
2533 keystrings since we free them
2534 (SPI_freeAccessibleKeySet): in here.
2536 * libspi/accessible.c (spi_accessible_new): kill warning,
2537 wonder what is going on with the constructor here.
2539 2002-03-01 Bill Haneman <bill.haneman@sun.com>
2541 * libspi/accessible.c (spi_accessible_new ()) :
2542 Added check to see if AtkObject is an SpiRemoteObject before
2543 creating an SpiAccessible.
2545 2002-05-01 Bill Haneman <bill.haneman@sun.com>
2547 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
2548 Enable keygrabs using the Control modifier, now that they are
2549 working properly (they were previously disabled).
2552 Change the command keygrab for this demo to "Control+Alt", so as
2553 to conflict with fewer other key commands on the system; this
2554 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
2556 Removed a pointlessly-chatty keylistener for unshifted keys
2557 (shifted keys are still reported).
2559 2002-02-01 Bill Haneman <bill.haneman@sun.com>
2561 * libspi/remoteobject.h:
2562 * libspi/remoteobject.c:
2563 Added definitions for special AtkObject subtype, required for
2564 support of remote components (specifically, used by BonoboControl
2565 accessibility implementation).
2567 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
2569 * cspi/spi.h: synched relation types with ATK
2571 * cspi/spi_accessible.c: Added implementations of
2572 AcccessibleRelation_* methods
2574 * idl/Accessibility_Relation.idl: added getRelationTypeName
2575 method. Synched known relation types with ATK. Allowed for
2576 relation type extension with the RELATION_EXTENDED type.
2578 * libspi/relation.c: Provided implementations for
2579 AccessibleRelation methods.
2581 2002-01-01 Bill Haneman <bill.haneman@sun.com>
2583 API tweaks for today's API 'freeze'.
2586 Added placeholder functions to allow future compatible expansion
2587 of the IDL interfaces.
2589 * idl/Accessibility_Registry.idl:
2590 Changed generateKeyEvent to generateKeyboardEvent. Changed
2591 signature of this method to accept an optional keystring in
2592 parameter (for complex text input synthesis) and changed use of
2593 simple 'boolean' parameter in registerKeystrokeListener to a
2594 struct, EventListenerMode.
2596 * cspi/spi_accessible.c:
2598 * cspi/spi_streamablecontent.c:
2599 Added references to AccessibleStreamableContent interface, and
2600 definition and implementation of AccessibleStreamableContent
2603 * cspi/spi_registry.c:
2605 Changed generateKeyEvent API to generateKeyboardEvent,
2606 taking a new (optional) keystring parameter to support complex
2611 Renamed directory (to better reflect its actual purpose, bridging
2612 from at-spi to ATK). The .so module is also now named
2615 * idl/Accessibility_Hypertext.idl:
2616 * libspi/accessible.c:
2617 * libspi/hypertext.h:
2618 * libspi/hypertext.c:
2619 Changed Accessibility_Hypertext to *not* derive from
2622 * cspi/spi_registry.c:
2623 Added list of legal event type names for 'window' events, which
2624 completes the registry event API.
2626 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
2628 * at-bridge/bridge.c: Added registration for separate
2629 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
2630 signals. If either of the first two parameters to the generic
2631 bridge signal handler are ints, they are passed on as event
2632 details. This allows an AT to determine what text was inserted.
2634 2001-12-21 Bill Haneman <bill.haneman@sun.com>
2636 * registryd/deviceeventcontroller.c:
2637 Fixed regressions in generateKeyEvent caused by the removal of
2638 gdk_init from registryd; we now use pure X calls to connect to the
2639 display, which makes sense because deviceeventcontroller already
2640 uses a fair bit of X API (should eventually be migrated to a
2641 'portability layer').
2643 * registryd/desktop.c:
2644 Fixed minor regression in spi_desktop_init, changed the way the
2645 desktop name is being set to work with new spi_base API
2646 (gobject-based, rather than AtkObject-based).
2648 * registryd/Makefile.am:
2649 Minor revision of makefile to use XTST_LIBS variable rather than
2650 hard-wiring the Xtst LD_ADD element.
2652 * test/keysynth-demo.c:
2653 Tweaked an output message; added initialization of the
2654 'keystrings' member of the "switch listener" key_set.
2656 * libspi/relation.c:
2657 Squashed compile-time warning.
2659 * libspi/accessible.c:
2660 Cosmetic and formatting fixes, renamed a static method.
2662 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
2664 * libspi/accessible.c
2666 * libspi/application.c
2669 * libspi/component.c
2670 * libspi/editabletext.c
2671 * libspi/hyperlink.c
2672 * libspi/hypertext.c
2674 * libspi/selection.c
2678 * registryd/desktop.c:
2679 Changed SpiBase to contain a GObject pointer rather than an AtkObject
2681 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2683 * idl/Accessibility_Registry.idl:
2684 Added boolean member 'is_text' to DeviceEvent. This is for the
2685 use of key events, and helps prevent ambiguity between composed
2686 key strings and keysym names, since both may potentially be
2687 returned in the 'event_string' member.
2689 * at-bridge/bridge.c:
2690 * registryd/deviceeventcontroller.c:
2691 Use the 'is_text' member when notifying device event listeners.
2692 Knon issue: composed characters are not dealt with correctly by
2693 the global key listener implementation yet.
2695 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2697 * at-bridge/bridge.c:
2698 Namespaced local static methods to spi_atk_bridge_* where
2699 previously named bridge_*, and spi_* elsewhere.
2701 * at-bridge/bridge.c:
2702 * cspi/bonobo/cspi-bonobo-listener.c:
2703 Added demarshalling/conversion for string member of
2704 Accessibility_DeviceEvent to AccessibleKeystroke.
2706 * registryd/deviceeventcontroller.c:
2707 Added code to fill the Accessibility_DeviceEvent key string value
2708 member for global key events (i.e. from XGrabKey), to match
2709 behavior of Accessibility_DeviceEvent from the toolkit key events
2710 from the bridge. Fixed timestamp in global key event notifications.
2713 Added printout of key event's string value to
2714 report_ordinary_key_event, for demo/debugging purposes.
2716 2001-12-15 Bill Haneman <bill.haneman@sun.com>
2718 * idl/Accessibility_Registry.idl:
2719 Removed Accessibility_KeyStroke structure in favor of generic
2720 Accessibility_DeviceEvent structure.
2721 Changed Accessibility_ControllerEventMask from a struct to an
2724 * at-bridge/bridge.c:
2725 Changed APIs to use DeviceEvent structure as above, and removed
2726 bogus casting between these event structures.
2728 * cspi/spi-listener.h:
2729 Added keystring member of AccessibleKeystroke structure, to enable
2730 matching on event "names" rather than only hardware codes and
2734 Added keystrings member of AccessibleKeySet struct, to allow
2735 matching on event names (as above).
2736 Added declarations for SPI_createAccessibleKeySet and
2737 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
2738 event modmasks directly as unsigned ints rather than structs with
2739 refcounts, in the DeviceEventController methods.
2741 * cspi/spi_registry.c:
2742 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
2744 * cspi/spi-roletypes.h:
2745 Added documentation of newly added SPI Roles.
2747 * cspi/bonobo/cspi-bonobo-listener.c:
2748 Changes in support of API changes above.
2750 * libspi/accessible.c:
2751 Converted APIs to use DeviceEvent structure (see IDL changes
2754 * registryd/deviceeventcontroller.c:
2755 Added DEControllerGrabMask structure to track keygrabs not only by
2756 modmask but by keyset as well; this allows us to do "global"
2757 (i.e. X) keygrabs on a per-key or keyset basis rather than always
2758 grabbing on AnyKey and then filtering after-the-fact.
2759 Bugfixes for event filtration mean that we don't get false matches
2760 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
2762 * registryd/deviceeventcontroller.c:
2763 Namespaced a number of static methods to use spi_ prefix. Major
2764 revision to internals of global (i.e. X) key grabs.
2766 * registryd/deviceeventcontroller.h:
2767 Removed keymask_list and added keygrabs_list to
2768 SpiDeviceEventController struct.
2771 Added use of SPI_createAccessibleKeySet API when creating a
2772 listener for only one key. Attach a listener to "shift spacebar
2773 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
2774 X key event names to SPI key event names, so that listeners are
2775 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
2777 * test/keysynth-demo.c:
2778 Changed (incorrect) use of X key event names (KeyPressed,
2779 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
2782 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2784 * libspi/accessible.c:
2785 Convert all AtkRole enumerations to Accessibility_Role enums when
2786 getting a role from an AtkObject.
2788 * cspi/spi_accessible.c:
2789 Complete the conversion of Accessibility_Role enums at runtime to
2790 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
2791 role enums correctly match those given in spi-roletypes.h.
2792 Re-synchronize the local names list for AccessibleRole_getName ().
2793 AccessibleRole_getName is now deprecated, since it duplicates the
2794 more reliable Accessible_getRoleName.
2795 Added some role types from Accessibility_Role.idl.
2797 * idl/Accessibility_Role.idl:
2798 Added some role types used by AtkRole.
2800 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2803 * cspi/spi_registry.c:
2805 * cspi/cspi-bonobo-listener.c:
2806 Namespaced all methods that did not begin with an "SPI_" or
2807 "Accessible" prefix to "SPI_".
2810 Homogenized internal function namespace to "cspi_" for statics.
2813 Patched tests to use the new CSPI API.
2815 * docs/reference/cspi/at-spi-cspi-sections.txt:
2816 Updated docs to reflect namespace changes, and added a number of
2817 methods to the documentation.
2819 * registryd/registry.c:
2820 Changed use of strings and string hashes in listener event
2821 matching and parse_event_string to use GQuark, which is guaranteed
2824 * registryd/registry.h:
2825 Squashed annoying warning.
2827 * idl/Accessibility_Role.idl:
2828 Extended range of available Accessibility_Role values.
2830 * cspi/spi_accessible.c:
2831 Re-ordered role names.
2833 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2835 * idl/Accessibility_Value.idl:
2836 Revert use of union back to CORBA_double, since the double type is
2837 more efficient and can contain the other types without loss of
2840 * idl/Accessibility_Accessible.idl:
2841 Added method Accessibility:Accessible:getRoleName, to complement
2842 Accessibility:Accessible:getRole.
2844 * cspi/spi_accessible.c:
2846 Added C binding for above, Accessible_getRoleName (), and changed
2847 signature of Accessible_getRole () to return an AccessibleRole.
2849 * cspi/spi-roletypes.h:
2850 Changed AccessibleRole_getName to return a char * instead of a
2851 const char *. This method is now at least temporarily deprecated
2852 in favor of asking Accessibles for their RoleNames directly.
2855 Revert to match Accessibility_Value.idl;
2859 Change signature of AccessibleValue methods to use double rather
2863 * cspi/spi_accessible.c:
2864 Changed Accessible_getRole to return an AccessibleRole enum rather
2865 than a UTF-8 string. The UTF-8 string can still be obtained via
2866 AccessibleRole_getName ().
2868 * test/test-simple.c:
2869 Add test_action. Small fixup to match API change to Accessible_getRole.
2872 Bugfix for get_action_from_servant ().
2874 2001-12-11 Michael Meeks <michael@ximian.com>
2876 * libspi/libspi.h: remove registry.h and
2877 desktop.h, deviceeventcontroller.h
2879 * libspi/Makefile.am: remove registry.[ch],
2880 desktop.[ch], deviceeventcontroller.[ch]
2882 * registryd/Makefile.am: add registry.[ch],
2883 desktop.[ch], rename registryd.c to registry-main.c.
2884 add deviceeventcontroller.[ch]
2886 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2889 Replace setenv() call with putenv ().
2891 * libspi/component.c:
2892 Bugfix in AccessibleComponent_getExtents (),
2895 2001-12-11 Michael Meeks <michael@ximian.com>
2897 * libspi/image.c (impl_getImageExtents): impl.
2898 (spi_image_class_init): upd.
2901 (AccessibleImage_getImageDescription): fix daft bug
2904 * test/test-simple.c (global_listener_cb): update
2905 to only quit if not --poke
2906 (main): catch --poke.
2907 (validate_accessible): upd. dumping, call test_image
2910 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
2913 * idl/Accessibility.idl: update all IDL includes.
2915 * idl/*.idl - rename to namespace - this sucks, blame
2916 mjs' bad decision for oafd.
2918 * test/test-simple.c (create_test_window): add more tests.
2919 (create_tree): split this out.
2920 (validate_accessible): bugfix.
2922 2001-12-11 Michael Meeks <michael@ximian.com>
2924 * cspi/bonobo/cspi-bonobo-listener.c:
2925 (cspi_kestroke_listener_unref),
2926 (cspi_event_listener_unref): impl. undoing previous
2927 homenous environment - for Bill.
2929 * cspi/spi_table.c (long_seq_to_array): use
2932 * cspi/spi_main.c: split out all bonoboish bits into
2935 * cspi/spi-impl.h: upd. typedefs.
2937 * cspi/spi_registry.c: update to lowlevel API,
2938 return booleans to indicate success in some places.
2940 * cspi/spi_event.c: update to lowlevel API.
2942 * cspi/bonobo/Makefile.am: add.
2944 * cspi/bonobo/cspi-lowlevel.h: add
2946 * cspi/bonobo/cspi-bonobo.c: add
2948 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
2950 * cspi/Makefile.am: remove spi-listener-impl.[ch],
2951 (SUBDIRS): add bonobo, link in the libs.
2953 * cspi/spi-util.c: kill this file.
2955 * TODO: merge in my bits.
2957 2001-12-11 Michael Meeks <michael@ximian.com>
2959 * test/test-simple.c (test_value, test_table, main):
2960 remove unused variables causing warnings.
2962 * configure.in: cleanup checks - require gail.
2964 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2967 Changed Value interface to use SValue (scalars) rather than
2968 assuming all values are floats. This allows floats, doubles,
2969 longs, shorts, and unsigned values to be manipulated.
2970 Introduced Accessibility:SValue union.
2973 Updated to use new API above, and to work correctly with GValues
2974 of different types in AtkValue.
2977 Updated to use new API above. cspi's API is as yet unchanged.
2980 Updated the Value revision action item.
2982 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2984 * test/test-simple.c:
2985 Added test_table (GtkTreeView widget in test window to follow).
2986 Un-commented test_value, added GtkRange widget.
2987 Added GtkTreeView widget with GtkListStore. It passes regression
2988 test but leaks one SPI object for some reason.
2991 Fixed bug in impl__set_currentValue.
2993 2001-12-10 Michael Meeks <michael@ximian.com>
2995 * cspi/spi_text.c: audit for exception handling,
2996 tolerating NULL object references safely etc.
2998 * cspi/spi_value.c: ditto.
3000 * cspi/spi_table.c (AccessibleTable_getSummary),
3001 (AccessibleTable_getAccessibleAt),
3002 (AccessibleTable_getRowHeader),
3003 (AccessibleTable_getColumnHeader),
3004 (AccessibleTable_getCaption): fix bugs hidden by
3006 (long_seq_to_array): impl.
3007 (AccessibleTable_getSelectedRows),
3008 (AccessibleTable_getSelectedColumns): use it.
3010 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3013 Added a TODO list (rough and short for now).
3015 * cspi/spi_hyperlink.c:
3016 * cspi/spi_hypertext.c:
3017 Fixed macro name typos, and remove use of obsolete macro in
3018 AccessibleHyperlink_getLink.
3020 * cspi/spi_action.c:
3021 * cspi/spi_accessible.c:
3022 * cspi/spi_application.c:
3023 * cspi/spi_component.c:
3024 * cspi/spi_selection.c:
3027 Documentation fixes (removed return values from ref/unref methods).
3029 2001-12-10 Michael Meeks <michael@ximian.com>
3031 * cspi/spi_action.c: audit for exception handling,
3032 tolerating NULL object references safely etc.
3034 * cspi/spi_accessible.c: ditto.
3036 * cspi/spi_component.c: ditto.
3038 * cspi/spi_editabletext.c: ditto.
3040 * cspi/spi_hyperlink.c: ditto.
3042 * cspi/spi_hypertext.c: ditto.
3044 * cspi/spi_image.c: ditto.
3046 * cspi/spi_selection.c: ditto.
3048 2001-12-10 Michael Meeks <michael@ximian.com>
3050 * configure.in: use cspi/libspi.pc.in instead.
3052 * Makefile.am (pkgconfig_DATA): upd. to match.
3054 * test/simple-at.c (report_focus_event): kill hacks around
3055 bad return values, use putenv not setenv
3057 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3058 fire ChildGone - I killed it.
3060 * libspi/component.c
3061 (impl_accessibility_component_get_extents): remove
3064 * idl/Accessible.idl: kill ChildGone exception.
3066 * cspi/*.[ch]: kill int return from ref / unref.
3068 * cspi/spi_main.c (cspi_object_add_check): fold into
3069 (cspi_object_add): here.
3071 * cspi/spi_component.c (AccessibleComponent_getExtents):
3072 handle exceptions elegantly.
3074 * cspi/spi-private.h (cspi_check_ev_return),
3075 (cspi_return_if_fail): impl.
3077 * cspi/spi_accessible.c: use extensively.
3078 (AccessibleStateSet_equals): add direct compare check.
3080 * cspi/spi_selection.c: tolerate NULL objs, and check
3081 exceptions before return.
3083 * cspi/spi-util.c (cspi_warn_ev): rename to
3084 (cspi_check_ev): this & don't pass ev in; no point.
3086 2001-12-10 Michael Meeks <michael@ximian.com>
3088 * test/test-simple.c: use putenv not setenv
3089 (get_environment_vars): more chatty if you're not using
3092 * test/simple-at.c: do the setenv so more people see the
3095 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3097 * libspi/registry.c:
3098 Changed check of CORBA_environment on notification to be a warning
3099 instead of an error for the moment, since we can recover from this
3100 error when caused by a queued notification from a dead app.
3103 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3104 used by all current implementors of AtkValue), and coerce to
3105 CORBA_float. (Proper general case fix may require change to Value.idl).
3107 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3111 * cspi/spi_accessible.c:
3112 Documentation fixes: added user_data params to documentation for
3113 listeners and callbacks.
3115 * cspi/spi_accessible.c:
3116 Changed AccessibleStateSet_compare to return a
3117 StateSet rather than return the difference set into a third parameter.
3120 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3123 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3124 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3128 Remove subdirectory po from SUBDIRS for now.
3130 * at-bridge/bridge.c:
3131 Beefed up a couple of debug printouts.
3132 One-line fix for signal notification name formatting.
3134 * libspi/accessible.c:
3135 Added assertion to spi_accessible_new ().
3137 * libspi/application.c:
3138 Put #ifdef qualifiers around a printf.
3141 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3143 * registryd/Makefile.am:
3145 Replaces use of XML_I18N_MERGE_SERVER_RULE with
3146 INTLTOOL_SERVER_RULE macro.
3149 Added an event listener for several ATK signals, for
3150 testing and debugging. Removed a few g_warnings.
3151 Added test output if focussed item implements the Value interface.
3153 * test/test-simple.c:
3154 Added test_value () function (known not to pass at the moment, so
3155 not actually called yet.
3157 2001-12-08 Michael Meeks <michael@ximian.com>
3159 * at-bridge/bridge.c (bridge_focus_tracker),
3160 (emit_eventv): fix the same ref. leak.
3161 (register_atk_event_listeners): don't leak.
3163 * cspi/spi-listener-impl.c (cspi_event): more
3164 protection from client code.
3166 * test/test-simple.c (test_desktop): unref the app.
3168 * test/Makefile.am: upd. TESTS.
3170 * at-bridge/bridge.c (bridge_exit_func): release the registry.
3172 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3174 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3176 * cspi/spi_registry.c: constify in strings.
3177 (deregisterGlobalEventListenerAll): don't release the ref.
3179 * cspi/spi.h: start removing redundant / conflicting
3180 gtkdoc comments, making the API readable at a glance :-)
3182 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3184 * test/keysynth-demo.c (keysynth_exit, main): upd.
3186 * test/simple-at.c (main, simple_at_exit): upd.
3188 * test/test-simple.c (unutterable_horror): kill.
3189 (utterable_normal_derefs): kill.
3190 (main): upd & do a setenv before gtk_init, so that we
3191 can use memprof - and to save the pain of remembering
3192 this, if we're running under memprof - don't exit.
3194 * cspi/spi_main.c (SPI_exit): return exit status
3196 (SPI_event_quit): impl.
3197 (SPI_event_main): simplify.
3198 (cspi_is_gnome_app): kill.
3199 (SPI_init): kill isGNOMEapp arg.
3201 * at-bridge/bridge.c (register_atk_event_listeners):
3202 re-instate the unref.
3203 (bridge_exit_func): don't re-activate the registry,
3204 protect vs. theoretical re-entry, use the
3205 AT_BRIDGE_SHUTDOWN env. var to determine whether to
3206 assert a clean shutdown - for regression tests.
3208 2001-12-08 Abel Cheung <maddog@linux.org.hk>
3210 * configure.in: Comment out dummy i18n support for now,
3211 otherwise it fails to build.
3212 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3213 EXTRA_DIST. They are missing in tarball.
3215 2001-12-07 Michael Meeks <michael@ximian.com>
3217 * util/magnifier.c: kill bonobo activation reg. race.
3219 * libspi/component.c
3220 (impl_accessibility_component_get_extents): make it match
3223 * libspi/registry.c (_registry_notify_listeners):
3224 re-remove X headers & reconcile conflicts.
3225 (spi_listener_struct_free): bad conflict resolve.
3226 (impl_accessibility_registry_register_application):
3227 more bad merging fixed.
3228 (impl_accessibility_registry_deregister_application): ditto.
3229 (spi_registry_new): ditto.
3230 (spi_registry_init): don't have an applications field.
3232 [ merge fixups2 branch to here ]
3233 2001-12-07 Michael Meeks <michael@ximian.com>
3235 * test/simple-at.c (report_focus_event),
3236 (report_focussed_accessible): remove g_warning debug.
3238 2001-12-07 Michael Meeks <michael@ximian.com>
3240 * test/test-simple.c (validate_tree): comment out some checks.
3241 (test_desktop): app now not registered idly - horay.
3243 2001-12-07 Michael Meeks <michael@ximian.com>
3245 * cspi/spi_registry.c
3246 (registerAccessibleKeystrokeListener): clean, stop it leaking
3247 great swathes of memory, and device event controller references.
3248 ensure we always pass valid sequences.
3249 (deregisterAccessibleKeystrokeListener): ditto.
3250 (generateKeyEvent): upd.
3252 * at-bridge/bridge.c (bridge_key_listener): handle
3253 registry dead exception gracefully.
3254 (bridge_focus_tracker, emit_eventv): free ev.
3256 * test/simple-at.c (report_focus_event): fix polarity.
3258 * libspi/application.c (notify_listeners): kill the ev
3259 argument, and make sure we init the ev we use.
3260 (spi_application_object_event_listener): split out a chunk
3261 (get_atk_object_ref): here & fixup.
3262 (reverse_lookup_name_for_toolkit_event): make const.
3263 (spi_application_toolkit_event_listener): fixup, kill leaks
3266 * at-bridge/bridge.c (register_atk_event_listeners):
3267 don't unref the noop object - causes grief.
3269 * libspi/registry.c: remove the X headers.
3270 turn off the debug churn.
3272 * libspi/accessible.c (spi_accessible_new_return): only
3273 release the ref if we are supposed to [doh]
3275 * test/simple-at.c (report_button_press, report_focus_event):
3276 guard vs. unexpected exit.
3278 * at-bridge/bridge.c (gtk_module_init): prune printf.
3279 (bridge_exit_func): fix app unref.
3281 * libspi/Makefile.am: don't install registry or desktop.h
3283 * libspi/*.h: update includes.
3285 * libspi/application.h: don't include ourself, or
3286 other redundant headers.
3288 2001-12-06 Michael Meeks <michael@ximian.com>
3290 * libspi/accessible.c
3291 (get_accessible_from_servant): impl.
3292 Upd. all CORBA impl.s to use it killing cut and paste.
3294 * cspi/spi_main.c (cspi_cleanup): guard vs. double
3296 (SPI_init): register atexit cleanup handler here.
3298 2001-12-06 Michael Meeks <michael@ximian.com>
3300 * at-bridge/bridge.c (gtk_module_init): g_error on
3301 activation exception
3303 2001-12-06 Michael Meeks <michael@ximian.com>
3305 * at-bridge/bridge.c (gtk_module_init): some sort of
3306 confusing merge clash - reverted.
3307 (bridge_idle_init): ditto.
3309 * test/test-simple.c (main, utterable_normal_derefs):
3310 merge from Bill - somehow not committed.
3312 2001-12-06 Michael Meeks <michael@ximian.com>
3314 * libspi/value.c (spi_value_class_init): upd.
3315 (spi_value_finalize): kill.
3317 * libspi/table.c (spi_table_finalize): kill.
3318 (spi_table_interface_new): upd.
3319 (spi_table_class_init): upd.
3320 (get_table_from_servant): impl.
3321 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3323 * libspi/selection.c (spi_selection_finalize): kill.
3324 (spi_selection_interface_new): upd.
3325 (spi_selection_class_init): upd.
3326 (get_selection_from_servant): impl.
3327 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3329 * libspi/relation.c (spi_relation_finalize): kill.
3330 (spi_relation_class_init, spi_relation_new): upd
3332 * libspi/image.c (spi_image_finalize): kill.
3333 (spi_image_class_init): upd.
3334 (spi_image_interface_new): upd.
3335 (get_image_from_servant): impl.
3336 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3338 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
3339 (spi_hyperlink_finalize): kill.
3340 (spi_hyperlink_new): upd.
3341 (get_hyperlink_from_servant): impl.
3342 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3344 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
3345 (spi_hypertext_finalize): kill.
3346 (spi_hypertext_class_init): upd.
3347 (get_hypertext_from_servant): impl.
3348 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3350 * libspi/editabletext.c (spi_editable_text_finalize): kill.
3351 (spi_editable_text_interface_new): upd.
3352 (get_editable_text_from_servant): impl.
3353 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3355 * libspi/text.c (get_text_from_servant): impl.
3356 All impls - update to use it killing more cut and paste,
3357 also fix bad string returns on duff args ( a somewhat
3358 impossible case to handle - but hey ).
3359 (spi_text_construct): impl.
3360 (spi_text_interface_new): upd.
3361 (spi_text_object_finalize): kill.
3363 * libspi/component.c
3364 (accessibility_component_object_finalize): kill.
3365 (spi_component_class_init): upd.
3366 (get_component_from_servant): impl. helper to kill cut & paste.
3367 (impl_accessibility_component_contains):
3368 (impl_accessibility_component_get_accessible_at_point):
3369 (impl_accessibility_component_get_position):
3370 (impl_accessibility_component_get_extents):
3371 (impl_accessibility_component_get_mdi_z_order):
3372 (impl_accessibility_component_get_layer):
3373 (spi_component_interface_new): upd.
3375 * libspi/action.c (spi_action_finalize): kill.
3376 (spi_action_class_init): upd. inherit from SpiObject.
3377 (spi_action_interface_new): upd.
3378 (get_action_from_servant): impl. helper to reduce cut & paste.
3379 (impl_getKeyBinding, impl_getName, impl_doAction),
3380 (impl_getDescription): Use it everywhere.
3382 * cspi/spi_main.c (get_live_refs): a pointer hash.
3383 (spi_object_hash, spi_object_equal): comment out.
3384 There are issues with CORBA object hashing that need
3387 * libspi/application.c (spi_application_init),
3388 (spi_application_new): upd.
3390 * libspi/accessible.c (spi_accessible_object_finalize): kill.
3391 (spi_accessible_class_init): upd.
3392 s/accessible/object/ in epv methods.
3394 2001-12-05 Bill Haneman <bill.haneman@sun.com>
3396 * at-bridge/bridge.c:
3397 Reorder the bridge initialization into the bridge gtk_module_init,
3398 an immediate call to bridge_register_app, and an idle_add for
3399 register_atk_event_listeners (the only code that *must* wait until
3400 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
3401 the activation, creates the application's Accessible object, and
3402 queues the bridge_idle_init function. Restored call to
3403 Accessibility_Registry_deregisterApplication().
3404 Prior to making this call we obtain a new reference to the
3405 registry, which is a temporary hack that helps us handle apps that
3406 shut down the bonobo mainloop before we get there.
3408 * libspi/registry.c:
3409 Fix string leakage in debug block, and don't segv if a an app
3410 dies before its event notifications have been propagated.
3413 Modify cspi_check_ev() to call g_warning() rather than g_error(),
3414 as stopgap measure until we get proper exception handling when
3415 objects die during or before interrogation.
3419 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
3420 Also changed default value of is_gnome_app to TRUE.
3423 * test/keysynth-demo.c:
3424 Changed use of SPI_init and SPI_event_main to reflect API change above.
3427 Made report_focus_event check the warning value from getName
3428 before reporting on focussed accessible; simplifies handling of
3429 notifications from dead objects.
3431 * test/test-simple.c: (Changes not in this patch since source is
3434 2001-12-05 Michael Meeks <michael@ximian.com>
3436 * registryd/registryd.c (main): protect against
3437 bonobo-activation startup race condition.
3439 * cspi/spi_main.c (cspi_object_add_check): cope
3440 with the exception elegantly.
3442 * idl/Accessible.idl: decl. ChildGone
3444 * libspi/desktop.c (spi_desktop_dispose): impl.
3445 (spi_desktop_class_init): upd.
3446 (spi_desktop_add_application),
3447 (spi_desktop_remove_application),
3448 (abnormal_application_termination): impl.
3449 (impl_desktop_get_child_at_index): re-impl.
3452 (impl_accessibility_registry_deregister_application),
3453 (impl_accessibility_registry_register_application):
3454 kill excessive debug clutter.
3456 * test/test-simple.c (test_misc): test some NULL
3457 tolerance. (main): upd.
3459 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
3460 implements no interfaces - so let's not crash.
3462 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
3464 * libspi/accessible.c (spi_accessible_new_return): impl.
3465 helper to calm the cut and paste, to cope with
3466 NULL AtkObjects effectively and efficiently, and to kill
3467 the referencing bugs.
3469 * libspi/table.c (impl_getAccessibleAt),
3470 (impl_getRowHeader, impl_getColumnHeader): upd.
3472 * libspi/hyperlink.c (impl_getObject): upd.
3474 * libspi/accessible.c
3475 (impl_accessibility_accessible_get_child_at_index): upd.
3477 * libspi/component.c
3478 (impl_accessibility_component_get_accessible_at_point): upd.
3480 * test/test-simple.c (test_editable_text, test_text): impl.
3483 * cspi/spi_editabletext.c
3484 (AccessibleEditableText_insertText): constify.
3486 * test/test-simple.c (focus_me): make more robust.
3488 * libspi/accessible.c: remove some printfs in methods that
3489 we test and work fine, so we can get a clean tree dump.
3491 * test/test-simple.c (validate_accessible),
3492 (validate_tree): make tree dumping pretty too.
3494 * at-bridge/bridge.c (bridge_signal_listener): upd. so
3495 it builds without debug on.
3497 * test/test-simple.c (validate_accessible): fix the most
3500 * cspi/spi_main.c (spi_object_release): leave the nicely
3501 blanked memory around if in debug mode.
3503 * cspi/spi-listener-impl.c (cspi_event): use add_check.
3505 [committed to fixups2]
3506 2001-12-05 Michael Meeks <michael@ximian.com>
3508 * libspi/editabletext.c
3509 (spi_editable_text_class_init): g_type_class_peek_parent,
3510 not interface peek - so we finalize cleanly.
3512 * libspi/accessible.c (spi_accessible_new): kill debug.
3514 * test/test-simple.c (validate_accessible): fix ref.
3515 leak, print strings before freeing them; sigh, comment a
3516 chunk out due to strangeness.
3517 (validate_tree): unref the child after use.
3519 * cspi/spi_component.c (AccessibleComponent_getLayer):
3520 add missing break statement, switch on zlayer not the
3521 uninitialized retval.
3523 * cspi/spi_main.c (cspi_object_add): add assert, local ref
3524 before (possibly re-entering) remote unref.
3526 * test/simple-at.c (main): unref the desktop.
3528 * cspi/spi_accessible.c (cspi_accessible_is_a): move
3531 * cspi/spi_main.c (cspi_accessible_is_a): here to
3532 isolate bonobo API usage more.
3534 * libspi/registry.c (impl_accessibility_registry_register_application):
3535 prune bogus comment.
3537 2001-12-04 Michael Meeks <michael@ximian.com>
3539 * test/test-simple.c (validate_tree): upd.
3540 IndexInParent check to make it more lucid.
3541 (validate_accessible): dump the tree.
3543 * libspi/accessible.c (de_register_public_ref),
3544 (get_public_refs): impl.
3545 (spi_accessible_new): make more efficient & intuitive.
3546 Now IndexInParent check works.
3548 2001-12-04 Michael Meeks <michael@ximian.com>
3550 * cspi/spi-util.h: remove.
3552 * cspi/spi.h: move SPI_freeString here
3554 * libspi/component.c (impl_accessibility_component_get_layer):
3556 (impl_accessibility_component_get_mdi_z_order): ditto,
3557 return -1 on error - is this ok ?
3559 * test/test-simple.c (test_application): impl.
3561 * cspi/spi_accessible.c (Accessible_getApplication),
3562 (Accessible_isApplication): impl.
3564 * libspi/registry.c (spi_listener_struct_free): release
3565 the CORBA reference too.
3567 * libspi/accessible.c
3568 (impl_accessibility_accessible_get_parent): fix ref leak.
3570 * libspi/registry.c (spi_registry_new): make the registry
3571 immortal - we don't want it to go away ever.
3573 * libspi/application.c
3574 (spi_accessible_application_finalize): impl. cleanup.
3576 * cspi/spi_registry.c
3577 (deregisterGlobalEventListenerAll),
3578 (deregisterGlobalEventListener),
3579 (deregisterAccessibleKeystrokeListener): fix ref leak.
3581 * cspi/spi_main.c (SPI_init): remove redundant ref.
3583 * test/test-simple.c (unutterable_horror): impl. to force a
3588 (impl_accessibility_registry_deregister_application): release
3589 the application when we de-register it.
3591 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
3592 until we have the infastructure to get it right.
3594 2001-12-03 Michael Meeks <michael@ximian.com>
3596 * libspi/Makefile.am: only build eventlistener.[ch]
3598 * libspi/accessible.c
3599 (impl_accessibility_accessible_get_child_at_index): don't leak.
3601 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
3602 before we hit the idle handler.
3604 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
3605 debugging than exit.
3607 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
3609 * libspi/listener.c (impl_notify_event): check source
3610 not NIL before unref.
3612 * libspi/registry.c (impl_registry_notify_event): ditto.
3614 * libspi/eventlistener.c
3615 (impl_accessible_event_notify_event): unref the source.
3617 * libspi/accessibleeventlistener.c
3618 (impl_accessible_event_notify_event): unref the source.
3620 * idl/Event.idl: remove 'hash_id' attribute - of no
3623 * libspi/application.c (notify_listeners): upd list
3625 (spi_application_object_event_listener),
3626 (spi_application_toolkit_event_listener): upd to do correct
3630 (_registry_notify_listeners): update.
3631 (parse_event_type): this method also leaks like a sieve.
3632 (impl_accessibility_registry_deregister_global_event_listener):
3633 fix ETYPE_WINDOW case.
3635 * libspi/application.c
3636 (impl_accessibility_application_register_object_event_listener):
3639 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
3641 * libspi/hypertext.c (impl_getLink): ditto.
3643 * cspi/spi_main.c (cspi_object_add): remove
3644 bogus CORBA_Object_duplicate.
3646 * cspi/spi-listener-impl.c (cspi_event): dup/ref
3649 * cspi/spi_accessible.c
3650 (Accessible_getRelationSet): fix leak / referencing issue.
3652 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
3653 (cspi_object_add, cspi_object_unref): upd.
3654 (spi_object_release, get_live_refs): impl.
3655 (cspi_cleanup): simplify.
3657 * *.[ch]: s/boolean/SpiBoolean/
3659 * cspi/spi_accessible.c (role_names): actualy order so it
3660 corresponds with the enum !
3662 * test/test-simple.c (test_roles): check some role strings
3663 vs. enums to detect offset errors.
3665 2001-12-01 Michael Meeks <michael@ximian.com>
3667 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
3669 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
3671 (Accessible_getChildAtIndex): use cspi_add_check so we
3672 check the ev before using a (possibly) invalid value.
3674 * libspi/accessible.c
3675 (impl_accessibility_accessible_get_parent): don't segv
3678 * at-bridge/bridge.c (gtk_module_init): upd.
3679 (bridge_property_event_listener): don't leak strings
3681 (bridge_state_event_listener),
3682 (bridge_property_event_listener): don't use a static
3683 buffer in case of recursive event emission &
3684 re-enterancy - split out the swathe of cut and paste
3686 (emit_eventv): and fix 2 ref leaks here & comply to the
3688 (bridge_register_app): rename to
3689 (bridge_idle_init): this and kill arg parsing, split
3690 various inits & bonobo-activation registration to module
3691 init time, kill referencing error.
3692 (bridge_exit_func): fix the same leak.
3693 (bridge_focus_tracker): don't leak event structures
3695 (bridge_signal_listener): more leakage and cut & paste
3697 (bridge_key_listener): return the result - FIXME is
3698 this polarity correct ?
3699 (accessibility_keystroke_from_atk_key_event): rename
3700 (accessibility_init_keystroke_from_atk_key_event): and stop
3702 (gtk_module_init): return a value - not that it is checked by
3704 (bridge_key_listener): register my horror at casting between
3705 IDL defined structs.
3706 (bridge_get_registry): kill - not used.
3708 * cspi/spi_accessible.c (Accessible_getRole): make return const.
3710 * test/test-simple.c (test_roles): impl.
3711 (test_desktop, validate_accessible, validate_tree): impl.
3713 * cspi/spi_accessible.c (role_names): fixup bogus
3714 MAX_ROLES setup, make constants const for efficient linkage
3715 (AccessibleRole_getName): conform to coding style, make
3718 2001-11-30 Michael Meeks <michael@ximian.com>
3720 * cspi/spi.h: add missing prototype.
3722 * libspi/registry.c (spi_listener_struct_new): fix sig.
3724 * test/Makefile.am: add test-simple
3726 * test/test-simple.c: add
3728 * test/test.sh: add.
3730 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
3732 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
3733 do it straight - since otherwise we often get an activation race.
3735 [ work before Bill duplicated a chunk of it ... ]
3736 2001-11-30 Michael Meeks <michael@ximian.com>
3738 * libspi/keystrokelistener.c
3739 (spi_keystroke_listener_class_init): fixup arg
3742 * libspi/eventlistener.c
3743 (spi_event_listener_class_init): ditto.
3745 * tests/test.sh: add.
3747 * cspi/spi-listener-impl.h: update macros.
3749 * cspi/spi-listener-impl.c
3750 (cspi_event_listener_remove_callback): add
3751 correct pre-conditions.
3753 * cspi/spi_main.c (SPI_exit): guard vs. double
3754 exits, exit the mainloop nicely.
3755 (SPI_event_main): make more sense.
3756 (SPI_init): move the atexit evilness here so we
3757 always do it (yuck).
3758 (SPI_event_main): upd.
3760 * test/simple-at.c: update for listener changes.
3762 * registryd/registryd.c (main): prune kruft.
3764 * libspi/libspi.h: upd.
3766 * libspi/eventlistener.[ch]: rename broken macros.
3768 * libspi/accessibleeventlistener.[ch]: remove.
3770 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
3772 * test/test-simple.c: Add - automated tests.
3774 * cspi/spi-listener-impl.c (cspi_event),
3775 (cspi_key_event): add user_data to invoke.
3776 (cspi_keystroke_listener_finalize): impl.
3777 (cspi_keystroke_listener_class_init): upd.
3780 (createAccessibleEventListener),
3781 (AccessibleEventListener_addCallback),
3782 (createAccessibleKeystrokeListener),
3783 (AccessibleKeystrokeListener_addCallback): upd.
3785 * libspi/deviceeventcontroller.c
3786 (spi_device_event_controller_check_key_event): add public proto.
3789 (impl_accessibility_registry_deregister_global_event_listener):
3790 always init listeners.
3791 (_registry_notify_listeners): yes it is.
3793 * cspi/spi-listener-impl.c (cspi_key_event):
3795 (cspi_event_listener_finalize): impl.
3796 (cspi_event_listener_class_init): hook up.
3797 (event_handler_new, event_handler_free),
3798 (event_list_remove_by_callback): impl.
3799 (cspi_event_listener_remove_callback),
3800 (cspi_keystroke_listener_remove_callback),
3801 (cspi_keystroke_listener_add_callback),
3802 (cspi_event_listener_add_callback): upd.
3804 * libspi/keystrokelistener.c
3805 (keystroke_listener_object_finalize): kill
3806 (spi_keystroke_listener_class_init): upd.
3807 (spi_keystroke_listener_add_callback),
3808 (spi_keystroke_listener_remove_callback): kill,
3810 (impl_key_event): prune drasticaly.
3812 * libspi/eventlistener.c
3813 (spi_event_listener_add_callback),
3814 (spi_event_listener_remove_callback): kill, use
3816 (impl_accessible_event_notify_event): upd.
3817 (spi_event_listener_object_finalize): remove.
3819 * libspi/Makefile.am: use eventlistener.[ch]
3821 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3823 * libspi/registry.c (_registry_notify_listeners):
3824 Changed listener loop iteration to use preferred convention.
3825 Got rid of string memory leaks caused be calling g_strconcat
3826 inside function calls.
3828 * libspi/registry.c (parse_event_type):
3829 Stopped g_strconcat memory leaks, free the g_strsplit return,
3830 g_strdup the split pieces when used, etc.
3832 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3835 Change method 'compare' to return a 'difference set' rather than
3836 taking a StateSet as an out parameter (more Java-friendly).
3838 * idl/Accessible.idl:
3839 Added CORBA struct 'BoundingBox', to faciliate API changes below:
3841 * idl/Component.idl:
3843 Changed methods 'getExtents' and 'getImageExtents' in these
3844 interfaces to return a BoundingBox structure.
3845 (getPosition and getSize are redundant and possibly should be
3846 removed, rather than creating a corresponding Point struct.)
3848 * cspi/spi_component.c:
3849 Modify implementation of getExtents to reflect the above IDL
3854 Add (missing) AccessibleImage_getExtents () API.
3856 * docs/reference/cspi/at-spi-cspi-sections.txt:
3857 Added AccessibleImage_getImageExtents () to docs.
3859 2001-12-03 Bill Haneman <bill.haneman@sun.com>
3861 * idl/Component.idl:
3862 Added two methods, getLayer () and getMDIZOrder (), to reflect
3863 the new ATK methods atk_object_get_layer and
3864 atk_object_get_mdi_z_order. (Which arguably should be part of the
3865 AtkComponent API and AtkObject). Also added an enum,
3866 ComponentLayer, for the first method's return value.
3868 * libspi/component.c:
3869 Added implementations for these methods.
3871 * cspi/spi_component.c:
3873 Added cspi binding methods for above,
3874 AccessibleComponent_getLayer() and
3875 AccessibleComponent_getMDIZOrder().
3876 Added cspi enum 'AccessibleComponentLayer'.
3878 * docs/reference/cspi/at-spi-cspi-sections.txt:
3879 Added above methods to docs.
3883 Changed typedef for 'boolean' type (and all references to it) to
3884 SPIBoolean, to avoid keyword clashes with C++.
3887 Changed usages of 'boolean' to SPIBoolean.
3889 * test/keysynth-demo.c:
3890 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
3891 app), except where SPIBoolean is required by the callbacks API.
3893 2001-12-02 Bill Haneman <bill.haneman@sun.com>
3895 * cspi/spi_registry.c:
3896 Removed obsolete X event loop for passive keygrabs (which now
3899 * registryd/registryd.c:
3900 Removed unnecessary call to gdk_init() [cruft]. This also allows
3901 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
3904 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3906 * docs/reference/cspi:
3907 Included docs for SPI_freeString in generated documentation.
3910 Renamed spi_freeString to SPI_freeString, for consistency. Added
3911 documentation for this function.
3914 Renamed spi_freeString to SPI_freeString, for consistency.
3915 Removed obsolete method declaration string_from_corba_string.
3917 * test/keysynth-demo.c:
3918 Small tweak to comments.
3921 Stopped leaking the strings returned from CSPI.
3923 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3925 Merged Michael's branch (see his ChangeLog entries below).
3927 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
3928 bridge is alive, release on exit.
3930 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
3931 Fix type check macro.
3934 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
3937 Added is_gnome_app static, and method cspi_is_gnome_app(),
3938 so we can call the appropriate shutdown routine at exit in SPI_exit.
3940 * cspi/spi_main.c (cspi_object_ref):
3941 Duplicate the corba object passed in, since we're keeping it around.
3943 * cspi/SPI_exit.c, cspi_cleanup:
3944 Moved the releasing of the live refs to its own function, so we
3945 can put it in g_atexit (). Call the appropriate shutdown API
3946 depending on whethe calling client is a gnome app or not
3947 (bonobo_main_quit or CORBA_ORB_shutdown).
3949 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
3950 Unref the listener when this method is called, after
3951 deregistration. Updated the API docs to note this behavior.
3953 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
3954 Bugfixes: Ref the bonobo object when returning a parent or child
3955 reference, or an AccessibleRelation. Generally made sure
3956 BonoboObject refcount is incremented whenever we return an
3959 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
3960 Fixed typo/bug in signal declaration.
3962 * libspi/accessibleeventlistener.h:
3965 * libspi/application.c (spi_application_new):
3966 Fixed leak in initialization.
3969 Remembered to increment bonobo-object refcount when returning
3970 children (applications) from desktop object.
3971 Added (empty) finalize method.
3973 * libspi/deviceeventcontroller.c:
3974 Hold a ref to listeners inside DEControllerKeyListeners.
3975 Added dec_key_listener_free() method. Use prepend instead of
3976 append in key_listener list. Fixed some refcount madness and
3977 leaks in the listener registration/deregistration - deregistration
3978 now calls dec_key_listener_free() on listeners, and on the
3979 temporarily constructed dec_key_listener() used to perform the search/match.
3981 * libspi/hypertext.c (spi_hypertest_finalize):
3982 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
3983 class. Also fixed spi_hypertext_interface_new() and
3984 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
3986 * libspi/hypertext.h:
3987 Removed pointless and duplicate AtkObject pointer from
3990 * libspi/keystrokelistener.c:
3991 Fixed incorrect type of keystroke_listener_parent_class,
3992 renamed keystroke_listener_object_finalize to
3993 spi_keystroke_listener_object_finalize.
3994 Fixed typo in signal declaration
3995 (spi_keystroke_listener_class_init).
3997 * libspi/registry.c:
3998 Added funcsions spi_listener_struct_new() and
3999 spi_listener_struct_free() to help with memory management issues.
4000 We also now use these methods instead of gnew + poking stuff into
4001 the struct, and to decrement listener counts/free the listeners
4002 when deregistering them.
4003 Fix more refcount bugs in getDesktop() and
4004 getDeviceEventController().
4007 De-ref the desktop after enumerating the applications. Explicitly
4008 decrement the refcounts on the created listeners on exit (using
4009 _unref for keystroke listeners, and via the
4010 deregisterGlobalEventListenerAll command for other event
4013 2001-11-27 Michael Meeks <michael@ximian.com>
4015 * cspi/spi-listener.h: fixup enum.
4017 2001-11-27 Michael Meeks <michael@ximian.com>
4019 * cspi/spi-listener-impl.c (cspi_event_listener_new),
4020 (cspi_keystroke_listener_new): Use the cspi variants.
4022 2001-11-26 Michael Meeks <michael@ximian.com>
4024 * test/keysynth-demo.c: fix 2 compile warnings, missing
4027 * test/simple-at.c (report_focussed_accessible),
4028 (report_focus_event, report_button_press),
4029 (check_property_change, is_command_key),
4030 (report_ordinary_key_event, report_command_key_event): upd.
4032 * util/mag_client.h: include pre-requisites.
4034 * libspi/accessibleeventlistener.c
4035 (spi_event_listener_object_finalize): free any lingering
4038 * libspi/keystrokelistener.c
4039 (keystroke_listener_object_finalize): ditto.
4041 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4042 callbacks, with cspi types.
4044 * cspi/spi_event.c (createAccessibleEventListener): chain to
4045 (AccessibleEventListener_addCallback): here.
4046 (createAccessibleKeystrokeListener): chain to
4047 (AccessibleKeystrokeListener_addCallback): here.
4049 * libspi/keystrokelistener.c
4050 (spi_keystroke_listener_class_init): add signal.
4051 (impl_key_event): emit the event.
4052 (boolean_handled_accumulator): impl.
4053 (marshal_BOOLEAN__POINTER): add, gack.
4055 * libspi/accessibleeventlistener.c
4056 (spi_event_listener_class_init): add signal.
4057 (impl_accessible_event_notify_event): emit the signal &
4058 make the loop efficient.
4059 (spi_event_listener_add_callback): prepend the callback.
4061 * libspi/accessibleeventlistener.h: add an 'event' signal,
4062 decl type on callback.
4064 * libspi/keystrokelistener.h: ditto.
4066 * cspi/spi-listener.h: make methods typesafe and
4067 make them use the new event typedefs.
4069 * test/simple-at.c (report_focussed_accessible):
4070 include mag_client.h
4071 Use *(void *)text_interface not the other thing.
4073 * configure.in: add gtk to registryd bits - since we use
4076 * util/magnifier.c: include libbonobo.h
4078 2001-11-25 Bill Haneman <bill.haneman@sun.com>
4080 * test/keysynth-demo.c:
4081 Turned this into a simple scanning keyboard, to demonstrate the
4082 use of g_timeout_add () as a means of creating timers for
4083 scanning, and the use of GtkStyle for visually indicating when
4084 virtual keyboard elements are selected.
4086 keysynth-demo now listens to any keyboard keys with zero-valued
4087 keycodes (i.e. 'unused' keys) and interprets them as
4090 Reworked the shiftlatch code so that shift-down state isn't held
4091 for long periods (it's only synthesized immediately prior to
4092 the keysynth event it's modifying). Note that shiftlatch in this
4093 demo is a convenience, not intended to take the place of AccessX
4094 which is the better choice for getting 'sticky' modifier keys.
4096 * libspi/deviceeventcontroller.c:
4097 * at-bridge/bridge.c:
4098 * cspi/spi_registry.c:
4099 Removed some debug print stuff, and put other verbosity in #ifdef
4104 Implemented some more of the magnifier IDL for the simple
4105 magnifier: namely, getZoomRegionParams.
4106 Added mag_x and mag_y members to MagnifierData struct, aid of this
4108 Added GtkWindow::realize signal handler to magnifier, to keep it
4109 from receiving keyboard focus from the WM.
4111 2001-11-23 Mark McLoughlin <mark@skynet.ie>
4113 * cspi/spi-private.h: my guess at what michael forgot
4114 before he ran off to NZ :-)
4116 2001-11-23 Michael Meeks <michael@ximian.com>
4118 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4119 comment out non existant method invoke so we link.
4121 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4122 use bonobo_exception_get_text for more friendly warnings.
4124 * cspi/spi.c (Obj_Add): move into spi_main & rename
4125 spi_object_add; kill spi.c
4127 * cspi/spi_registry.c
4128 (deregisterGlobalEventListener),
4129 (deregisterGlobalEventListenerAll),
4130 (registerGlobalEventListener): fix exception leaks.
4132 * cspi/spi_main.c (spi_exception): impl. helper, so we
4133 don't leak exceptions.
4135 * cspi/spi_selection.c
4136 (AccessibleSelection_deselectSelectedChild): return the
4139 * cspi/spi_main.c (spi_ev): impl; hack - gack.
4140 (spi_registry): ditto.
4141 (SPI_init): guard against double inits.
4143 * cspi/*.c: use spi_ev (), and spi_registry () where
4144 appropriate - a temporary hack until we have something
4145 better. Use spi_object_add
4147 2001-11-22 Michael Meeks <michael@ximian.com>
4149 * cspi/Makefile.am: re organise, install the headers.
4151 * cspi/*.h: add G_BEGIN/END_DECLS
4153 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4156 Added non-preemptive keylistener for key events with no modifiers
4157 and shift-only modifier.
4159 * libspi/keystrokelistener.c:
4160 Removed some verbose diagnostics printout.
4162 * cspi/spi_registry.c:
4163 Fixed a bug that caused all key listeners to be registered as
4166 * libspi/deviceeventcontroller.c:
4167 Fixed bug that caused XGrabKey (preemptive key grab) to be called
4168 for non-preemptive key masks.
4171 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4173 * docs/reference/idl/at-spi-idl-docs.sgml:
4174 * docs/reference/idl/at-spi-idl-sections.txt:
4175 * docs/reference/idl/at-spi-idl-overrides.txt:
4176 Added missing files.
4178 * docs/reference/Makefile.am:
4179 removed idl from SUBDIRS until we can figure a way to get gtk-doc
4180 to scan the IDL files :-(
4185 Added .cvsignore files.
4187 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4189 * libspi/deviceeventcontroller.c:
4190 * libspi/keystrokelistener.c:
4192 * cspi/spi_registry.c:
4193 Added filters for KeySets, KeyEventSeq, and event types to key
4194 event dispatching, so listeners should only receive those events
4195 that they requested :-)
4197 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4202 * docs/reference:Makefile.am:
4203 * docs/reference/cspi:
4204 * docs/reference/cspi:Makefile.am:
4205 * docs/reference/cspi:tmpl:
4206 * docs/reference/cspi:tmpl:*.sgml:
4207 * docs/reference/idl:
4208 * docs/reference/idl:Makefile.am:
4209 * docs/reference/idl:at-spi-idl-sections.txt:
4210 * docs/reference/idl:at-spi-idl-docs.sgml:
4211 * docs/reference/idl:tmpl:
4212 * docs/reference/idl:tmpl:*.sgml:
4214 Restructured docs directory to allow separate 'reference' docs
4215 section, and forked idl and cspi docs. Added the sgml template
4216 files to CVS. Added the first sections/structural sgml for the
4219 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
4221 * configure.in, libspi/Makefile.am: find libXtst.
4223 2001-11-21 Michael Meeks <michael@ximian.com>
4225 * test/accessx-gui.c: s/spi_value/value/ - doh.
4227 * libspi/base.[ch]: add.
4229 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4231 * idl/Accessible.idl:
4232 * idl/Application.idl:
4235 Started gtk-doc cleanup on IDL.
4237 * libspi/deviceeventcontroller.c:
4238 Added and connected non-preemptive key notification from the
4239 toolkits (in addition to the pre-emptive support from XServer
4240 which we had before, but which causes 'focus flashing'). Filters
4241 are presently limited to key modifiers and global/non-global,
4242 KeySets are presently ignored, as are KeyEvent masks.
4244 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
4245 structs into the persistant structure rather than just storing
4246 pointers to things that might not persist across servant
4249 The XGrabKey call now does async keygrabs, because synchronous
4250 ones were deadlocking with GDK_event code in a very nasty way.
4252 Added boolean to internal method notify_keylisteners, to indicate
4253 whether the event came from the 'toolkit source' or the 'global
4254 (XServer) source' - this is used in the notification process to
4255 determine which listeners to send the event to.
4257 deviceeventcontroller.c is now warning-free.
4259 * libspi/registry.c:
4260 Fixed regression in application de-registration.
4261 Also fixed some really brain-dead weirdness having to do with
4262 event dispatching - event structs are now duplicated before being
4263 re-marshalled in the dispatch to listeners. This also fixes a
4264 Solaris build problem.
4267 2001-11-20 Michael Meeks <michael@ximian.com>
4270 (impl_accessibility_registry_deregister_global_event_listener):
4273 * libspi/deviceeventcontroller.c
4274 (spi_device_event_controller_check_key_event): return
4275 FALSE on no virtual method.
4277 * libspi/*..h: make includes work on a correctly pathed install.
4279 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
4281 * libspi/application.h: kill unused ( and whacked out )
4282 gboolean *spi_application_set_id (AtkObject *app, long id);
4284 2001-11-20 Michael Meeks <michael@ximian.com>
4286 * libspi/*.[ch]: further convert to bonobo's type func
4287 macros, remove redundnant casts etc.
4289 * libspi/text.c s/accessibility_text/spi_text/g,
4290 re-order to de-cruft.
4292 * libspi/hypertext.c: re-order to kill a huge slew
4293 of redundant forward decls.
4295 * libspi/relation.c: ditto.
4297 * libspi/image.c: ditto.
4299 * */.cvsignore: update
4301 2001-11-20 Michael Meeks <michael@ximian.com>
4303 * libspi/deviceeventcontroller.c
4304 (_controller_register_with_devices): use g_getenv,
4305 kill stdlib.h include.
4307 * libspi/keystrokelistener.c
4308 (spi_keystroke_listener_get_type): kill
4309 (spi_keystroke_listener_class_init),
4310 (spi_keystroke_listener_init): rename to this.
4312 * libspi/text.c (impl_getAttributes): fix warning / bug.
4314 * libspi/*.[ch]: more headers, includes and over commenting.
4316 2001-11-20 Michael Meeks <michael@ximian.com>
4318 * libspi/*.[ch]: fixup headers, includes and over commenting.
4320 * libspi/image.c (impl__get_imageDescription): const
4321 correctness warning fix. remove redundant casting.
4323 * libspi/table.c (impl_getRowDescription): ditto.
4324 (impl_getColumnDescription): ditto.
4326 * libspi/libspi.h: add.
4328 2001-11-19 Michael Meeks <michael@ximian.com>
4330 * libspi/editabletext.c (impl_setAttributes): fix warnings.
4332 * libspi/component.c (accessibility_component_get_type):
4333 rename to (spi_component_get_type): and macroify.
4334 (accessibility_component_init): rename to
4335 (spi_component_init): this
4336 (accessibility_component_class_init): rename to
4337 (spi_component_class_init): this
4339 * libspi/action.c (spi_action_get_type): kill, use the macro.
4341 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
4344 * libspi/application.c (spi_application_object_event_listener),
4345 (impl_accessibility_application_register_object_event_listener):
4346 warning fixes / const understanding updates.
4348 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
4351 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4353 * libspi/spi_accessible.c: Added docs and C bindings for
4354 AccessibleStateSet. (No implementations yet). Documentation
4355 coverage for C bindings now 100%. Made docs for event listeners
4360 boolean notifyListenersSync (in DeviceEventListener listener,
4361 in DeviceEvent event);
4363 oneway void notifyListenersAsync (in DeviceEventListener listener,
4364 in DeviceEvent event);
4366 Added DeviceEventListener and DeviceEvent structs (may deprecate
4367 KeyStroke and KeystrokeListener in favor of this generic
4368 event/listener framework for devices).
4370 * libspi/deviceeventcontroller.c:
4372 Changed some key listener code to take masks, etc., and paved the
4373 way for integration of toolkit/non-preemptive key events. Changed
4374 signatures of some internal methods.
4376 * at-bridge/bridge.c:
4377 Fixed regression connecting to interface signals, apparently
4378 caused by GTK+ changes.
4380 Added an internal bridge_state_listener to deal with
4381 property-change:accessible-state signals.
4383 Changed the key_listeners GList to store structs (including masks,
4384 etc.) instead of just CORBA_Objects (required for full
4385 implementation of key listener API).
4387 Connected the bridge to all currently supported Atk signals.
4388 Events now supported:
4389 object:property-change
4390 object:property-change:accessible-name
4391 object:property-change:accessible-state
4392 object:property-change:accessible-description
4393 object:property-change:accessible-parent
4394 object:property-change:accessible-value
4395 object:property-change:accessible-role
4396 object:property-change:accessible-table-caption
4397 object:property-change:accessible-table-column-description
4398 object:property-change:accessible-table-column-header
4399 object:property-change:accessible-table-row-description
4400 object:property-change:accessible-table-row-header
4401 object:property-change:accessible-table-summary
4402 object:children-changed
4403 object:visible-data-changed
4404 object:selection-changed
4405 object:text-selection-changed
4407 object:text-caret-moved
4409 object:row-reordered
4411 object:column-inserted
4412 object:column-reordered
4413 object:column-deleted
4414 object:model-changed
4416 2001-11-16 Bill Haneman <bill.haneman@sun.com>
4418 * libspi/hyperlink.c,h:
4419 Fixed some broken stuff in hyperlink.
4421 * libspi/relation.h:
4422 * libspi/relation.c:
4423 * cspi/spi_accessible.c:
4424 Initial implementations of AccessibleRelation methods, and docs.
4426 * libspi/accessible.c:
4427 Fixed a bug that caused SEGV if an accessible
4428 object's description is NULL, and a client
4429 requests it. An empty string is now returned.
4431 * cspi/spi_editabletext.c:
4432 * cspi/spi_hypertext.c:
4434 * cspi/spi_hyperlink.c:
4438 Doc coverage now 95%.
4440 2001-11-16 Bill Haneman <bill.haneman@sun.com>
4442 One last namespacing revision:
4443 * libspi/accessibleeventlistener.[ch]:
4444 Renamed SpiAccessibleEventListener to SpiEventListener,
4445 (no need for two namespaces ;-)
4447 And lots of documentation fixes:
4449 * docs/at-spi-docs.sgml:
4450 Fixed 'underscore vs. hyphen' bug that was preventing
4451 the gtk-doc API docs from being automatically generated.
4454 * cspi/spi-listener.h
4456 * cspi/spi_accessible.c
4458 * cspi/spi_application.c
4459 * cspi/spi_component.c
4460 * cspi/spi_editabletext.c
4462 * cspi/spi_hypertext.c
4464 * cspi/spi_registry.c
4465 * cspi/spi_selection.c
4469 * docs/at-spi-docs.sgml
4470 * docs/at-spi-sections.txt
4472 Added and fixed up gtk-doc documentation in cspi.
4474 Interfaces now (fully) documented (subject to revision and enhancement):
4476 Event Listener Support
4478 AccessibleApplication
4482 AccessibleEditableText
4489 AccessibleRelationSet
4494 2001-11-14 Bill Haneman <bill.haneman@sun.com>
4496 * at-bridge/bridge.c:
4497 Initial work for toolkit-level key snooper connection by bridge.
4502 New typedefs and fixes to support new namespacing, and cleaner
4503 separation of cspi bindings from libspi bonobo implementation.
4504 Removed inconsistent and extraneous Spi* namespace prefix that
4505 had crept into cspi headers.
4506 Lots of comment fixes that sed had missed.
4508 * cspi/spi-roletypes.h:
4509 * cspi/spi-statetypes.h:
4510 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
4511 to AccessibleRoleType.
4513 * libspi/accessibleeventlistener.h:
4514 Fixed minor namespacing weirdness.
4516 * libspi/deviceeventcontroller.c:
4517 Reordered some internal API for device listeners.
4518 Changed the key registry final boolean to 'is_system_global'
4519 rather than 'is_synchronous', which is more descriptive of its
4521 Added spi_device_event_controller_new().
4522 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
4524 * libspi/keystrokelistener.[ch]:
4525 Namespaced KeystrokeListener to SpiKeystrokeListener.
4526 Changed uses of keymasks to use SPI_ prefix, and did other
4529 * libspi/keymasks.h:
4530 Namespaced keymask constants with SPI_ prefix.
4532 * libspi/registry.c:
4533 Some warning fixes, and knock-on fixes from namespace changes.
4536 Added rules for accessx-gui test program.
4538 * test/accessx-gui.c:
4539 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
4540 utility. It doesn't actually use at-spi, but it's still cool and
4543 * test/keysynth-demo.c:
4547 Fixes so that these test clients work properly with the namespaced
4548 libraries. (Incompletely tested for technical reasons, fixes may follow)
4551 2001-11-13 Michael Meeks <michael@ximian.com>
4553 * libspi/application.c
4554 (impl_accessibility_application_get_version),
4555 (impl_accessibility_application_get_toolkit_name):
4557 (impl_accessibility_application_set_id),
4558 (impl_accessibility_application_get_id): remove
4559 redundant casting code.
4561 * libspi/action.c (impl_getDescription): fix warnings.
4563 * libspi/accessible.c
4564 (impl_accessibility_accessible_get_parent),
4565 (impl_accessibility_accessible_get_child_at_index),
4566 (impl_accessibility_accessible_get_state),
4567 (impl_accessibility_accessible_get_relation_set):
4568 warning fixes & include action.h
4570 2001-11-13 Michael Meeks <michael@ximian.com>
4572 * *.[ch] fix bits I screwed up:
4574 s/([^ \tb(\*\&\?\",])spi_/\1/g;
4575 s/([^ \tb(\*\&\?\",])Spi/\1/g;
4577 2001-11-13 Michael Meeks <michael@ximian.com>
4579 * *.[ch] Namespace libspi into spi_ and Spi.
4581 2001-13-11 Michael Meeks <michael@ximian.com>
4583 * Makefile.am: dist & install at-spi-1.0.pc
4585 * libspi/Makefile.am: install into at-spi-1.0
4587 * idl/Makefile.am (idldir): install into at-spi-1.0
4589 * at-spi-1.0.pc.in: add.
4591 * configure.in: build it.
4593 2001-11-12 Bill Haneman <bill.haneman@sun.com>
4595 * test/keysynth-demo.c:
4596 Use a 'realize' signal-handler to set the WM properties for
4597 the virtual keyboard, rather than making it a "POPUP" type
4598 override-redirect window (thanks to anders carlsson for that
4601 2001-11-11 Bill Haneman <bill.haneman@sun.com>
4604 * test/keysynth-demo.c:
4605 Added new test of key synthesis, which creates a simple
4606 (mouse-operated) onscreen keyboard. It inserts key events into
4607 the currently-focused window, thus it does not grab keyboard focus
4610 * cspi/spi_registry.c:
4611 Added C binding for AT-SPI generateKeyEvent.
4613 * libspi/deviceeventcontroller.c:
4614 Added call to XFilterEvent so that key listener works with XIM (we
4615 hope). Added event_synth_type to generateKeyEvent, so that we can
4616 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
4617 synthesize a press/release pair for KeySyms.
4619 2001-11-09 Bill Haneman <bill.haneman@sun.com>
4621 * libspi/Makefile.am:
4622 * registryd/Makefile.am:
4623 (temporary) hack to include libXtst in libspi and registryd.
4624 (Needed for keystroke synthesis, see below).
4627 Improved API for registerKeystrokeListener, in accordance with
4628 discussions with Gnopernicus team and X server research.
4630 * libspi/registry.c:
4631 * libspi/deviceeventcontroller.c:
4632 * libspi/accessible.c:
4633 * libspi/keystrokelistener.c:
4634 Changes and fixes to support keylisteners for potentially
4635 consumed key events (that is, 'passive grabs').
4636 Added implementation for generateKeyEvent() [untested].
4639 Changes to registerKeystrokeListener() API, as above.
4640 Added deregisterGlobalEventListenerAll(), and
4641 deregisterKeystrokeListener(), which are needed for clean exit of
4643 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
4644 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
4646 * cspi/spi_registry.c:
4647 Added implementations of function prototypes mentioned above.
4649 * registryd/registryd.c:
4650 Added the key listener event source as a g_timeout(), to allow
4651 receipt of key events that are not caught by GDK (since GDK
4652 doesn't support passive keygrabs, this was necessary).
4655 Changed to attach a keylistener to 'Alt' keys, and
4656 respond to the following keycommands: Alt-M (toggle magnifier);
4657 Alt-F (toggle speech); Alt-Q (quit).
4658 Added an exit routine to deregister the listeners, and a key
4659 listener that prints some key info to the console when a key
4660 matches the listener mask (and is thus received by the listener).
4662 * util/idl/Magnifier.idl:
4663 Changes to magnifier API to support multiple zoom regions,
4664 non-uniform scaling in x and y, markDirty, and a host of other
4665 features that would be useful to magnification.
4668 * util/mag_client.c:
4669 * util/mag_client.h:
4670 * util/mag_control.c:
4672 Source code changes to support the above IDL changes.
4675 As above, and also changes to use a (slower) generic conversion
4676 path for colormap conversions, since the fast RGB conversions have been
4677 reported to fail for 16-bit displays.
4679 2001-10-26 Michael Meeks <michael@ximian.com>
4681 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
4683 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
4685 * at-bridge/Makefile.am: fix LDFLAGS.
4687 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4689 * at-bridge/bridge.c:
4690 Re-worked listeners for toolkit events, now we have signal
4691 and property listeners. Added a private method
4692 register_atk_event_listeners(), which registers with the
4693 various atk and gtk signals we need to monitor in order to emit
4695 Added emission hook for AtkObject:property-change events, to
4696 support the 'property listeners'.
4697 Fixed some alloc()s of Accessibility_Event structs to use CORBA
4700 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
4701 which emit warnings and exit, respectively, if CORBA errors occur
4702 during remote calls, and we now use these methods to check most of
4703 our CORBA calls in the C bindings.
4705 * cspi/spi_accessible.c:
4706 Changed AccessibleSelection_refSelectedChild() to
4707 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
4708 now increment refcounts.
4710 * cspi/spi_component.c:
4711 Fixed some long pointer casts (dangerous!) to pass pointers to
4712 CORBA_longs of the proper type to the CORBA stubs, and copy the
4713 data into the longs that were passed into the C bindings code.
4715 * at-bridge/bridge.c:
4717 * libspi/accessible.c:
4718 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
4719 hyperlinks, AtkHyperlink is an object type.
4721 * libspi/application.c:
4722 Added various conversions to and from "generic" event types and
4723 atk-specific types; this is really part of the 'bridge'
4724 implementation but is valid for all AtkObject-based accessibility
4727 * libspi/editabletext.c:
4728 Fixed nasty bug wherein editable text's finalize method was
4729 unref'ing tha AtkObject reference that the text parent class was
4730 about to unref _again_. There was also a nasty inheritance bug
4731 that meant that the AccessibleEditableText class was corrupt.
4733 * libspi/selection.c:
4734 Provided implementations for some selection API that was broken.
4736 * idl/Application.idl:
4737 Added registerObjectEventListener () method.
4740 Fixed a number of return values that were Bonobo_Unknowns from
4741 bonobo_object_corba_objref(), which I
4742 forgot to dup before returning. Changed instances of
4743 bonobo_object_corba_objref (bonobo_object(o)) to
4744 BONOBO_OBJREF(o), for concision and clarity.
4746 2001-10-13 Louise Miller <louise.miller@sun.com>
4748 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
4749 idl/Event.idl, idl/Registry.idl
4750 Changed these files to include Bonobo_Unknown.idl instead
4753 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
4755 * libspi/component.c libspi/component.h:
4756 Fixed typo. Added assertions for object checks in
4757 AccessibleComponent code.
4759 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4761 * idl/Accessible.idl:
4762 Added 'isEqual (Accessible *object)'
4763 method for Accessible. (Not Yet Implemented).
4766 Changed signature of registerKeystrokeListener() to
4767 take a KeySet and KeyEventSeq so that specific keys and event
4768 types could be requested for monitoring, and added a flag
4769 is_synchronous so that either synchronous or asynchronous
4770 notification could be requested. (However this is not all
4771 implemented yet). This also meant adding two new typedefs,
4772 KeyEventSeq and KeySet.
4775 Added two new relations, RELATION_TOOLTIP_FOR and
4776 RELATION_LEAFNODE_OF.
4779 Added new state, STATE_HAS_TOOLTIP.
4781 * libspi/text.c, editabletext.c:
4782 Added new assertions to all casts of bonobo-objects from
4783 CORBA servants, to prevent Text API calls on non-text objects.
4784 Changed suspect casts of int-pointer types, so that we
4785 always send a valid CORBA_long pointer to the CORBA APIs that use
4786 in/out long parameters. We then have to copy from the CORBA_long
4787 into the regular long or int for return to the C bindings, or
4788 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
4791 * libspi/deviceeventcontroller.c:
4792 Cleaned these sources up.
4794 Changed return type for getCharacterAtOffset to
4795 CORBA_unsigned_long, to allow for 32-bit characters.
4798 2001-10-08 Bill Haneman <bill.haneman@sun.com>
4802 Fixed 'make dist' so that distro compiles...
4803 * libspi/keymasks.h:
4805 * cspi/spi-listener.c:
4806 KeystrokeListenerCB now returns a boolean.
4808 Added KeyEventType struct, and KeyStroke.
4809 Also added createKeystrokeListener(),
4810 KeystrokeListener_addCallback(),
4811 KeystrokeListener_removeCallback(), and added a keymask to
4812 registerKeystrokeListener().
4813 * cspi/spi_accessible.c:
4814 Changed numerous return types for interfaces from
4815 AccessibleComponent to Accessible<InterfaceName>; this was
4816 probably a cut-and-paste error.
4818 Implementations of new KeystrokeListener api (from spi.h,
4821 Changes to key modifier mapping.
4822 Created ControllerEventMask struct.
4823 Made DeviceEventController derive from Bonobo::Unknown.
4825 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
4826 * libspi/deviceeventcontroller.c:
4827 Added a number of new internal (private) methods.
4828 * libspi/editabletext.c:
4829 * libspi/editabletext.h:
4830 Fixed a number of bugs related to the fact that
4831 editabletext inherits from text. Fixed the EditableText struct,
4832 the init() call, and use correct casts when calling Text methods
4833 from an EditableText object. Removed (duplicate) atko from the
4834 EditableText structure, we use the one in the parent Text
4835 structure via the casts mentioned above.
4836 * libspi/keystrokelistener.[ch]:
4837 * libspi/registry.c:
4838 Changes in support of keyboard handling (above).
4840 Keyboard handling, though partly functional, is still not
4841 recommended for at-spi client use as there is considerable
4842 work yet to be done.
4845 Changed some places where pointers to various int types
4846 are cast to be pointers to CORBA_long types and vice-versa:
4847 pointer casting is not safe so we pass pointers of the correct
4848 types and then cast the result before putting it into the target
4851 * libspi/text.h: minor typos corrected.
4853 We now speak not only the name of a Text element, but the
4854 first sentence of its content, when it receives focus.
4855 I also changed the text compression to 75% from 50%.
4856 * util/Accessibility_Util.server.in:
4857 Changed the default magnifier type to be a 3x vertical
4858 splitscreen magnifier (was previously a 2x horizontal one).
4860 2001-10-03 Bill Haneman <bill.haneman@sun.com>
4862 * libspi/keystrokelistener.h:
4863 * libspi/keystrokelistener.c:
4864 Initial functional implementations of KeystrokeListener.
4867 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
4869 Fixed string handling for NULL strings in libspi.
4870 Added spi_freeString to free strings returned by C bindings.
4872 2001-09-30 Bill Haneman <bill.haneman@sun.com>
4874 * libspi/keystrokelistener.h:
4875 * libspi/keystrokelistener.c:
4876 Began (no-op) implementations of KeystrokeListener
4878 * libspi/deviceeventcontroller.c:
4879 * libspi/deviceeventcontroller.h:
4880 Began creating implementations of DeviceEventController,
4881 to handle keystroke and mouse event listening and
4883 * libspi/accessible.c:
4884 Stubbed-in the implementations for
4885 Accessibility_Accessible_getState and
4886 Accessibility_Accessible_getRelationSet.
4887 * libspi/registry.c:
4888 Improved de-registration process and fixed some bugs,
4889 deregistration now works correctly.
4891 Added initialization of applications list (to NULL).
4893 Reduced speech compression from 0.5 to 0.7, for demo.
4894 Changed call to gdk_window_set_decorations()
4895 to gtk_window_set_decorated().
4896 * at-bridge/bridge.c:
4897 Bridge now deregisters when app exits, via
4898 registration of a cleanup function
4899 with the g_atexit() call.
4900 Required making 'app' static, renamed 'this_app'.
4901 Fixed broken use of bonobo_init, passing argv wrongly.
4903 2001-09-27 Bill Haneman <bill.haneman@sun.com>
4907 Created a new directory for
4908 accessibility-related utilities, primarily for
4909 testing and demo purposes, but with possible
4916 Onscreen magnifier utility that
4917 is implemented as a bonobo service.
4919 * util/mag_client.c:
4920 * util/mag_client.h:
4921 Client-side support (simple C bindings)
4922 for Magnification service
4924 * util/mag_control.c:
4925 Client program example for
4926 Magnification service
4928 * util/Accessibility_Magnifier.server.in:
4929 Bonobo-activation file for the
4930 Magnification service.
4933 * util/idl/Magnifier.idl:
4934 IDL defining the bonobo Magnification
4938 Modifications to use the bonobo-activated magnifier
4939 above, in place of trying to connect to an existing
4940 magnifier that uses socket-listening IPC.
4942 If env variable MAGNIFIER is set, a magnifier service
4943 will be started if one does not exist.
4945 2001-09-25 Bill Haneman <bill.haneman@sun.com>
4947 * at-bridge/bridge.c:
4948 applied patch from Marc to build and run
4949 against new glib and gtk+ (seemed like a change
4950 to bonobo_init signature was made ?)
4952 made festival-server support turned off by default.
4953 Added support for a simple magnifier (off by default)
4954 which will be added to a 'util' directory later.
4955 * at-bridge/Makefile.am:
4956 Changed "application.h" header from a 'source'
4957 to a 'dependency' of libat-bridge.
4959 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4968 Added interface implementation c files to list of
4969 includes so they are included in libcspi.
4972 Changed prototype of AccessibleAction_doAction to return a
4974 Changed prototype of AccessibleTable_getCaption to
4975 return an Accessible.
4976 Changed prototype of AccessibleTable_getSelectedRows
4977 and AccessibleTable_getSelectedColumns to
4978 return a long (returns the number of selected rows
4979 or columns respectively).
4980 Changed name of AccessibleText_refRunAttributes to
4981 AccessibleText_getAttributes.
4982 Changed prototype of AccessibleText_getCharacterExtents to
4983 return a void rather than a boolean.
4984 Added support for a AccessibleCoordType parameter
4985 specifying what type of coordinates are desired.
4986 Added an AccessibleCordType parameter to
4987 AccessibleText_getPointAtOffset.
4989 * cspi/spi_accessible.c:
4990 Added code to return the outstanding interfaces from
4991 Accessible_queryInterface.
4993 * cspi/spi_action.c:
4995 Corrected call to getNActions to call the c binding
4998 * cspi/spi_editabletext.c:
5000 Changed name from setRunAttributes to setAttributes.
5002 * cspi/spi_hyperlink.c:
5004 Changed call to getNAnchors to correctly call the c
5005 binding for an attribute.
5007 * cspi/spi_hypertext.c:
5009 Changed getImageDescription to correctly call the
5010 binding for an attribute.
5012 * cspi/spi_selection.c:
5013 Changed getNSelectedChildren to correctly call the c
5014 binding for the attribute.
5015 Changed refSelectedChild to getSelectedChild.
5019 Changed getCaption to return an Accessible.
5020 Fixed calls which retrieve attributes.
5021 Changed refAt to getAccessibleAt.
5022 Changed getNSelectedRows and getNSelectedColumns to
5026 Changed getCharacterExtents and getPointAtOffset to accept an
5027 AccessibleCoordType.
5029 Changed calls which retrieve attributes.
5030 Changed refRunAttributes to getAttributes.
5035 * idl/Hyperlink.idl:
5036 Changed n_anchors attribute to nAnchors to keep naming
5037 convention consistent.
5040 Made Table inherit from Bonobo::Unknown.
5041 Added nSelectedColumns and nSelectedRows attributes.
5044 Made Value inherit from Bonobo::Unknown.
5046 * libspi/hyperlink.c:
5047 Change for nAnchors attributte name change.
5049 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5057 Added interface implementation c files to list of
5058 includes so they are included in libcspi.
5061 Changed prototype of AccessibleAction_doAction to return a
5063 Changed prototype of AccessibleTable_getCaption to
5064 return an Accessible.
5065 Changed prototype of AccessibleTable_getSelectedRows
5066 and AccessibleTable_getSelectedColumns to
5067 return a long (returns the number of selected rows
5068 or columns respectively).
5069 Changed name of AccessibleText_refRunAttributes to
5070 AccessibleText_getAttributes.
5071 Changed prototype of AccessibleText_getCharacterExtents to
5072 return a void rather than a boolean.
5073 Added support for a AccessibleCoordType parameter
5074 specifying what type of coordinates are desired.
5075 Added an AccessibleCordType parameter to
5076 AccessibleText_getPointAtOffset.
5078 * cspi/spi_accessible.c:
5079 Added code to return the outstanding interfaces from
5080 Accessible_queryInterface.
5082 * cspi/spi_action.c:
5084 Corrected call to getNActions to call the c binding
5087 * cspi/spi_editabletext.c:
5089 Changed name from setRunAttributes to setAttributes.
5091 * cspi/spi_hyperlink.c:
5093 Changed call to getNAnchors to correctly call the c
5094 binding for an attribute.
5096 * cspi/spi_hypertext.c:
5098 Changed getImageDescription to correctly call the
5099 binding for an attribute.
5101 * cspi/spi_selection.c:
5102 Changed getNSelectedChildren to correctly call the c
5103 binding for the attribute.
5104 Changed refSelectedChild to getSelectedChild.
5108 Changed getCaption to return an Accessible.
5109 Fixed calls which retrieve attributes.
5110 Changed refAt to getAccessibleAt.
5111 Changed getNSelectedRows and getNSelectedColumns to
5115 Changed getCharacterExtents and getPointAtOffset to accept an
5116 AccessibleCoordType.
5118 Changed calls which retrieve attributes.
5119 Changed refRunAttributes to getAttributes.
5124 * idl/Hyperlink.idl:
5125 Changed n_anchors attribute to nAnchors to keep naming
5126 convention consistent.
5129 Made Table inherit from Bonobo::Unknown.
5130 Added nSelectedColumns and nSelectedRows attributes.
5133 Made Value inherit from Bonobo::Unknown.
5135 * libspi/hyperlink.c:
5136 Change for nAnchors attributte name change.
5139 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
5141 implementations-- made server implementations own AtkObject pointers
5142 rather than their respective AtkInterrface pointers to fix
5143 refcounting. AtkHyperlink is still broken.
5145 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5146 * cspi/spi_accessible.c:
5147 Added method Accessible_Role_getName(),
5148 and requisite string array (role_names).
5149 Added conversion string_from_corba_strin() call
5150 to Accessible_getName and _getDescription.
5151 * libspi/accessible.c:
5152 Added implementation for Accessible_getRole()
5154 Added festival support, used if environment variable
5157 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5159 * at-bridge/bridge.c:
5160 Now allocate Accessibility_Event using
5161 Accessibility_Event__alloc() instead of g_new0().
5162 * libspi/accessibleeventlistener.c:
5163 Initialize AccessibleEventListener->callbacks to NULL.
5164 Fixed accessible__event_listener_init() param, changed to
5165 "AccessibleEventListener *" type.
5166 Changed a bonobo_object_release_unref() call to
5167 Accessibility_Accessible_unref().
5168 * libspi/listener.c:
5169 Changed Bonobo_Unknown_unref to (equivalent)
5170 Accessibility_Accessible_unref.
5171 * libspi/registry.c:
5172 Changed bonobo_object_release_unref to
5173 Accessibility_Accessible_unref.
5175 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5178 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5179 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5180 spi-util.c spi-util.h
5181 Implementations for C bindings to remaining accessibility
5184 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5187 changed return value of Action from void to boolean to
5188 bring in line with ATK.
5191 Changed getText funcions to return "out" start and end offsets.
5192 Changed getAttributes to take and offset and return the start
5193 and end offset of the attribute run.
5194 Changed getOffsetAtPoint and getCharacterExtents to take an
5195 enum describing whether coordinates are window or screen.
5198 libspi/action.c libspi/action.h libspi/editabletext.c
5199 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5200 libspi/hypertext.c libspi/hypertext.h libspi/image.c
5201 libspi/image.h libspi/selection.c libspi/selection.h
5202 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
5203 libspi/value.c libspi/value.h
5204 Added server implementations for outstanding ATK interfaces
5205 not yet implemented.
5207 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5210 Added (missing) getName() method.
5211 Made nActions an attribute.
5212 * idl/EditableText.idl:
5213 Changed order of params in setAttributes.
5214 * idl/Hyperlink.idl:
5215 Removed getAnchor, added getURI.
5217 Changed attributes to methods, for efficiency
5218 (so that getting extents can be done in one call)
5219 * idl/Selection.idl:
5220 Changed nSelectedChildren to attribute, and re-indented.
5221 * idl/Table.idl: changed nrows, ncolumns, caption, summary
5223 * idl/Text.idl: reformatted to match our coding style.
5224 (temporarily?) removed getRowColumnAtOffset().
5225 Changed text selection API to support multi-select and
5226 non-contiguous selections, as in ATK.
5227 * idl/Value.idl: changed some methods to attributes.
5229 2001-08-24 Mark McLoughlin <mark@skynet.ie>
5231 * libspi/listener.c(impl_notify_event):
5232 BonoboUnkown_unref the source instead
5233 of bonobo_object_release_unref - the ORB
5234 handles the releasing.
5236 * configure.in: require ORBit-2.3.94 for
5239 2001-08-21 Bill Haneman <bill.haneman@sun.com>
5241 Tagged CVS repository 'EA_1_0'.
5242 * README.EARLY_ACCESS:
5243 Alphabetized acknowledgements list, and
5245 Listed some known dependencies of at-spi.
5247 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5249 * docs/at-spi-docs.sgml:
5250 * docs/at-spi-sections.txt:
5251 * docs/at-spi-overrides.txt: (Added zero-length file)
5252 Documentation improvements - gtk-doc should build
5253 docs for all implemented C bindings now.
5256 * cspi/spi.c: (New file)
5257 * cspi/spi_event.c: (New file)
5258 * cspi/spi_registry.c: (New file)
5259 * cspi/spi_accessible.c: (New file)
5260 * cspi/spi_application.c: (New file)
5261 * cspi/spi_component.c: (New file)
5262 Split spi_main.c into six parts, and included them from
5263 "spi.c". This is a bit of a hack, probably temporary,
5264 but required by gtk-doc, apparently.
5266 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5269 * docs/at-spi-docs.sgml:
5270 * docs/at-spi-sections.txt:
5272 Initial checkins/modifications for gtk-doc generation.
5275 Added (missing) interface query methods to Accessible's C binding.
5277 Added GenericInterface type definition.
5279 Added query for AccessibleComponent interface to focus event handler.
5280 Added printout of bounding box for focussed component.
5281 * libspi/component.c:
5282 Added partial implementation for AccessibleComponent to C binding.
5283 * idl/Application.idl:
5284 * libspi/registry.c:
5285 * libspi/listener.c:
5286 * libspi/application.c:
5287 * libspi/application.h:
5288 Changed "ID" attribute type from string to long.
5290 2001-08-19 Bill Haneman <bill.haneman@sun.com>
5294 Made method naming consistent: methods taking object args
5295 start with uppercase, other methods (except those using
5296 acronyms) start with lowercase. Underscores delimit between
5297 object names and method names:
5298 SPI_init() - uppercase since it starts with an acronym.
5299 getDesktopCount () - lowercase start since no object param0.
5300 Accessible_getName() - uppercase object type name, studlyCaps method
5304 Added gtk-doc documentation for all currently implemented
5305 methods in the C bindings API.
5307 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5309 * Makefile.am : changed build order to build test last.
5312 Changed "createEventListener" to "CreateEventListener".
5313 * libspi/accessibleeventlistener.c :
5314 Bugfix for addition of callbacks.
5315 * test/Makefile.am :
5316 * test/simple-at.c :
5317 Added new test that uses the C bindings API.
5319 * libspi/listener.c :
5320 * libspi/registry.c :
5321 * libspi/accessibleeventlistener.c :
5322 * at-bridge/bridge.c :
5323 Renamed member "target" of Accessibility_Event to "source",
5324 which is more descriptive.
5327 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5331 * cspi/Makefile.am :
5332 Added makefile support for at-spi/cspi directory.
5335 * cspi/spi-listener.h : (NEW FILE)
5336 Added support for/use of spi-listener.h.
5338 C bindings now build successfully, with no warnings.
5339 * libspi/accessibleeventlistener.h : (NEW FILE)
5340 * libspi/accessibleeventlistener.c : (NEW FILE)
5341 * libspi/Makefile.am :
5342 Added new object type "AccessibleEventListener"
5343 which inherits from Listener, and allows attachment
5344 of in-process callbacks (so that a client with a listening
5345 object instance can add functionality to the local
5346 implementation, dynamically).
5348 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5350 * libspi/accessible.c:
5351 Add implementation for get_index_in_parent().
5353 Added #include of "spi-roletypes.h", and
5354 added enumerated type AccessibleCoordType.
5355 Added definition for KeystrokeListener (function type).
5358 * cspi/spi-statetypes.h :
5359 * cspi/spi-roletypes.h :
5361 Added these headers, used by spi.h.
5363 Added code (NOTE: not yet built by make).
5365 2001-08-18 Mark McLoughlin <mark@skynet.ie>
5367 * libspi/Makefile.am: generate imodule
5368 at the same time as other idl compiler
5371 2001-08-17 Bill Haneman <bill.haneman@sun.com>
5372 * libspi/registry.c :
5373 * libspi/application.c :
5374 * idl/Application.idl :
5375 Made registration with toolkit an application method,
5376 which is required since each app has its own toolkit static
5377 environment. Thus the bridge must register for
5378 notification of toolkit events from each application in turn.
5379 Toolkit notifications are now successfully registered for, and
5380 sent to the listening at client.
5382 Changed toolkit event string to use hyphens rather than underscores.
5383 * libspi/listener.c :
5384 listner now gives more info in debug mode - it reports the
5385 name of the event received, as well as the name of the source.
5388 2001-08-16 Bill Haneman <bill.haneman@sun.com>
5390 * libspi/registry.c :
5391 added more implementation for toolkit events.
5392 Fixed bug such that toolkit event registrations
5393 (via atk) use the whole event name string, not
5395 Removed a useless call to an ORBit_ method.
5396 * at-bridge/bridge.c :
5397 Removed unused local sbuf[] variable.
5399 We now register for Gtk:GtkWidget:button_press_event
5400 events as well as "focus:" events.
5402 Add some more API from Registry.idl that was missing,
5403 for keystroke listening, keystroke and mouse event
5404 synthesis, and enumeration of accessible desktops.
5406 2001-08-16 Michael Meeks <michael@ximian.com>
5408 * configure.in: use AM_GLIB_GNU_GETTEXT.
5410 * Makefile.am (SUBDIRS): kill intl.
5412 2001-08-15 Michael Meeks <michael@ximian.com>
5414 * registryd/Makefile.am: s/oaf/server/ relocate info file.
5416 * configure.in: upd.
5418 * configure.in: depend on a recent bonobo-activation that
5419 will find our server files ...
5421 2001-08-16 Bill Haneman <bill.haneman@sun.com>
5423 * libspi/accessible.c : accessible_new() :
5424 Now we add the Component interface via bonobo_object_add_interface,
5425 if the contained AtkObject implements AtkComponent.
5426 * libspi/accessible.h : now include "component.h"
5427 * libspi/component.h :
5428 * libspi/component.c : added files - implementation of
5429 bonobo wrapper object for Accessibility/Component
5430 * libspi/listener.c :
5431 Added test code to check for Accessibility/Component:1.0
5432 interface and report whether it is implemented by the
5434 * libspi/registry.c :
5435 Now we check for not only the hash of the whole event
5436 string before relaying the event, we also check the
5437 "minor" event string (without the detail string).
5438 This allows event listeners to be registered against
5439 all events of a certain major+minor type, or just
5440 against a specific major+minor+detail type.
5441 * libspi/accessible.c :
5442 Added implementations for Accessible:get_parent(),
5443 Accessible:getChildCount(), and Accessible:getChildAtIndex().
5444 * libspi/registry.c :
5445 * libspi/listener.c :
5446 Replaced calls to Accessibility_Accessible_ref() and
5447 Accessibility_Accessible_unref() with
5448 calls to bonobo_object_dup_ref() and
5449 bonobo_object_release_unref(), so that the CORBA object
5450 is dup-ed and released when relayed, as well as the bonobo object.
5452 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5454 * libspi/Makefile.am,
5455 registryd/Makefile.am,
5456 at-bridge/Makefile.am.
5457 test/Makefile.am, configure.in:
5458 reverse previous changes.
5460 * /idl/Image.idl: fix typo.
5462 * test/Makefile.am: put DEBUG_FLAGS
5465 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5467 * test/app.c: use argv[0] instead of
5470 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5472 * libspi/Makefile.am,
5473 registryd/Makefile.am,
5474 at-bridge/Makefile.am.
5475 test/Makefile.am, configure.in:
5476 cleanup, replace individual LIBS/CFLAGS with
5477 AT_COMMON_{LIBS|CFLAGS}.
5481 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5483 * configure.in, libspi/Makefile.am:
5484 Change IDL path checking for bonobo-activation
5487 2001-08-15 Bill Haneman <bill.haneman@sun.com>
5489 * registryd/registry.c : separated event listeners to use
5490 3 separate lists (focus, window, toolkit). Began testing
5491 event names against hashes before relaying events.
5492 * test/at.c : now register for events of type "focus:"
5493 * test/app.c : now generate events of type "focus:"
5494 * at-bridge/bridge.c : register with ATK for focus events,
5495 and we now relay those focus events to any "focus:" listeners.
5496 This now works with the bridge as a GTK_MODULE when running test/at.
5497 * libspi/registry.c :
5498 * libspi/listener.c :
5499 now we ref event sources before propagating, and unref on receipt.
5500 * libspi/registry.c :
5501 some changes to internal structs, to support event typestring hashes.
5502 * text/app.c : changed the way the appname is generated.
5503 * cspi : added directory that will hold the C bindings library for
5504 non-CORBA/bonobo-savvy clients.
5505 * cspi/spi.h : header file that contains the function prototypes for the C binding.
5506 * idl/Component.idl : added in parameter to indicate coord system for
5507 geometry-related calls.
5508 * idl/Hyperlink.idl : added readonly n_links attribute
5509 * idl/Image.idl : changed methods to attributes.
5511 2001-08-15 Mark McLoughlin <mark@skynet.ie>
5513 * at-bridge/Makefile.am: link against
5514 ../libspi/libspi.la instead of -lspi.
5516 * at-spi/test/app.c: include
5517 bonobo-activation.h. Use a default appname
5518 if one is not provided.
5520 2001-08-14 Bill Haneman <bill.haneman@sun.com>
5522 * idl/Registry.idl : temporarily changed register_Application
5523 to oneway, to work around issue with initial registration
5525 * idl/Application.idl : changed attribute "id" from readonly
5526 to read-write, since it needs to be assigned by Registry.
5527 * registryd/registryd.c : added call to set application id
5529 * registryd/registry.c : changed de-registration procedure to
5530 use CORBA_Object_hash() to find matching object ref in application
5531 lists and listener lists.
5532 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
5533 began distinguishing between event types (work in progress).
5535 2001-08-13 Bill Haneman <bill.haneman@sun.com>
5538 * libspi/application.c:
5539 Added implementations for get/set id, get_toolkitName,
5541 * registryd/registryd.c :
5545 Converted from use of OAF to bonobo-activation.
5546 * libspi/desktop.h :
5547 * libspi/desktop.c :
5549 Removed references to atksimpleobject, since base atkobject
5550 implementation now provides functionality we need.
5551 * libspi/atksimpleobject.c :
5552 * libspi/atksimpleobject.h :
5557 * at-bridge/Makefile.am
5558 * at-bridge/bridge.c
5561 Added directory "bridge" and contents, and added dependencies
5562 in Makefile.am/configure.in.
5563 Initial checkin of "at-bridge".
5564 This code is a GTK_MODULE which automatically registers
5565 GTK+ apps with the accessibility registry, using an object
5566 reference to the root ATK object.
5568 2001-08-10 Mark McLoughlin <mark@skynet.ie>
5570 * po/Makefile.in.in: Remove. Again. If this
5571 doesn't get autogenerated - you need to update
5574 2001-08-07 Mark McLoughlin <mark@skynet.ie>
5576 * po/Makefile.in.in: Add. Again.
5578 2001-07-31 Bill Haneman <bill.haneman@sun.com>
5580 * libspi/accessible.c : added support for 'description' property.
5581 * libspi/accessible.c
5583 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
5584 (since the two are now equivalent in libbonobo)
5592 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
5593 Bonobo::Unknown as does Accessibility::Accessible.
5594 * idl/StreamableContent.idl : as above, and replaced internal InputStream
5595 interface with Bonobo::Stream, since it was redundant with it.
5596 (The Stream returned by a StreamableContext object is expected to
5597 implement only a subset of Bonobo::Stream)
5599 2001-07-28 Anders Carlsson <andersca@gnome.org>
5601 * libspi/accessible.c (accessible_object_finalize): Change
5602 g_free to g_object_unref since the AtkObject is a GObject.
5604 2001-07-30 Bill Haneman <bill.haneman@sun.com>
5606 * idl/Accessibility.idl: add new IDL files
5609 * idl/Action.idl: Definitions of actionable UI object
5610 * idl/Component.idl: Definitions of UI component geometry, etc.
5611 * idl/Hyperlink.idl: Defs of hyperlink behavior
5612 * idl/Image.idl: Def of accessible image
5613 * idl/Selection.idl: Definition of UI object with selectable children
5614 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
5615 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
5616 * idl/Text.idl: Interface defs for UI elements with complex textual content
5617 * idl/Value.idl: Definition of UI element that is a value controller or display
5619 2001-07-27 Michael Meeks <michael@ximian.com>
5621 * po/Makefile.in.in: remove autogenerated file from CVS.
5623 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
5626 * idl/Registry.idl: include guard.
5628 * idl/Accessibility.idl: Add, and include all the other IDL
5631 * idl/*.idl: remove mass of pragmas etc.
5633 2001-07-26 Michael Meeks <michael@ximian.com>
5635 * registryd/Makefile.am (registryd_SOURCES): remove
5638 2001-07-27 Mark McLoughlin <mark@skynet.ie>
5640 * libspi/.cvsignore, registryd/.cvsignore,
5641 test/.cvsignore: updated.
5643 * po/Makefile.in.in: gettext update.
5645 2001-07-25 Bill Haneman <bill.haneman@sun.com>
5647 * initial CVS checkin
5649 2001-06-29 Michael Meeks <michael@ximian.com>
5651 * configure.in: add AM_CONFIG_HEADER to gen config.h