1 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
3 * configue.in: Added 'ms' (Malay) in ALL_LINGUAS.
5 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
7 * configure.in: updated ALL_LINGUAS list
9 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
11 * configure.in: Added Belarusian to ALL_LINGUAS.
13 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
15 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
17 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
18 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
20 This fixes bug #116949.
22 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
24 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
25 Correct CSPI to SPI in function documentation.
27 This fixes bug #118054.
29 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
31 * configure.in: Added Russian to ALL_LINGUAS.
33 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
35 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
37 2003-07-14 Danilo Ĺ egan <dsegan@gmx.net>
39 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
41 2003-07-10 Joel Brich <joel.brich@laposte.net>
43 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
45 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
47 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
49 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
51 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
52 resources allocated for AccessibleEvent. See cspi_event().
54 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
55 static variable streams to NULL.
57 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
58 Update so that AcessibleEvent_ref will work.
60 This fixes bug #116624.
62 2003-07-06 Jordi Mallach <jordi@sindominio.net>
64 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
66 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
68 * configure.in: Added "fr" (French) to ALL_LINGUAS.
70 2003-07-02 Christian Neumair <chris@gnome-de.org>
72 * configure.in: Added "de" (German) to ALL_LINGUAS.
74 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
76 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
78 2003-07-01 Miloslav Trmac <mitr@volny.cz>
80 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
82 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
84 * configure.in: Added "pl" to ALL_LINGUAS.
86 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
88 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
90 2003-06-30 Bill Haneman <bill.haneman@sun.com>
93 (get_action_from_servant):
94 Removed assertion that action is implemented on an AtkObject.
98 Aggregate AccessibleAction interface on the hyperlink object if
99 the object implements AtkAction. (This convention is used in
102 2003-06-30 Bill Haneman <bill.haneman@sun.com>
104 * configure.in: Revved to 1.3.5.
106 * registryd/Accessibility_Registry.server.in.in:
107 Marked up appropriate strings for translation.
109 * atk-bridge/bridge.c: Marked a couple of
110 user-visible warnings for translation. Questionable
111 whether they are really useful, but possibly so.
114 2003-06-28 Christian Rose <menthos@menthos.com>
116 * configure.in: Added "sv" to ALL_LINGUAS.
118 2003-06-26 Bill Haneman <bill.haneman@sun.com>
120 * registryd/registry.c:
121 (spi_registry_object_finalize): Unref the deviceeventcontroller.
122 (registry_defer_on_event): Defer focus: events, this is an
123 improvement to the patch for bug #108664.
125 * TODO: Update with 2.4/"Dev Complete" items.
127 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
129 * atk-bridge/bridge.c:
130 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
131 looks up signals once.
132 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
133 if doing registration.
134 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
135 when doing registration.
137 This fixes bug #115014.
139 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
141 * atk-bridge/bridge.c:
142 (atk_bridge_init): Add signal handler for children-changed:remove on
143 root when in a BonoboComponent.
144 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
145 for first toplevel only other incrememt variable toplevels.
146 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
147 application and remove listeners.
148 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
150 (spi_atk_deregister_event_listeners): New function which removes
152 (reinit_register_vars): New fuction which reinitializes variables.
154 This fixes bug #111578.
156 2003-06-13 Bill Haneman <bill.haneman@sun.com>
158 * configure.in: version 1.3.4.
160 * cspi/spi_accessible.c:
161 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
164 2003-06-13 Michael Meeks <michael@ximian.com>
166 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
168 * cspi/spi_main.c (cspi_peek_ev): impl.
170 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
172 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
174 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
176 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
177 SPI_ROLE_AUTOCOMPLETE
179 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
181 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
182 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
184 2003-06-11 Bill Haneman <bill.haneman@sun.com>
186 * libspi/streamablecontent.h:
187 * libspi/streamablecontent.c:
188 New files, provide implementation/wrappers for
189 Accessibility_StreamableContent.
191 * cspi/spi_streamablecontent.c:
192 Connected the C wrappers to the libspi C bindings.
193 (AccessibleStreamableContent_close): New method.
196 (AccessibleStreamableContent_close): New method, needed
197 since we have an "open, [seek], read, close" model in cspi.
199 2003-06-11 Bill Haneman <bill.haneman@sun.com>
201 Fix for #108664; Padraig's revision of my original patch.
203 * registryd/registry.h:
204 Added event queue list, is_queuing, and exit_notify_timeout
205 to the registry struct.
207 * registryd/registry.c:
208 (registry_init): Initialize new struct from registry.h.
209 (impl_registry_notify_event):
210 Filter events before notifying, in case some need to be
212 (registry_filter_event): New,
213 we defer certain incoming events (for instance
214 window:deactivate) because we may wish to hide
215 or reject them based on pending events. This is
216 mostly a workaround for bug #108664.
217 (registry_queue_event, registry_start_queue): New.
218 (registry_defer_on_event): Test event to see if it
220 (registry_reset_on_event): Returns TRUE if the
221 event should cause a queue reset.
222 (registry_discard_on_event): Returns TRUE if the event
223 should cause the previous queue contents to be discarded.
224 (registry_timeout_flush_queue): Flushes the pending event
225 queue if no reset/discard-triggering events have come in
226 within the timeout period.
227 (registry_emit_event): New.
228 (registry_clone_notify_context): New, used when queueing the
229 event notify contexts.
231 2003-06-10 Bill Haneman <bill.haneman@sun.com>
233 * configure.in: Version revved to 1.3.2, lt 0.9.2
234 Incremented ATK required version to 1.3.4.
236 * cspi/spi_registry.c:
237 (SPI_generateKeyEvent):
238 We now pass the keystring along if it's non-null.
240 * registryd/deviceeventcontroller.c:
241 (keysym_mod_mask): New method, returns modifier mask
242 required to generate a keysym from a given keycode.
243 (dec_synth_keysym): New method.
244 (dec_synth_keystring): New method.
245 (dec_get_modifier_state): New method.
246 (dec_lock_modifiers): New
247 (dec_unlock_modifiers): New.
248 (dec_keysym_for_unichar): New, rather brute-force
249 conversion from UCS-4 to X KeySyms. Only works for
250 Latin at the moment, with partial implementations for
251 Greek, Hebrew, and (incomplete) Katakana.
252 (impl_generate_keyboard_event): Now implement
253 "KEYSTRING" synthesis and implement "KEYSYM"
255 (keycode_from_keysym): Improved, passes a returned
256 modmask value now if the corresponding param is non-NULL.
258 Fixes bugs #92143 and #109776.
261 * test/keysynth-test.c:
262 New test program for key synthesis, to confirm fixes for
266 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
268 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
270 * cspi/spi_accessible.c (cspi_init_relation_type_table):
271 Add line for RELATION_POPUP_FOR
273 * docs/reference/cspi/tmpl/spi_relation.sgml:
274 Add relation SPI_RELATION_POPUP_FOR
276 * docs/reference/cspi/tmpl/spi_stateset.sgml:
277 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
279 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
281 * libspi/relation.c (spi_init_relation_type_table):
282 Add line for RELATION_POPUP_FOR
284 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
286 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
287 there are still windows which have not been deleted and emit
288 window:deactivate, if necessary and window:destroy events.
289 This fixes bug #114370. The change on June 5th was not correct.
291 2003-06-09 Bill Haneman <bill.haneman@sun.com>
293 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
296 (SPI_dupString): Allow dup-ing of a string such that it's safe to
298 New methods for client exception handling and interception.
299 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
300 (SPI_exceptionHandlerPop): You guessed it...
301 (SPI_getSourceType): Return the type of object which offended.
302 (SPI_getExceptionCode): Return an enum code telling, possibly,
303 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
304 (SPIAccessibleException_getSource): get the source object for
305 exceptions that come from Accessibles, if SPIExceptionSourceType is
306 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
307 (SPIException_getDescription): New, returns a string description of
308 the problem. [Not yet a stable ABI, strings are not frozen]
310 * cspi/spi-private.h:
311 Added implementation details of opaque SPIException
315 Implementations of above. Also
316 (_cspi_exception_throw): new private method that
317 dispatches exceptions to handlers, called from cspi-bonobo.c
319 * cspi/bonobo/cspi-bonobo.c:
320 (cspi_check_ev): call _cspi_exception_throw.
321 Don't print a warning message if the exception has been
322 handled by _cspi_exception_throw.
324 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
326 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
327 there are still windows which have not been deleted and emit
328 window:deactivate, if necessary and window:destroy events.
329 This fixes bug #114370.
331 2003-06-03 Bill Haneman <bill.haneman@sun.com>
334 (cspi_accessible_is_a): Make non-fatal
335 if the object reference is dead.
337 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
339 * cspi/spi_main.c: #include <stdio.h>
340 * test/simple-at.c: ditto
341 * test/event-listener-test.c: ditto
342 * test/screen-review-test.c: ditto
344 2003-05-30 Michael Meeks <michael@ximian.com>
346 * test/test-simple.c (main): use CORBA_ORB_perform_work
347 instead of an unnecessary linc_ call.
349 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
351 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
352 Add SPI_STATE_INDETERMINATE.
354 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
357 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
359 * libspi/stateset.c (init_state_type_tables): Add support for
362 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
364 * configure: Update versions of atk and gail required.
365 This fixes bug #113268.
367 2003-05-02 Bill Haneman <bill.haneman@sun.com>
369 * configure.in: Revved micro version to 1.3.1 (because of build fix).
371 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
373 * libspi/Makefile.am:
374 Ensure headers are generated before being used by c sources.
376 2003-05-01 Bill Haneman <bill.haneman@sun.com>
379 Simplified lt versioning rules.
380 Incremented version to 1.3.0, to indicate that we're on the
383 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
385 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
386 Add MKDB_OPTIONS=--outtput-format=xml
388 * docs/reference/cspi/at-spi-cspi-docs.sgml
389 docs/reference/idl/at-spi-idl-docs.sgml:
390 Convert to Docbook XML.
392 This fixes bug #111793.
394 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
396 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
397 AcccessibleKeyEventType, AccessibleKeyMaskType.
399 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
401 * cspi/state-types.h: Add documentation for AccessibleState.
403 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
404 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
405 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
406 AccessibleComponentLayer.
408 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
411 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
413 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
414 Accessible. Add description of AccessibleEvent,
415 AccessibleEventListenerCB.
417 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
420 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
421 documentation. Add description of AccessibleKeystrokeListenerCB,
422 AccessibleKeyEventMask, AccessibleModifierMaskType,
423 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
424 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
426 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
429 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
432 This fixes bug #104730.
434 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
436 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
437 Set is_text field of Accessibility_DeviceEvent data structure.
439 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
440 is-text field of AccessibleDeviceEvent data structure.
442 This addresses part of bug #108666.
444 * registryd/devcieeventcontroller.c: Unset debug option.
446 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
449 (cpi_initial_relation_type_table): New function which initializes
450 mapping between Accessibility_RelationType and AccessibleRelationType.
451 (cspi_relation_type_from_spi_relation_type): New function which
452 translates an Accessibility_RelationType into an AccessibleRelationType.
453 (AccessibleRelation_getRelationType): Use
454 cpi_relation_type_get_spi_relation_type to return correct value.
455 (spi_state_to_corba): Return correct type for default case.
457 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
458 Use Accessibility_EventType instead of Accessibility_KeyEventType.
460 * cspi/cspi-bonobo-listener.c:
461 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
464 * libspi/accessible.c, libspi/action.c, libspi/application.c,
465 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
466 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
467 libspi/image.c, libspi/listener.c, libspi/selection.c,
468 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
469 registryd/desktop.c, registryd/registry.c:
470 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
472 * libspi/eventlistener.c
473 Remove semicolon after BONOBO_TYPE_FUNC.
476 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
477 (spi_init_relation_type_table): Initialize using correct type.
479 * registryd/desktop.c:
480 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
481 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
482 of Accessibility_KeyEventType.
484 * test/key-listener-test.c (report_tab_key_event): Use fprintf
487 * tests/simple-at.c, tests/screen-review-test.c:
488 Add include for <strings.h>.
490 * tests.stress-test.c:
491 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
493 These changes fix compiler warnings when using FORTE compiler on
494 Solaris; fixes bug #107479.
497 2003-04-10 Bill Haneman <bill.haneman@sun.com>
500 * configure.in: revved to 1.1.10
503 (SPI_KEYMASK_NUMLOCK): Added.
505 * registryd/deviceeventcontroller.c:
506 (spi_key_event_matches_listener): AND with a smaller
507 bitmask (as we should).
508 (spi_dec_translate_mask):
509 New method, sets the virtual NumLock modifier bit
510 if numlock is on. Eventually it can handle other virtual
511 modifier bits if needed, or other marshalling from
512 at-spi modifier masks to platform (X) masks.
513 (spi_dec_key_listener_new):
514 Call spi_dec_translate_mask to set up virtual mod bits
515 in the 'mask' field when creating a new listener struct.
516 (spi_dec_emit_modifier_event):
517 Set the virtual (i.e. NumLock) bits before emitting event.
518 (spi_controller_register_with_devices):
519 Query for the NumLock modifier 'physical' bit if Xkb is
520 present, for use in above methods.
524 2003-04-10 Bill Haneman <bill.haneman@sun.com>
526 * registryd/deviceeventcontroller.c:
527 (spi_keystroke_from_x_key_event):
528 Instead of checking to see if the keysym is
529 printable, check the string from XLookupString
530 if available, get the first unicode character from it,
531 and call g_unichar_isprint to determine whether the
532 is_text flag should be TRUE or FALSE.
536 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
538 * atk-bridge/bridge.c: Add support for extended events
539 * cspi/spi_event.c: Add documentation and implementation for
541 * tests/event-listener-test.c: Add tests for extended events.
543 This fixes bugs #100424 and #100426.
545 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
547 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
548 of LT_CURRENT. This fixes bug #89350.
550 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
552 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
553 number of signal parameter values before accessing them. This fixes
556 2003-04-01 Bill Haneman <bill.haneman@sun.com>
558 * configure.in: Fixed duplicate inclusion of -lspi.
559 * branched for gnome-2-2/HEAD.
560 [created tag "gnome-2-2"]
562 2003-03-07 Bill Haneman <bill.haneman@sun.com>
564 * configure.in: 1.1.9 release.
567 2003-03-07 Bill Haneman <bill.haneman@sun.com>
569 [needed by GOK, to fix bugs 107985 and 107988]
570 * registryd/deviceeventcontroller.c:
571 (spi_dec_clear_unlatch_pending):
572 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
573 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
574 (spi_dec_init_mouse_listener):Emit warning if mouse button
576 (spi_device_event_controller_forward_mouse_event):
577 Removed unnecessary parens from a conditional.
578 (global_filter_fn):Added TODO comment.
579 (impl_generate_keyboard_event):
580 Cancel a pending relatch if a 'delatching' key was
583 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
585 * atk-bridge/bridge.c:
586 Change atk_signal_child_changed to atk_signal_children_changed.
587 Reorganize code in spi_atk_bridge_signal_listener().
589 * test/event-listener-test.c:
590 Add children_changed_listener and report_children_changed_event()
591 to test AccessibleChildEvent_getChildAccessible.
593 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
595 * cspi/spi_event.c (cspi_internal_event_get_text): Change
596 g_strdup to CORBA_String_dup (bug #105291)
598 * test/event-listener-test.c (report_text_event): Add call to
601 2003-02-28 Bill Haneman <bill.haneman@sun.com>
603 * registryd/deviceeventcontroller.c:
604 (spi_keystroke_from_x_key_event):
605 Fix string and keysym return codes to match modifier state.
608 2003-02-28 Bill Haneman <bill.haneman@sun.com>
610 * registryd/deviceeventcontroller.c:
611 (spi_keystroke_from_x_key_event):
612 Fix segv due to improper use of isprint(c). [bug #107254]
614 2003-02-24 Bill Haneman <bill.haneman@sun.com>
617 (get_accessible_text_boundary_type):
618 Move default return value to (new) default case in switch.
619 (get_accessible_text_clip_type):
620 Move default return value to (new) default case in switch.
622 * libspi/application.c:
623 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
624 Remove unused methods.
625 (impl_accessibility_application_register_object_event_listener):
626 Remove unused methods.
629 Added #include of <math.h>.
631 * registryd/deviceeventcontroller.c:
632 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
633 we don't currently use this method.
634 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
636 (impl_generate_key_event):
637 Remove unused variables.
638 (impl_generate_mouse_event):
639 Initialize button to zero, just in case we get an invalid
640 input. Added support for mouse buttons 4 and 5.
641 (spi_device_event_controller_new):
642 Removed unused variable declaration for 'private'.
644 Added #include of <gdk/gdk.h>
646 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
648 * configure.in: Update to work when X is not installed in expected
649 location. Fixes bug #105836.
651 * atk-bridge/bridge.c
652 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
654 (spi_atk_register_event_listener): Add signal listener for
656 (spi_atk_bridge_signal_listener): Event event when link-selected
657 signal is emitted. (bug #104622)
659 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
660 on returned string. (bug #105291)
662 * test/event-listener-test.c: Add test for link-selected.
664 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
666 * atk-bridge/Makefile.am: Correct typo in previous commit.
668 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
670 * atk-bridge/Makefile.am: Allow for build directory to be different
671 from source directory
673 * registryd/Makefile.am: Allow for build directory to be different
674 from source directory
678 2003-01-29 Bill Haneman <bill.haneman@sun.com>
681 Fixed dependencies for libcspi so that libspi gets pulled in
682 properly. Fixes 104741.
686 Clean up inline docs a little.
688 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
690 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
691 This is done by implementing AtkComponent for SpiAtkDesktop, which is
692 the AtkObject within an SpiDesktop.
693 This addresses bug #101524.
695 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
696 Remove call to gdk_init().
698 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
699 so that Display is set when SpiDesktop is created.
701 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
703 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
704 This fixes bug #102830.
706 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
708 * test/test-simple.c: Update to take account of fact that GailButton
709 now implements AtkText.
710 (create_text_window): Set name on AtkObject for GtkEntry.
711 (validate_accessible): Check accessible name before calling test_text().
713 * libspi/Makefile.am: Fix problem with building outside of source
714 directory. Bug #98120.
716 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
717 typo in documentation comments. Bug #94275.
719 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
721 * libspi/text.c (impl_getBoundedRanges): Bug fix.
723 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
726 Add includes to avoid compiler warnings on Solaris.
727 (impl_getRangeExtents): Bug fix.
729 2002-12-17 Bill Haneman <bill.haneman@sun.com>
731 Fix for 100944, [API addition approved by Gman and murrayc].
738 * idl/Accessibility_Text.idl:
739 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
740 (Text::getRangeExtents): New method for efficient
741 bounds query of a text range.
742 (Text::getBoundedRanges): New method for efficient
743 clipping of text to bounding boxes.
744 (unImplemented7, unImplemented8):
745 Removed these padding methods to preserve bincompat.
748 (impl_getRangeExtents): implementation of new IDL.
749 (impl_getBoundedRanges): implementation of new IDL.
750 (SpiTextRect): Internal use struct.
751 (_spi_text_rect_union): internal method, calculates union of two
752 SpiTextRect bounding rects.
753 (_spi_text_range_seq_from_gslist): internal method, allows us
754 to build our sequence efficiently as a gslist then convert it
756 (_spi_bounds_contain): internal method, determines whether
757 a text character is "in" or "out" of a clip rect according to
758 values of TEXT_CLIP_TYPE.
759 (spi_text_class_init): Initialize the new methods in the epv.
762 (AccessibleTextClipType): New enum used by screen review api.
763 (AccessibleTextRange): New struct used by screen review api.
764 (AccessibleText_getRangeExtents):
765 cspi binding for Accessibility_Text_getRangeExtents.
766 (AccessibleText_getBoundedRanges):
767 cspi binding for Accessibility_Text_getBoundedRanges.
768 (AccessibleTextRange_freeRanges): convenience method.
771 (AccessibleText_getRangeExtents):
772 cspi binding for Accessibility_Text_getRangeExtents.
773 (AccessibleText_getBoundedRanges):
774 cspi binding for Accessibility_Text_getBoundedRanges.
775 (AccessibleTextRange_freeRanges): convenience method.
776 (get_accessible_text_clip_type): internal conversion method.
777 (get_accessible_text_ranges_from_range_seq): internal conversion method.
779 * registryd/deviceeventcontroller.c:
780 (spi_dec_mouse_check):
781 Improved behavior for mouse:abs events
782 [same granularity as mouse:rel events, and no
783 events when mouse is idle].
785 2002-12-16 Michael Meeks <michael@ximian.com>
787 * cspi/spi_accessible.c (spi_state_to_corba): rename.
789 * libspi/stateset.c (state_spi_to_atk): split out
790 ( fix several remote array bounds nasties )
791 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
792 (impl_remove): make safe from array bounds issues.
793 (spi_atk_state_from_spi_state): impl.
795 * libspi/stateset.h (spi_state_set_cache_is_empty):
796 add a set of wrapper defines to get layering right.
798 * cspi/spi_accessible.c: update state set stuff to
801 2002-12-14 Michael Meeks <michael@ximian.com>
803 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
804 to avoid 2 roundtrips to the registry per key event
805 (spi_atk_bridge_key_listener): upd.
806 (deregister_application): release the dec.
808 * registryd/registry.c (notify_listeners_cb):
809 bin lots of re-enterant complexity - we no longer
810 do a round-trip bonobo ref here, ensure that a single
811 listener's exception failure won't poison all other
813 (impl_registry_notify_event): bin obvious memory leak.
815 2002-12-13 Michael Meeks <michael@ximian.com>
817 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
818 init the ev so the error is meaningful.
819 (spi_atk_bridge_key_listener): ditto.
821 * cspi/spi_main.c (cspi_ev): init the ev so we start
822 with a clean slate, otherwise the first exception
825 * cspi/spi_text.c (get_accessible_text_boundary_type):
826 add a fallthrough for no warnings.
828 * cspi/spi_registry.c: prune unused warnings.
830 * cspi/spi_main.c (cspi_object_take): fix
831 mind-blowing brokenness ( by watching the compile
834 * cspi/spi_accessible.c (Accessible_getStateSet):
835 re-impl. to use an AtkStateSet.
836 (spi_state_type_from_accessible_state),
837 (init_state_table): bin these.
839 * libspi/stateset.c (spi_atk_state_set_from_sequence):
841 (atk_state_set_from_accessibility_state_set): here.
843 * cspi/spi_accessible.c (spi_state_to_atk): impl.
844 (AccessibleStateSet_contains, AccessibleStateSet_ref),
845 (AccessibleStateSet_unref, AccessibleStateSet_contains),
846 (AccessibleStateSet_add, AccessibleStateSet_remove),
847 (AccessibleStateSet_equals, AccessibleStateSet_compare),
848 (AccessibleStateSet_isEmpty): re-write to use a local
851 2002-12-13 Bill Haneman <bill.haneman@sun.com>
853 * configure.in: Revved to 1.1.7 (new keymask vals).
855 2002-12-10 Bill Haneman <bill.haneman@sun.com>
858 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
860 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
863 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
864 to compare two CORBA_TypeCodes.
865 (cspi_internal_event_add): Silence warning from FORTE compiler.
867 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
868 avoid implicit declaration of functions.
870 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
872 * atk-bridge/bridge.c:
873 (spi_atk_bridge_init_event_type_consts): Store signal id for
874 active-descendant-changed signal.
875 (spi_atk_register_event_listeners): Add signal listener for
876 active-descendant-changed signal,
877 (spi_atk_bridge_signal_listener): Move code in function
878 spi_atk-signal_emit_event() into this function.
879 Add support for active-descendant-changed
880 Update support for child-changed signal.
881 (spi_bridge_window_event_listener): Silence warning.
883 * libspi/spi_private.[ch]:
884 (spi_init_any_object): Change second parameter from CORBA_Object to
886 Omit call to CORBA_Object_duplicate().
887 Set CORBA_any's _value to CORBA_Object*.
889 2002-12-06 Bill Haneman <bill.haneman@sun.com>
895 (AccessibleEvent_ref, AccessibleEvent_unref):
896 New methods, for persisting an event outside the emission context.
897 Must be used if the new accessor methods are to be called
898 outside of the event listener's callback.
900 * cspi/bonobo/cspi-bonobo.c:
901 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
902 as second parameter instead of NULL, so we can call
903 cspi_check_ev afterwards.
906 (cspi_object_take): New internal method,
907 converts a CORBA_Object reference to a hard ref on
908 an Accessible if possible, returning NULL if the object
909 reference is invalid or an Accessible * otherwise.
912 (AccessibleEvent_ref):
913 Increment the event's internal private refcount, and
914 add the event's internal struct to an internal cache
915 if it's not already there.
916 (AccessibleEvent_unref):
917 Decrement the event's refcount and remove it from
918 the cspi event cache if refcount==0.
919 (cspi_event_compare): New private method.
920 Compares two event structs via their ids. Used
922 (cspi_internal_event_lookup): New private method.
923 (cspi_internal_event_check): New private method,
924 a 0-order sanity check for events to make sure their
925 private data is intact.
926 (cspi_internal_event_add, cspi_internal_event_remove):
927 New private methods for managiing the event cache.
929 * cspi/bonobo/cspi-bonobo-listener.c:
931 Initialize the new private data elements (id, magic, ref_count).
933 * atk-bridge/bridge.c:
934 (spi_atk_bridge_signal_listener):
935 Fixed bug #100530, passing wrong params to emission func.
937 * registryd/deviceeventcontroller.c:
938 (spi_dec_button_update_and_emit):
939 Fixed type in mask bit operations; fix for #99799.
941 2002-12-02 Bill Haneman <bill.haneman@sun.com>
943 Removed some of the more dangerous workarounds from
944 previous commit; they are only needed by GOK, which
945 in reality should be using another method to accomplish
946 the goals. So on reconsideration some of the workarounds
949 * registryd/deviceeventcontroller.c:
950 (spi_keycodes_contain, spi_dec_init_keycode_list):
951 Removed these methods, used only by a nasty hack to try
952 and detect whether a key synthesis should be allowed
953 to reset the XKB latch state or not. This code was only
954 required to work around an interaction between GOK,
955 button events, and XKB.
956 (impl_generate_key_event):
957 Removed hack at end of key generation that tried to
958 "do the right thing" if XKB latch keys were generated
959 in the midst of button press/release pairs.
962 Added a check for HAVE_XINPUT. Not normally used yet.
964 2002-11-25 Bill Haneman <bill.haneman@sun.com>
966 Workarounds and fixes for mouse event/XKB interaction.
968 * registryd/deviceeventcontroller.c:
969 (spi_keycodes_contain, spi_dec_init_keycode_list):
970 New internal methods.
971 (spi_dec_set_unlatch_pending):
972 Split the method that tells XKB to expect an
973 unlatch (and revert it) out of the rest of the
974 event handling code. This method is called by the
975 two mouse event handlers (the poll and the filter).
976 (spi_dec_update_and_emit, spi_dec_mouse_check):
977 New methods split from spi_dec_poll_mouse_moved.
978 The second one is now called from inside the filterFn
979 when an XKB delatch event is received, to determine
980 whether to revert the delatch or not.
981 (spi_poll_mouse_moved): Refactor; also we can now
982 properly handle the case where multiple button states
983 have changed between polling cycles and we didn't get
984 notified due to another client's grab.
986 Synchronize the server while handling an XKB notification.
987 Ugly, but apparently necessary to avoid nasty races.
988 Check the mouse state on receipt of an XKB latch change,
989 to decide whether to revert the latch or not. (Latches are
990 reverted if there is an immediately preceding mouse button
991 event that a client has consumed, in which case we don't want
992 the user to see the side-effect of the event).
993 (spi_device_event_controller_forward_mouse_event):
994 Check for modifier events and fire before resetting mouse_mask_state,
995 prevents losing modifier events.
997 (impl_generate_keyboard_event):
998 If we've just generated a keyboard event for a non-shift key,
999 we don't want to revert the pending XKB latch.
1000 Otherwise, check the modifier state (via a call to
1001 spi_dev_mouse_check) and set the relatch mask to
1002 that state before returning.
1004 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1007 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1010 * atk-bridge/bridge.c:
1011 (spi_atk_register_event_listeners):
1012 Don't re-register for ATK events if the registry has died
1013 and the app needs to re-register; the ATK listeners are in
1014 process and doing so will cause duplicate emission.
1016 * registryd/deviceeventcontroller.c:
1017 (spi_poll_mouse_moved):
1018 Reformat the source, detect and emit multiple button-change
1019 events (i.e. if multiple buttons have changed between poll
1021 Add code to detect mouse-down events even when the pointer
1022 is grabbed; workaround for GOK bug 98420.
1023 (spi_controller_register_with_devices):
1024 Call XTestGrabControl with 'impervious' flag set to True,
1025 allows us to synthesize events and query the pointer even during
1026 an active grab by another client.
1027 (spi_device_event_controller_forward_mouse_event):
1028 Set the mouse_mask_state to the mouse_button_state from
1029 the intercepted event, to synchronize the grab listener with
1032 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1034 * cspi/spi_accessible.c:
1035 (AccessibleRole_getName):
1036 Added necessary strings for making this (deprecated)
1037 method work with the new role types.
1038 (init_role_table, role_table):
1039 Added definition of SPI_ROLE_APPLICATION.
1041 * libspi/spi-roletypes.h:
1042 Added SPI_ROLE_APPLICATION.
1044 * idl/Accessibility_Role.idl:
1045 Added ROLE_APPLICATION.
1047 * docs/reference/cspi/at-spi-cspi-decl.txt:
1048 Added SPI_ROLE_APPLICATION to docs.
1050 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1052 * cspi/spi_accessible.c
1053 (cspi_init_role_table): Do not write beyond end of role_table.
1054 (Accessible_getRole): Use correct type for value returned by
1055 Accessibility_Accessible_getRole().
1057 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1058 beyond end of role_table. (This fixes bug #98269)
1060 * libspi/application.c: Add include file spi-private.h for
1061 definition of spi_init_any_nil.
1063 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1067 * libspi/spi-private.h:
1068 Added DGB() macro, and extern int _dbg declaration.
1070 * registryd/registry.c:
1071 (definitions) storage for _dbg.
1072 (spi_registry_init):
1073 Get environment variable "AT_SPI_DEBUG".
1074 (spi_registry_set_debug):
1075 New method, to initialize _dbg value.
1076 (spi_listener_struct_new, spi_registry_object_finalize):
1077 (notify_listeners_cb):
1078 Changed fprintfs to use DBG and g_warning().
1080 * registryd/deviceeventcontroller.c:
1081 (_deregister_keygrab, spi_controller_register_device_listener):
1082 Changed debug/warning messages to use DBG macro.
1084 * libspi/listener.c:
1085 (impl_notify_event):
1086 Changed warning messages to use DBG macro and g_warning().
1088 * atk-bridge/bridge.c:
1089 (atk_bridge_init, spi_atk_bridge_get_registry):
1090 (spi_atk_bridge_exit_func):
1091 (spi_atk_bridge_property_event_listener):
1092 Changed status, warning, and error messages to use
1093 g_warning, g_message, and DBG macros.
1096 Read the state of the AT_SPI_DEBUG environment variable
1097 and set a local '_dbg' accordingly.
1099 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1101 FIXES for 98836, 98842, other bugs.
1104 Revved to 1.1.4, interface-age=4, binary-age=4.
1106 * registryd/deviceeventcontroller.c:
1108 Fixed crasher bug in last_mouse_pos initialization.
1110 * registryd/registry.c:
1111 (desktop_add_application, desktop_remove_application):
1112 Added (and then commented out) some support for
1113 object context marshalling. [TODO]
1115 * atk-bridge/bridge.c:
1116 (spi_atk_bridge_event_context_create):
1117 Commented out object context creation until it can
1118 be properly tested and debugged.
1120 * registryd/registry.c:
1121 (impl_registry_notify_event):
1122 Fixed crasher bug, we were calling
1123 spi_re_entrant_list_foreach () with an empty list.
1125 2002-11-18 Bill Haneman <bill.haneman@sun.com>
1127 * idl/Accessibility_Action.idl:
1128 * idl/Accessibility_Component.idl:
1129 * idl/Accessibility_Desktop.idl:
1130 * idl/Accessibility_Event.idl:
1131 * idl/Accessibility_Hyperlink.idl:
1132 * idl/Accessibility_Image.idl:
1133 * idl/Accessibility_Relation.idl:
1134 * idl/Accessibility_Selection.idl:
1135 * idl/Accessibility_State.idl:
1136 * idl/Accessibility_Value.idl:
1137 Updated unimplemented slot count to minimum of
1138 four for all interfaces, for ABI freeze.
1140 * idl/Accessibility_EditableText.idl:
1141 * idl/Accessibility_Text.idl:
1142 Updated unimplemented slot count to six
1145 * idl/Accessibility_Registry.idl:
1146 Updated unimplemented slot count to six
1147 (also for DeviceEventController),
1150 * idl/Accessibility_Table.idl:
1151 Updated unimplemented slot count to eight,
1154 * idl/Accessibility_Event.idl:
1155 Added CORBA_any "any_data" member to Event struct.
1157 * idl/Accessibility_Event.idl:
1158 Added CORBA_any "any_data" member to Event struct.
1160 * atk-bridge/bridge.c:
1162 atk_signal_text_changed, atk_signal_child_changed,
1163 signal ids queried from gtype system.
1164 (AtkBridgeEventContextType): New enum.
1165 (AtkBridgeEventContextData): New struct.
1166 (AtkBridgeEventContext): New struct.
1167 (atk_bridge_init_event_type_consts):
1168 New method, initializes type contants for comparison
1169 prior to emit_eventv.
1170 (atk_bridge_event_context_init): New method,
1171 initializes a CORBA_any from an AtkBridgeEventContext.
1172 (atk_bridge_focus_tracker): Call spi_init_any_nil to
1173 initialize the event.any_data struct.
1174 (spi_atk_bridge_event_context_create): New method,
1175 creates an AtkBridgeEventContext from signal/event info.
1176 (spi_atk_bridge_event_context_free): New method.
1177 (spi_atk_emit_eventv): Changed to take an
1178 AtkBridgeEventContext parameter. We now initialize
1179 the event.any_data member prior to notifying the
1180 Registry, via the AtkBridgeEventContext.
1181 (spi_atk_bridge_property_event_listener):
1182 (spi_atk_bridge_state_event_listener):
1183 Match emit_eventv signature.
1184 (spi_atk_bridge_object_event_listener):
1185 Match emit_eventv signature, and create an
1186 event context from the event details.
1187 Free the event context afterwards.
1188 (spi_atk_bridge_window_event_listener):
1189 Create an event context, pass it to the
1193 (AccessibleEvent_getContextString):
1194 (AccessibleEvent_getContextObject):
1195 New methods, allow query of AccessibleEvent objects
1196 for more context details (via the "any_data" member
1197 of the Event struct, above).
1200 Definitions for AccessibleEvent_getContextString
1201 and AccessibleEvent_getContextObject.
1203 * cspi/spi_listener.h:
1204 (InternalEvent): New struct.
1207 (AccessibleEvent_getContextString):
1208 (AccessibleEvent_getContextObject):
1209 Implementations of new methods, for obtaining
1210 additional context information from some event types.
1212 * cspi/spi_registry.c:
1213 (SPI_registerGlobalEventListener):
1214 Added mention of active-descendant-changed event in docs.
1216 * cspi/cspi-bonobo-listener.c:
1218 Marshal the any into the AccessibleEvent via
1221 * libspi/spi-private.h:
1222 #include <orbit/orbit.h>
1224 (spi_init_any_string):
1225 (spi_init_any_object):
1226 New convenience function declarations.
1230 (spi_init_any_string):
1231 (spi_init_any_object):
1232 New convenience function implementations.
1234 * registryd/deviceeventcontroller.c:
1235 (spi_poll_dec_mouse_moved):
1236 (spi_device_event_controller_forward_mous_event):
1237 Initialize any_data member of event.
1238 (spi_deregister_controller_device_listener):
1239 Fix incorrect param pass which was preventing deregistration.
1241 * registryd/registry.c:
1242 (desktop_add_application):
1243 (desktop_remove_application):
1244 Add object data to event's any_data before dispatch.
1246 Fix for error messages from GAIL.
1248 * test/event-listener-test.c:
1249 Test new ContextString and "any_data" API:
1250 (report_text_event): New method query and output context string.
1251 (main): register a new text listener with report_text_event
1254 2002-11-19 Darren Kenny <darren.kenny@sun.com>
1256 Fixes for bugs 98127 and 97914.
1257 * cspi/spi-roletypes.h:
1258 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1260 * cspi/spi-statetypes.h:
1261 Added SPI_STATE_MANAGES_DESCENDANTS
1263 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1264 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1265 * cspi/spi_accessible.c:
1266 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1267 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
1268 Accessibility_STATE_MANAGES_DESCENDANTS
1269 * libspi/accessible.c:
1270 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1271 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
1272 As requested by Bill, I also cleaned up the alignment.
1273 * libspi/relation.c:
1274 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1275 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1276 * libspi/stateset.c:
1277 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1278 Accessibility_STATE_MANAGES_DESCENDANTS
1279 * docs/reference/cspi/tmpl/spi_accessible.sgml:
1280 Document changes reflecting modifications to roles.
1281 * docs/reference/cspi/tmpl/spi_relation.sgml:
1282 Document changes reflecting modifications to relations.
1283 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1284 Document changes reflecting modifications to states.
1286 2002-11-17 Bill Haneman <bill.haneman@sun.com>
1289 Revved to 1.1.3, interface-age=3, binary-age=3.
1290 Added REBUILD macro.
1293 Removed accessx-gui from the tests, since we have a nice
1294 keyboard accessibility capplet now :-)
1296 * test/keysynth-demo.c:
1297 (increment_scan): removed do-nothing default: case,
1300 * test/visual-bell.c:
1301 (main) : removed do-nothing default: case,
1304 * cspi/spi_action.c:
1305 (AccessibleAction_getKeyBinding_):
1306 Documented keybinding string format.
1310 (AccessibleText_getAttributes):
1311 Documented the text attribute string format.
1312 It's changed to use semicolon delimiters also,
1313 to prevent clashes with CSS attributes, but the old
1314 trick of looking for ", " strings will still work
1315 (as unreliably as ever). Fix for bug related to 97916.
1318 Include <cspi/bonobo/cspi-bonobo-listener.h>
1319 Fixes build warning.
1320 (SPI_freeAccessibleKeySet):
1321 (AccessibleKeystrokeListener_addCallback):
1322 (AccessibleKeystrokeListener_removeCallback):
1323 Modify to use AccessibleDeviceListener API internally,
1324 instead of AccessibleKeystrokeListener.
1326 * idl/Accessibility_Event.idl:
1327 Added two more empty slots to EventListener (for a total of four).
1329 * idl/Accessibility_Accessible.idl:
1330 Added four empty slots to Accessible interface.
1332 2002-11-15 Bill Haneman <bill.haneman@sun.com>
1334 * idl/Accessibility_Registry.idl:
1335 (KeyEventType, EventType):
1336 Marked KeyEventType as deprecated; it duplicates
1337 functionality of EventType, which has been extended to
1338 include Mouse-button events.
1339 (KeyEventTypeSeq): defined in terms of EventType.
1340 (registerDeviceEventListener, deregisterDeviceEventListener):
1341 New methods, for managing listeners to device events,
1342 which potentially may consume them.
1345 Added definition for AccessibleDeviceListener.
1347 * cspi/spi-listener.h:
1348 (enum AccessibleDeviceEventType):
1349 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1350 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1351 for backwards compat.
1352 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1353 and typedef'd AccessibleKeystroke to it for back-compat.
1354 (AccessibleDeviceListenerCB):
1355 New function prototype typedef.
1358 (AccessibleDeviceEventMask): New typedef.
1359 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1360 (AccessibleKeyMaskType):
1361 Set equivalent to AccessibleModifierMaskType for back-compat.
1362 (SPI_createAccessibleKeystrokeListener):
1363 (AccessibleKeystrokeListener_unref):
1364 Deprecated in favor of equivalent (better-named) new API below..
1365 keystroke listeners are like all device listeners.
1366 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1367 New API names for old features :-).
1368 (AccessibleDeviceListener_addCallback):
1369 (AccessibleDeviceListener_removeCallback):
1370 (SPI_registerDeviceEventListener):
1371 (SPI_deregisterDeviceEventListener):
1375 (SPI_createAccessibleKeystrokeListener):
1376 Use new preferred API, cspi_device_listener_new() and
1377 cspi_device_listener_add_cb().
1378 (AccessibleKeystrokeListener_removeCallback):
1379 Use new preferred API, cspi_device_listener_remove_cb().
1380 (AccessibleKeystrokeListener_unref):
1381 Use new preferred API, cspi_device_listener_unref().
1382 (SPI_createAccessibleDeviceListener):
1383 (AccessibleDeviceListener_addCallback):
1384 (AccessibleDeviceListener_removeCallback):
1385 Implementation of new API.
1387 * cspi/spi_registry.c:
1388 (SPI_registerDeviceEventListener):
1389 (SPI_deregisterDeviceEventListener):
1390 Implementation of new API. Fixed memory leak and removed need to
1391 allocate EventTypeSeq (thanks Michael for catching this).
1392 Squashed a wayward CORBA_exception_free that shouldn't get called.
1394 * cspi/bonobo/cspi-bonobo-listener.c:
1396 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1397 (cspi_key_event): renamed to cspi_device_event().
1398 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1399 Extended to handle mouse button events as well as key events.
1400 (CSpiKeystrokeListener):
1401 Class superceded by CSpiDeviceListener.
1402 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1403 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1405 * cspi/bonobo/cspi-bonobo-listener.h:
1406 (CSpiKeystrokeListener):
1407 Class superceded by CSpiDeviceListener.
1408 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1409 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1411 * libspi/Makefile.am:
1412 Replaced keystrokelistener.h and keystrokelistener.c
1413 with devicelistener.h and devicelistener.c; keystrokelisener.h
1414 stub retained for back-compat.
1416 * libspi/keystrokelistener.c:
1420 Replaced inclusion of keystrokelistener.h with devicelistener.h.
1422 * registryd/deviceeventcontroller.c:
1423 (DEControllerListener): Added Accessibility_EventTypeSeq member.
1424 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1425 (DEControllerPrivateData): Added xkb settings data.
1426 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1427 button release events (which can't be captured via XGrabButton).
1428 Don't dispatch via the 'normal' event mechanism if the device event was
1430 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1431 Handle the typeseq data in its new location (see above).
1432 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1433 New methods, for "generic" device listeners.
1434 (spi_controller_register_device_listener):
1435 Now handle mouse event listeners as well as key listeners.
1436 (spi_controller_notify_mouselisteners):
1437 New internal method.
1438 (spi_device_event_controller_forward_mouse_event):
1439 Now we notify mouse device listeners as well as generating the
1440 non-consumable "mouse:" events.
1442 We must check and restore the XKB
1443 modifier map if we consume the event, since the act of triggering
1444 a mouse event will normally reset the XKB latch. This is required for
1446 (spi_controller_register_with_devices):
1447 Load the XKB settings when registering, and register for XKB
1448 state notify events.
1449 (spi_key_eventtype_seq_contains_event):
1450 Renamed spi_eventtype_seq_contains_event, since it's used
1451 internally for all device event types now.
1452 (spi_key_event_matches_listener):
1453 Uses spi_eventtype_seq_contains_event now.
1454 (spi_device_event_controller_object_finalize):
1455 Free the private data and the XkbKeyboard struct.
1456 (impl_register_device_listener, impl_deregister_device_listener):
1457 Implementation of new IDL.
1458 (spi_deregister_controller_device_listener):
1459 New internal method.
1460 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1461 More efficient implementation, we don't have to create a new
1462 XkbControls structure every time we query.
1463 (spi_device_event_controller_class_init):
1464 Initialize the epv entries for the new IDL. Assign the
1465 "spi-dec-private" quark.
1466 (spi_device_event_controller_init):
1467 Initialize the private data.
1468 (spi_device_event_controller_forward_key_event):
1469 Removed a bogus CORBA_exception_free() call.
1471 * registryd/deviceeventcontroller.h:
1472 Replaced inclusion of keystrokelistener.h with
1475 * test/event-listener-test.c:
1476 (report_mouse_event):
1479 Added mouse-event device listener.
1481 * test/test-simple.c:
1482 (create_test_window):
1483 Fixed regression (we were instantiating a GtkRange,
1484 which is now an abstract class). Also fixed to match
1485 existing AtkRole names, this seems to have changed in ATK
1486 awhile ago; too late now I think, and the new
1487 mechanism is at least elegant and consistent with the
1488 glib enum "nick" APIs.
1490 2002-11-15 Darren Kenny <darren.kenny@sun.com>
1492 * idl/Accessibility_Relation.idl:
1493 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1494 RELATION_EMBEDS,RELATION_EMBEDDED_BY
1495 * idl/Accessibility_Role.idl:
1496 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1497 * idl/Accessibility_State.idl:
1498 add STATE_MANAGES_DESCENDANTS
1499 * test/event-listener-test.c:
1500 Added a listener for active-descendant events.
1502 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
1504 * atk-bridge/bridge.c
1505 (atk_bridge_init): If application is Bonobo component wait until top
1506 level is added before registering
1507 (spi_atk_bridge_do_registration): New function which contains code,
1508 formerly in atk_bridge_init, to do application registration.
1509 (spi_atk_bridge_toplevel_added): Signal called when top level
1510 added to Bonobo component
1512 This fixes bug #83134.
1514 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
1516 * registryd/deviceeventcontroller.c
1517 Fixed compilation error caused by calling gettimeofday()
1520 2002-10-18 Bill Haneman <bill.haneman@sun.com>
1525 Added template for HAVE_XKB.
1528 Changes to check for XKB, and to set the HAVE_XKB #define if it
1531 * libspi/listener.c:
1532 ()impl_notify_event): Make failure to get event source name
1535 * registryd/deviceeventcontroller.c:
1536 (#include): include X11/XKBlib.h.
1537 (DEControllerPrivateData) : New struct.
1538 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
1540 (dec_synth_keycode_press) (dec_synth_keycode_release):
1541 New methods; split the key synthesis code into these methods.
1542 They check XKB settings before determining the "time" values to
1543 pass to Xtest; this fixes bug #95828.
1544 (impl_generate_keyboard_event): Changed to use methods above,
1545 instead of callng Xtest directly.
1546 (spi_device_event_controller_init): Initialize new privae struct s
1548 (spi_device_event_controllr_object_finalize):
1549 Free the (new) private data.
1551 * registryd/deviceeventcontroller.h:
1552 Add new gpointer to end of struct data.
1554 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1557 Incremented revision to 1.1.2, SONAME is still '.so', library
1558 extensions are ".so.0.0.2".
1560 * registryd/deviceeventcontroller.c:
1561 FIXES FOR #93592 and #95940.
1562 (statics): renamed mouse_button_state to mouse_mask_state,
1563 added key_modifier_mask.
1564 (spi_dec_poll_mouse_moved):
1565 Added key modifier checks, and emit "keyboard:modifiers"
1566 events when the key modifiers currently in use change.
1567 Also generate "mouse:abs" events periodically, even if the mouse
1568 is stationary (should we?).
1569 Alternatively we could generate "mouse:abs" events for either all
1570 mouse movements, or every 'nth' mouse movement, or at the
1571 beginning and end of every "active" mouse period.
1573 * test/event-listener-test.c:
1574 (main): Added listener for "keyboard:modifiers" events.
1576 2002-10-15 Bill Haneman <bill.haneman@sun.com>
1578 * libspi/keymasks.h:
1579 Added key mask #defines for mouse buttons; e.g.
1580 SPI_KEYMASK_BUTTON1, etc.
1583 Incremented dependency on ATK to version 1.1.0. (This dependency
1584 is probably premature but will soon be real enough).
1586 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
1588 * libspi/hyperlink.[ch]
1589 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
1590 (get_hyperlink_from_servant): Check object is AtkHyperlink not
1593 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
1598 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
1600 * registryd/deviceeventcontroller.c
1601 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
1602 events to be ignored.
1603 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
1604 keyboard_mode so that XAllowEvents() can be called.
1608 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
1610 * cspi/spi-accessible.c: Correct names of roles returned by
1611 AccessibleRole_getName(). Fixes bug #95055.
1613 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
1615 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
1618 * registryd/registry.c
1619 (desktop_remove_application: Write diagnostic message to stderr for
1622 (impl_accessibility_registry_deregister_global_event_listener):
1623 Correct size of lists array. This addresses bug #94555).
1625 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
1627 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
1630 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
1632 * registryd/Makefile: Add CLEANFILES so that .server file is removed
1635 * registryd/registry.c (impl_registry_notify_event): Remove
1636 unnecessary call to parser_event_type().
1638 * docs/reference/cspi/tmpl/spi_component.sgml:
1639 Add reference to SPI_LAYER_WINDOW.
1641 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
1643 * registryd/registry.c
1644 (desktop_add_application): Remove leak.
1645 (desktop_remove_application): Remove leak.
1646 (parser_event_type): Remove leak.
1648 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
1650 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1651 bogus call to CORBA_string_dup(). Also removed unnecessary
1652 g_string_dup/g_free calls.
1654 2002-09-13 Bill Haneman <bill.haneman@sun.com>
1656 * registryd/deviceeventcontroller.c:
1657 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1659 * test/event-listener-test.c:
1660 main: commented out three redundant listeners, to reduce output
1661 noise. (They still are potentially useful for testing).
1664 2002-09-13 Michael Meeks <michael@ximian.com>
1666 * Update all the copyrights to include Ximian.
1668 2002-09-06 Mark McLoughlin <mark@skynet.ie>
1670 * cspi/spi.h: add SPI_LAYER_WINDOW.
1672 * cspi/spi_component.c: (AccessibleComponent_getLayer):
1673 add Accessibility_LAYER_WINDOW case.
1675 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1677 * libspi/component.c: (impl_accessibility_component_get_layer):
1678 add ATK_LAYER_WINDOW case.
1680 2002-08-28 Bill Haneman <bill.haneman@sun.com>
1682 * configure.in: incremented micro version.
1684 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1686 2002-08-20 Bill Haneman <bill.haneman@sun.com>
1689 Clarified and reworded our commit policy.
1692 Started an API "todo" addition list for 2.2.
1695 (impl_getSelection):
1696 Free char pointer from atk_text_get_selection, which was being leaked.
1698 2002-08-19 Bill Haneman <bill.haneman@sun.com>
1701 Small revision to author acknowledgement.
1703 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1705 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1706 If signal has detail add it to the type of the event.
1709 2002-08-12 Michael Meeks <michael@ximian.com>
1711 * test/test-simple.c (global_listener_cb): bin bogosity.
1712 (test_keylisteners): disable, still doesn't work reliably,
1713 certainly not on my system anyway.
1715 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1716 don't leak a reference on the DEC. This round-trip
1717 fetching of the DEC per keystroke sucks, it should be
1720 * cspi/spi-private.h,
1721 * cspi/cspi-lowlevel.h,
1722 * cspi/bonobo/cspi-bonobo-listener.[ch],
1723 * cspi/bonobo/cspi-bonobo.c: get the copyright
1724 notices better - there is still a large amount of
1725 work in at-spi falsely attributed solely to Sun.
1727 * cspi/spi_main.c (cspi_object_ref): kill bogus
1728 hash lookup, just increment the ref.
1729 (SPI_freeString): make explicit the fact that we
1730 handle NULL strings just fine.
1731 (report_leaked_ref): obey coding standards.
1732 (cspi_object_hash, cspi_object_equal): kill retval.
1733 (cspi_object_release): only release if not on loan.
1734 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1735 (cspi_object_borrow, cspi_object_return): impl.
1737 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1738 use cspi_object_borrow / return.
1740 2002-08-12 Darren Kenny <darren.kenny@sun.com>
1742 * cspi/bonobo/cspi-bonobo-listener.c:
1744 Don't call cspi_oject_new() because this is creating a new Accessible
1745 every single time that an event is fired. This causes ATs like at-poke
1746 to nolonger recognise the source of the event and thus ignore it.
1747 Re-use the object from the cache, ref it and then unref it after the
1748 listeners have been called.
1750 2002-08-06 Darren Kenny <darren.kenny@sun.com>
1752 * test/event-listener-test.c:
1753 Added command-line options to disable mouse events (m) and
1756 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
1758 * configure.in: Update required versions of ATK, GTK+ and GAIL
1760 * cspi-1.0.pc.in: Add dependency for X include files
1763 * cspi/bonobo/Makefile.am:
1764 Add $(X_CFLAGS) so that X include files
1765 are picked up even if not in standard place (bug #71686)
1767 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1769 * registryd/deviceeventcontroller.c: fix for 84261
1770 (spi_dec_mouse_moved):
1771 Added test of mouse button mask, so that we can detect mouse
1772 button release. Unfortunately we can't otherwise detect mouse
1773 button release events without consuming the mouse press event,
1774 because of the way XGrabButton works. This means that our mouse
1775 release events have a latency dependent on the polling period
1776 while the mouse button is down. At least in this case we only
1777 have to poll while the button is down, and not at other times.
1778 If the button masks don't match with what the last press event
1779 reported, we report the appropriate button release event.
1780 (spi_dec_ungrab_mouse):
1781 New method (not yet called).
1782 (spi_device_event_controller_forward_mouse_event):
1783 New method, sends mouse press event from GdkFilter.
1784 (spi_dec_init_mouse_listener):
1785 Added code to call XGrabButton, redirecting mouse button events to
1786 the root window and our Gdk event loop.
1788 Added code to filter mouse button events, and reordered.
1790 * test/event-listener-test.c:
1792 Added registration for mouse events of type "mouse:button".
1794 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1796 * registryd/deviceeventcontroller.c: partial fix for 84261
1797 (spi_dec_poll_mouse_idle):
1798 New method, a timeout which checks to see if the mouse
1800 (spi_dec_poll_mouse_moving):
1801 A timeout to be called when mouse motion is underway.
1802 (spi_dec_poll_mouse_moved):
1803 A method which fires an event if the mouse has moved, and reports
1804 whether or not it did so.
1805 (spi_dec_init_mouse_listener):
1806 A method which sets up the timeouts above.
1807 (spi_device_event_controller_new):
1808 Now calls spi_dec_init_mouse_listener.
1810 * registryd/registry.c:
1811 (spi_registry_init):
1812 Now we initialize the device event controller when the registry is
1813 initialized, instead of waiting until a client has requested a key
1814 event notification; this is because we need the event controller
1815 for mouse events, but the mouse event registration API is a
1816 "registry" call and doesn't explicitly call the
1817 deviceeventcontroller.
1818 We now report mouse motion events with a 100 ms idle latency and
1819 a 20 ms granularity when motion is in progress.
1821 * test/event-listener-test.c:
1823 We now register the "detail listener" for events of type
1824 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1825 delivered only for the first mouse event received, and thereafter
1826 "mouse:abs" events are delivered.)
1828 * cspi/spi_registry.c:
1829 DOCS: Documented the above mouse event typestrings.
1831 2002-06-21 Bill Haneman <bill.haneman@sun.com>
1833 Happy Summer Solstice...
1835 * registryd/deviceeventcontroller.c: [fix for bug 84100]
1836 (spi_controller_notify_keylisteners):
1837 Changes to remove a listener from the listener list, freeing its
1838 open keygrabs, if a notification to that listener fails. This
1839 means that although a dead listener can continue to hold a passive
1840 keygrab, a maximum of one dispatch to such a listener can fail
1841 before the listener is removed from the list, thus the keygrab
1842 will be released on the next occurrence.
1843 As part of this fix:
1844 (spi_notify_keylisteners):
1845 Renamed to spi_controller_notify_keylisteners, as the controller
1846 instance must now be passed as an argument.
1847 The copied 'notify' GList is now a list of DEControllerKeyListener
1848 objects, since we need more than just the CORBA reference if a
1849 notify fails and we need to deregister the listener.
1850 (impl_notify_listeners_sync):
1851 (impl_notify_listeners_async):
1852 (spi_device_event_controller_forward_key_event):
1853 Modify use of notify_keylisteners in accordance with above
1855 (spi_deregister_controller_key_listener):
1856 New method introduced by refactoring, from
1857 impl_deregister_keystroke_listener.
1858 (impl_deregister_keystroke_listener):
1859 Call spi_deregister_controller_key_listener.
1860 (spi_key_listener_clone):
1861 New method to copy a key listner without doing a 'ref' on the
1862 remote object instance; used to create a notifier list.
1863 (spi_key_listener_data_free):
1864 New method, frees data without unreffing the source.
1866 (spi_key_listener_clone_free): new method.
1867 (spi_key_listener_free):
1868 refactored to call spi_key_listener_data_free.
1870 2002-06-20 Bill Haneman <bill.haneman@sun.com>
1872 * registryd/registry.c: [fix for bug 86048]
1873 (notify_listeners_cb):
1874 Clear CORBA system exceptions which occur when notifying
1875 listeners, before returning to the source of the original event,
1876 since the event source doesn't care if the relayed notify failed.
1877 In other words, don't complain to the atk-bridge if the registry
1878 could not notify all its listeners, that's no fault of the
1879 application and thus should not appear to be an error from the
1880 application's perspective.
1882 * cspi/spi_main.c: [fix for bug 85980]
1884 Replaced use of bonobo_object_dup_ref with call to the wrapper
1885 method, csou_dup_ref (); this silences a compiler warning and
1886 provided more portability.
1888 Ping the registry before return, and restart if necessary.
1890 * cspi/bonobo/cspi-bonobo.c:
1892 New internal method.
1894 Fixed this method to return an object reference, as it should have
1897 * cspi/cspi-lowlevel.h:
1898 Added internal definition for cspi_ping() and fixed
1899 return type of cspi_dup_ref().
1902 2002-06-19 Bill Haneman <bill.haneman@sun.com>
1904 * atk-bridge/bridge.c: [fix for bug 85305]
1905 (spi_atk_bridge_register_application):
1906 New method where the initial application registry calls have been
1907 moved; it allows an application to re-register in response to
1908 certain error conditions (such as a registry restart, see below).
1910 Moved some initialization code to the method
1911 spi_atk_bridge_get_registry, below.
1912 (spi_atk_bridge_get_registry):
1913 New, private accessor function for the Accessibility_Registry
1914 instance. If the registry has not been started before, or has
1915 died (as detected by failure of a CORBA exception), it is
1916 restarted before return, and spi_atk_bridge_register_application
1917 is called again to register with the new bridge instance.
1918 (spi_atk_emit_eventv):
1919 Set registry_died on error; use spi_atk_bridge_get_registry () to
1920 access the registry.
1922 * registryd/registry.c:
1923 (impl_accessibility_registry_register_global_event_listener):
1924 Set listener's event_type_quark to etype.minor instead of
1925 etype.major (fix for bug 84856).
1927 * test/event-listener-test.c:
1928 (report_detail_event):
1929 Change the output string so that user/tester can tell that the
1930 'detail listener' was called instead of the 'generic listener'.
1932 2002-06-18 Bill Haneman <bill.haneman@sun.com>
1934 Fixes for bugs 84900, 84908, 84897, 84898.
1939 Revved version to 1.1.0
1940 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
1941 version is going to HEAD which will be used for gnome-2-0-1 and later.)
1943 * idl/Accessibility_Registry.idl:
1944 (EventListener::notifyEvent):
1945 Removed 'oneway' directive after extensive consulation with
1946 ORBit2 team and others. This means also that unref() of the event
1947 source can and should be done synchronously after emission, rather
1948 than remotely in the client, after servicing the notify call on
1951 NOTE: This change speeds up listener performance considerably, but
1952 introduces new latency on the application side. We may want to
1953 add an event queue to the atk-bridge.
1955 * atk-bridge/bridge.c:
1956 (spi_atk_bridge_focus_tracker):
1957 Do a local unref() on the event source after emission.
1959 * registryd/registry.c:
1960 (desktop_remove_application):
1961 Do an unref() on the event source after emission.
1962 (desktop_add_application):
1963 Do an unref() on the event source after emission.
1964 (notify_listeners_cb):
1965 When relaying an event, don't automatically add the event source
1966 to the local object cache, just CORBA_dup it instead. Likewise,
1967 if this method reenters, release the ref rather than calling
1969 (impl_registry_notify_event):
1970 No longer call remote unref() on the event source after dispatch.
1972 * libspi/eventlistener.c:
1973 (impl_accessible_event_notify_event):
1974 Removed remote unref ()
1976 * cspi/bonobo/cspi-bonobo-listener.c:
1978 We now call cspi_object_new() instead of cspi_object_add() on
1979 receipt of an event; thus we only have an implicit object ref
1980 while the cspi_event method is being executed. If we need to keep
1981 a reference to the object, the listener must call ref() on the
1982 object. Thus also we don't need to call cspi_object_unref() after
1983 invoking the listener callbacks in this method.
1987 New internal API for creating a new cspi object, without adding it
1988 to the object cache.
1990 Now uses cspi_object_new() to create the cspi object instance.
1992 Now checks to see if the object is in the internal object cache,
1993 and adds it if necessary before incrementing its refcount (note
1994 that new objects are added with a refcount of 1).
1995 (report_leaked_ref):
1996 New method which gives some information on leaked object instances
1997 if leak detection is turned on.
1999 * test/event-listener-test.c:
2000 (timing_test_event):
2001 New method, used for testing event delivery timing for special
2002 events of type "object:test". It reports elapsed time and
2003 events/sec every 500 events.
2005 Added a new listener, 'test listener', to check timing of event
2006 receipt as noted above.
2008 Added some timing output here also, reports elapsed time every 100
2011 * test/stress-test.c:
2012 Emit events of type "object:test", for use with "event-listener-test".
2014 * test/test-simple.c:
2015 (global_listener_cb):
2016 Call Accessible_ref() on the event source before calling
2017 validate_accessible, since the validation process does pointer
2018 comparisons on the event source, meaning that the event source
2019 needs to be added to the local object cache first. Any use of
2020 such pointer comparisons between Accessible objects requires that
2021 the caller hold an explicit reference to those objects.
2022 We also must therefore call Accessible_unref() when leaving this method.
2024 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2026 * registryd/deviceeventcontroller.c:
2027 (spi_controller_update_key_grabs):
2028 Fix for #84735, subsequent keygrab listeners not informed of
2029 registration failure.
2032 (spi_base_construct):
2033 Add an assertion on construct, to make sure the GObject passed in
2034 is really a GObject.
2036 Explicitly initialize object->gobj pointer to NULL;
2038 * cspi/bonobo/cspi-bonobo-listener.c:
2039 (cspi_object_add_ref):
2040 New method, can specify whether to dup-ref a bonobo object passed
2041 in if it's newly added to the object cache.
2043 Now calls cspi_object_add_ref with second param of "FALSE". This
2044 prevents us from doing a pointless dup-ref followed by
2045 release-unref for all those cases where the object is already in
2046 our object cache (fix for #85205).
2048 * atk-bridge/bridge.c:
2049 (spi_atk_bridge_idle_init):
2050 Removed this method, we don't need to initialize in an idle
2053 Changed to call spi_atk_register_event_listeners directly, not via an
2054 idle handler. (fix for #81139)
2055 (gnome_accessibility_module_shutdown):
2056 Removed conditional around deregistration of listeners, since we
2057 don't use the idle handler and thus have always registered when
2059 (spi_init_keystroke_from_atk_key_event):
2060 Changed references to Accessibility_KEY_PRESSED to
2061 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2063 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2065 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2070 * test/stress-test.c:
2073 (may have been an incomplete commit yesterday?)
2075 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2078 Added target for new stress-test.
2080 * test/stress-test.c:
2081 New test, sends 1000 focus notifies in quick succession.
2083 * test/key-listener-test.c:
2084 Now we report whether a keylistener registration
2085 request succeeded or failed.
2087 * test/event-listener-test.c:
2088 Uncommented some listeners which are now implemented.
2091 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2093 * registryd/deviceeventcontroller.c:
2094 (spi_controller_update_key_grabs):
2095 Fix for #82509, lack of failure notification when
2096 ALL_WINDOWS keygrabs fail due to XGrabKey
2097 failure: we synchronize the server when
2098 registering a passive grab, to make sure we get the
2099 error message before the call returns.
2101 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2103 * test/test-simple.c:
2105 Removed #ifdef KEY_IMPL_WORKS guards.
2106 (test_keylisteners):
2107 Removed #ifdef KEY_IMPL_WORKS guards.
2108 Fixed bug which was causing a hang waiting for a
2109 "press" event (which was already overwritten by a "release"
2110 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2112 Added code to set globals 'key_press_received' and
2113 'key_release_received'.
2116 Added section "1.1 API Proposed Additions" which
2117 lists API additions desired for at-spi-1.1 (only one so far).
2118 Updated TODO list a little.
2120 2002-06-02 Bill Haneman <bill.haneman@sun.com>
2122 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2125 * configure.in: Revved to 1.0.0.
2127 * idl/Accessibility_Registry.idl:
2128 (registerKeystrokeListener):
2129 Added boolean return value.
2131 * registryd/registry.c:
2132 (notify_listeners_cb): Minor fix to debug output.
2134 * registryd/Accessibility_Registry.server.in.in:
2135 Revved version number in OAFIID to 1.0.
2137 * registryd/registryd.c:
2139 Use new OAFIID version.
2141 * cspi/bonobo/cspi-bonobo.c:
2143 Use new OAFIID version.
2149 * atk-bridge/bridge.c:
2151 Use new OAFIID version.
2153 * registryd/deviceeventcontroller.c:
2154 (impl_register_keystroke_listener):
2155 Added CORBA_boolean return value.
2156 (spi_controller_register_device_listener):
2157 Added gboolean return value.
2158 (spi_controller_register_global_keygrabs):
2159 Added gboolean return value.
2160 (spi_key_set_contains_key):
2161 Added implementation for many more control keys,
2162 for instance F1-F12, arrow keys, End, Home, Page_Up,
2164 [TODO: some still not implemented].
2166 * text/screen-review-test.c:
2167 (text_chunk_pad_string):
2168 New function: it provides mapping between coordinate
2169 positions of text chunks and character positions in the
2170 screen-review-line output string.
2171 (text_chunk_to_string):
2172 New function, calls text_chunk_pad_string with various
2173 pad/delimiter characters. Pushbuttons are delimited with
2174 square brackets, Frames with vertical 'pipe' lines, and
2175 other text with double quotes.
2176 (text_chunk_list_to_string):
2177 Calls new function text_chunk_to_string.
2178 (toplevel_composite):
2179 New function to composite layers CANVAS through
2180 POPUP in each toplevel (other layers are composited
2181 across toplevels, i.e. BACKGROUND and OVERLAY).
2182 (review_buffer_composite):
2183 Revise to use new methods.
2189 2002-05-31 Laszlo Peter <laca@sun.com>
2191 * configure.in: add the Xtst libdir to the runpath on Solaris,
2192 since it's not in the default library search path.
2194 2002-05-29 jacob berkman <jacob@ximian.com>
2196 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2198 2002-05-29 Bill Haneman <bill.haneman@sun.com>
2200 * test/screen-review-test.c:
2201 (text_chunk_pad_string):
2202 Added method, which pads the string according to the
2203 text bounds of the chunk. It also takes a 3-character
2204 string as a param which indicates the characters to be
2205 used for start, padding, and end delimitation of the chunk.
2206 (text_chunk_to_string):
2207 Changed to use text_chunk_pad_string.
2209 * configure.in: Fixed bug in AC_OUTPUT that was
2210 causing path substitution in Accessibility_Registry.server
2213 2002-05-23 Bill Haneman <bill.haneman@sun.com>
2215 * text/screen-review-test.c:
2216 (guess_string_clip):
2217 New method which attempts a best-guess at clipping
2218 text from components (like Java labels) which don't
2219 actually implement AccessibleText. This inaccurate
2220 clip is based on the assumption that the label is
2221 justified left-and-right, and monospaced.
2222 (text_chunk_get_clipped_string):
2223 We now call guess_string_clip() for text-containing
2224 components that don't implement AccessibleText.
2226 * test/screen-review-test.c:
2227 (review_buffer_get_text_chunk):
2228 We now pull "name" from labels if they do not implement
2229 AccessibleText (i.e. for Java labels).
2230 (get_screen_review_line_at):
2231 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2234 Replaceded AC_OUTPUT target
2235 registryd/Accessibility_Registry.server with
2236 registryd/Accessibility_Registry.server.in.
2238 * registryd/Accessibility_Registry.server.in:
2239 Removed (this is now a Makefile target).
2241 * registryd/Accessibility_Registry.server.in.in:
2242 Added (source for target above). We now use $(libexecdir) as
2243 prefix for the executable at-spi-registryd.
2245 * registry/Makefile.am:
2246 Now install at-spi-registryd into $(libexecdir), and build .server
2247 file with path (see above).
2249 2002-05-22 Bill Haneman <bill.haneman@sun.com>
2251 * test/screen-review-test.c:
2252 (text_chunk_get_clipped_string):
2253 We now check to see if words fall within clip bounds
2254 before resorting to character-by-character clip bounds testing.
2256 * TODO: Added a section for "2.2 Proposed API Additions".
2258 2002-05-21 Bill Haneman <bill.haneman@sun.com>
2260 * test/screen-review-test.c:
2262 Added a screen review benchmarking and test program to test
2265 * cspi/spi_accessible.c:
2267 Made some of the debug strings passed to cspi_check_ev a
2268 little more specific.
2270 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
2272 * test/screen-review-test.c: Fix crashes in debug statements
2274 2002-05-20 Bill Haneman <bill.haneman@sun.com>
2276 * test/screen-review-test.c: Added this file.
2278 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2280 * atk-bridge/bridge.c: changed "object:state-change" to
2281 "object:state-changed" to match docs.
2283 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2285 * atk-bridge/bridge.c: Hooked up state-change event details.
2287 2002-05-11 Bill Haneman <bill.haneman@sun.com>
2289 * registryd/registry.c:
2290 Fixed quarking bug in event string parsing; now events with
2291 detail parameters get matched correctly to listeners.
2294 * util/idl/Magnifier.idl: remove.
2296 * util/*.[ch]: Remove.
2297 Magnification utilities and IDL are now in module gnome-mag.
2299 2002-05-10 Bill Haneman <bill.haneman@sun.com>
2301 * registryd/deviceeventcontroller.c:
2302 Fixed bug in grab key conversion which was causing keycode grabs
2303 to be converted to AnyKey grabs.
2306 updated NEWS file to reflect recent spin-off of gnome-mag.
2308 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
2310 * cspi/spi_accessible.c: Added exception checks. Fixed completely
2311 busted AccessibleStateSet_compare. Removed redundant casts.
2313 * cspi/spi-action.c: Removed redundant casts.
2315 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2317 * cspi/spi_component.c: Fixed typos and casting error.
2319 * cspi/spi_editabletext.c: Removed redundant casts.
2321 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2323 * cspi/spi_hypertext.c: Eliminated redundant casts.
2325 * cspi/spi_image.c: Eliminated redundant casts.
2327 * cspi/spi_registry.c: Eliminated redundant casts.
2328 SPI_deregisterGlobalEventListenerAll () removed retval variable.
2329 * cspi/spi_selection.c: Removed redundant casts.
2330 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
2331 handling. Screen geometry and text offsets were being returned as 0
2332 on error which is technically valid-- changed these to return -1.
2333 Added marshaller for text boundary types to fix bug with boundary
2334 types being passed incorrectly to atk.
2336 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2339 * cspi/spi_registry.c:
2340 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2341 which was uncovered by the recent key changes.
2343 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2345 * test/event-listener-test.c:
2347 Added new test, "event-listener-test";
2348 this code does two things; it benchmarks traversal time
2349 for the accessible hierarchy for the first running accessible
2350 app, and it connects listeners for all supported event types.
2351 It is thus useful as an example event listener and for
2352 diagnostics/debugging of event generation.
2354 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2357 Removed unnecessary dependency on libutil.
2360 Revved micro version: 0.13.1
2362 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2365 Removed util/Makefile from targets.
2368 Removed util subdir from SUBDIRS (temporarily,
2369 pending removal of magnifier-only code
2373 #ifdef-ed out magnifier dependencies, since
2374 magnifier IDL, headers, and binary now live in
2375 module gnome-mag and we don't want at-spi to depend
2376 on gnome-mag. A magnifier demo which can run alongside
2377 simple-at is forthcoming in the gnome-mag module.
2379 NOTE: Split magnifier binary, IDL, and magnification
2380 activation code from at-spi into module gnome-mag.
2382 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
2384 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2385 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2387 2002-05-03 Bill Haneman <bill.haneman@sun.com>
2390 Revved to version 0.13.0
2392 * idl/Accessibility_Registry.idl:
2393 Changed definition of KeySet from sequence of longs to sequence of
2394 KeyDefinitions, and added KeyDefinition struct.
2395 Required for fix to bug 80616.
2397 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2398 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2399 to use new definition (see above).
2401 * registryd/deviceeventcontroller.c: handle_keygrab(),
2402 spi_keyset_contains_key():
2403 Changed to make use of new struct; this allows matching based on
2404 string key-name, for instance "Tab". This also allows matching of
2405 composed characters, non-alphanumeric characters in a way that
2406 doesn't involve dependencies on X keysym codes directly, etc.
2408 * test/key-listener-test.c:
2409 Added test for Alt-Tab key using "string" specification of keyset,
2410 and modified one of the tests to use a keycode-based keyset.
2411 Thus this test both tests and demonstrates the creation and use of
2412 keysets of three forms: specified via keycode array,
2413 keysym array, and string array. (The string case only contains a
2414 single string, i.e. a string array of length 1).
2417 Turned on PRINT_TREE option by default. Also fixed a
2418 string-freeing bug in the PRINT_TREE code.
2419 Added a listener to window:minimize events.
2421 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
2423 * atk-bridge/bridge.c:
2424 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2425 for window:activate and window:deactiveate
2426 (atk_bridge_property_event_listener atk_bridge_signal_listener
2427 atk_bridge_window_event_listener) Tidy debug code
2429 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
2431 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2432 Fixed handling for NULL return value from ATK.
2434 * libspi/action.c libspi/component.c libspi/editabletext.
2435 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2436 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2437 Removed redundant casts.
2439 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2440 Fixed off by one bug.
2442 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2443 function not present in idl)
2445 2002-05-02 jacob berkman <jacob@ximian.com>
2447 * atk-bridge/Makefile.am: make atk-bridge a real module
2449 2002-04-26 Radek Doulik <rodo@ximian.com>
2451 * libspi/stateset.c (spi_init_state_type_tables): fix size of
2452 atk_state_types table
2454 2002-04-22 jacob berkman <jacob@ximian.com>
2457 * libspi/Makefile.am: add deps on the built files to help
2458 automake, and don't version the ORBit typelib
2460 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
2462 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
2463 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2464 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
2465 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2466 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2467 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2468 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2469 libspi/accessible.h libspi/accessible.h libspi/base.h
2470 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
2471 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2472 libspi/relation.h libspi/remoteobject.h libspi/selection.h
2473 libspi/spi-private.h libspi/statetset.h libspi/table.h
2474 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2475 util/mag_client.h util/mag_control.c util/mag_image.c
2476 util/mag_image.h util/magnifier.c util/magnifier.h:
2477 Add missing file headers; standardize existing ones
2479 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
2481 * atk-bridge/bridge.c: Added window event support.
2483 2002-04-18 Michael Meeks <michael@ximian.com>
2485 * libspi/relation.c (impl_getNTargets): impl.
2486 (impl_getTarget): impl.
2488 * libspi/Makefile.am: fix stateset install.
2490 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2493 Started putting useful info in this file.
2495 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
2497 * atk-bridge/bridge.c:
2498 Propagate state-changed notifications to ATs
2500 * cspi/spi_registry.c: update docs to reflect actual behavior of
2501 state-change events.
2503 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2506 Incremented version to 0.12.1
2508 * util/mag_client.h:
2509 Add missing declaration for magnifier_exit,
2510 used by mag_control.c - Forte compiler didn't like
2511 the implicit redeclaration of the function :-(
2514 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2517 Revved version to 0.12 due to API change (see below).
2519 * cspi/spi-roletypes.h:
2520 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
2521 definition from the inline docs, and added docs
2522 for SPI_ROLE_LAST_DEFINED.
2525 * cspi/spi_streamablecontent.c:
2526 Added missing seek_type parameter to
2527 (so far unused) method,
2528 AccessibleStreamableContent_seek().
2529 [ RT approval JodyG. ]
2532 Fixed docs for SPI_createAccessibleKeystrokeListener.
2534 * cspi/spi_registry.c:
2535 Fixed docs for SPI_KEYSET_ALL_KEYS.
2537 * docs/reference/cspi/at-spi-cspi-sections.txt:
2538 Added a number of missing APIs to SECTIONS.
2540 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2542 * registryd/Makefile.am:
2544 * cspi/bonobo/Makefile.am:
2545 Add $(X_LIBS) to makefiles.
2547 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2550 Revved version to 0.11.
2552 * libspi/component.c:
2553 Added implementation for grabFocus.
2555 * idl/Accessibility_Component.idl
2556 (Accessibility_Component_grabFocus):
2557 Made this method return boolean to indicate success or failure, to
2558 be consistent with cspi and the corresponding ATK method.
2560 * idl/Accessibility_Selection.idl
2561 (Accessibility_Selection_selectAll) :
2562 Made these methods return boolean to indicate success or
2563 failure, to be consistent with cspi and the corresponding ATK methods.
2565 * idl/Accessibility_EditableText.idl
2566 (Accessibility_EditableText_setTextContents,
2567 Accessibility_EditableText_insertText,
2568 Accessibility_EditableText_cutText,
2569 Accessibility_EditableText_deleteText,
2570 Accessibility_EditableText_pasteText):
2571 Made these methods return boolean to indicate
2574 * cspi/spi_editabletext.c:
2575 Made these methods return booleans.
2577 * libspi/selection.c:
2578 * libspi/component.c:
2579 * libspi/editabletext.c:
2580 Connected the boolean returns from ATK
2581 to the server-side code referenced above.
2583 2002-04-14 Bill Haneman <bill.haneman@sun.com>
2585 * idl/Accessibility_Table.idl: Added missing methods,
2586 Accessibility_Table_addRowSelection,
2587 Accessibility_Table_addColumnSelection,
2588 Accessibility_Table_removeRowSelection,
2589 Accessibility_Table_removeColumnSelection.
2592 Added C wrappers for above IDL:
2593 AccessibleTable_addRowSelection,
2594 AccessibleTable_addColumnSelection,
2595 AccessibleTable_removeRowSelection,
2596 AccessibleTable_removeColumnSelection.
2599 Added server-side implementation code for IDL above, connecting
2600 to pre-existing ATK api.
2602 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
2604 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
2606 * libspi/accessible.c: Added implementation fo
2607 Accessibility_Accessible_get_state.
2609 * libspi/libspi.h: Added stateset.h to the list of includes.
2611 * libspi/stateset.c: Fixed broken implementation.
2613 2002-04-13 Bill Haneman <bill.haneman@sun.com>
2616 Added implementation code for Accessibility_Magnifier_exit ().
2618 * util/mag_control.c:
2619 Added test code for above method; you can
2620 now kill an existing magnifier via
2621 ./mag_control q, from the util directory.
2623 * test/key-listener-test.c:
2625 Added a new test, for our key listener API.
2627 2002-04-11 Bill Haneman <bill.haneman@sun.com>
2629 * test/app.c, test/keysynth-demo.c:
2631 Replace use of snprintf with g_snprintf.
2632 (fix for bugzilla 78249)
2634 2002-03-27 Michael Meeks <michael@ximian.com>
2638 * util/Makefile.am (INCLUDES): fix.
2639 (DONT_DIST_SOURCE): don't distribute the
2642 * libspi/Makefile.am (dist-hook): ditto.
2644 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
2646 * libspi/hypertext.c:
2647 Fix warnings when yelp is used with atk-bridge
2649 2002-03-21 Michael Meeks <michael@ximian.com>
2651 * libspi/application.c (spi_application_new):
2652 use spi_accessible_construct so we use the AtkObject
2655 2002-03-19 Michael Meeks <michael@ximian.com>
2657 * registryd/registry.c (desktop_remove_application),
2658 (desktop_add_application): clean coding style.
2660 * registryd/desktop.c (spi_desktop_remove_application),
2661 (spi_desktop_add_application): kill re-enterency hazards.
2662 (spi_desktop_dispose): remove bogus redundant cast
2663 obscuring bug; fix bug too.
2664 (spi_desktop_init): make the desktop object immortal.
2666 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2669 Added a #define-guarded tree-traversal step
2670 when enumerating the apps (diagnostic tool).
2672 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2674 * idl/Accessibility_Role.idl:
2675 Added ROLE_DRAWING_AREA which seemed to be missing from the
2678 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2680 * cspi/spi-roletypes.h cspi/spi_accessible.c
2681 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2684 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2685 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2686 AT when applications are added and removed from the desktop. This
2687 reverts the previous broken implementation using the backing
2688 AtkObject for the SpiDesktop.
2690 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2692 * registryd/desktop.c: emit the "children-changed::add" and
2693 "children-changed::remove" signals on the backing ATK object for
2694 the desktop so AT can tell when applications are started and shut
2697 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2699 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2701 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2703 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2705 * cspi/spi_accessible.c: Implemented c bindings for stateset support
2707 * cspi/state-types.h: synched with IDL and ATK
2709 2002-03-13 Bill Haneman <bill.haneman@sun.com>
2711 * libspi/accessible.c
2712 (impl_accessibility_accessible_get_child_at_index):
2713 Change return value for g_return_if_fail ()
2714 to CORBA_OBJECT_NIL instead of "0" (!)
2716 * registryd/Makefile.am:
2717 * registryd/Accessibility_Register.server.in:
2718 Changed name of executable, "registryd",
2719 to something more informative:
2722 2002-03-13 Michael Meeks <michael@ximian.com>
2724 * atk-bridge/bridge.c (atk_bridge_init): don't register
2725 if we're in a bonobo-component, rather than a bonobo app.
2727 2002-03-13 Michael Meeks <michael@ximian.com>
2729 * atk-bridge/bridge.c (gtk_module_init): split
2730 out body to (atk_bridge_init): here, since otherwise
2731 we get symbol conflicts and oddness when invoked
2732 from (gnome_accessibility_module_init): here (upd.)
2734 2002-03-11 Bill Haneman <bill.haneman@sun.com>
2737 New file. Explicitly allow "build sheriff" putbacks provided
2738 they are tested on Solaris.
2740 * docs/reference/cspi/Makefile.am:
2741 Added '-' to the "cp" command for index.sgml.
2742 ("patch by thomasvs, soon coming to a GUADEC near you")
2745 Incremented version number (0.9.0) for new release.
2746 Changed macro that checks for popt, to better detect
2747 obsolete versions of popt.
2750 Added X_LIBS to AC_SUBST, for applications
2751 that call Xlib API directly.
2754 2002-03-07 Bill Haneman <bill.haneman@sun.com>
2757 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2760 Fix regression caused by hard-coding major
2761 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2764 * test/test-simple.c (test_editable_text),
2765 (test_test): revert previous change (error was
2766 a regression in gail which is now fixed).
2768 2002-03-04 Michael Meeks <michael@ximian.com>
2770 * test/test-simple.c (test_editable_text),
2771 (test_text): pass G_MAXINT instead of '-1' for
2772 whole string - is this a good thing !?
2774 * cspi/spi_accessible.c
2775 (Accessible_getRelationSet): fix crasher bug
2776 overwriting the end of the array.
2778 * test/test-simple.c (validate_accessible): free,
2779 not g_free returned relation set.
2781 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2783 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2784 implemented stateset support
2786 * idl/Accessibility_State.idl: Made necessary changes to
2787 the IDL to support state sets.
2789 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2791 * registryd/deviceeventcontroller.c:
2792 Added implementation for generateMouseEvent.
2794 * cspi/spi_registry.c:
2795 Connected new implementation for generateMouseEvent
2798 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2801 Incremented revision (but no change in public API
2802 outside of 'utils', which are not installed public yet.)
2804 * libspi/component.c:
2805 Changed to use atk_component API for layers and
2806 mdi_zorder, instead of deprecated atk_object API.
2808 Magnification Utility Enhancements:
2811 Added implementation of createZoomRegion, clearAllZoomRegions,
2812 resizeZoomRegion. Added new commandline argument
2813 "--no-initial-region". Note that clearAllZoomRegions doesn't
2814 unmap the old '0' region as it should (yet), and the other
2815 methods only work when creating/resizing a single region,
2816 which is "region 0".
2817 (Code for multiple region support will be added later.)
2820 Now we raise the magnifier window each time it's refreshed;
2821 this will help keep it on top.
2823 * util/mag_client.h:
2824 Added simple wrappers for above, used by mag_control.
2825 For general use, it's recommended to use the bonobo magnifier
2826 control API directly instead of using these wrappers.
2829 Moved ZoomRegionData from magnifier.c to this file.
2831 * util/mag_control.c:
2832 Added some code to exercise new IDL implementations.
2834 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2836 * libspi/text.c: Provide implementation for getAttributes.
2838 2002-02-04 Bill Haneman <bill.haneman@sun.com>
2841 Incremented revision.
2843 * test/test-simple.c:
2844 Replaced use of deprecated g_main_iteration with
2845 g_main_context_iteration.
2847 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
2850 Incremented revision for desktop alpha 2.
2852 2002-01-28 Mark McLoughlin <mark@skynet.ie>
2854 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2857 * test/simple-at.c: include netinet/in.h.
2859 2002-01-24 Mark McLoughlin <mark@skynet.ie>
2861 * cspi/spi_accessible.c: (Accessible_getRelationSet):
2862 use NULL, not CORBA_OBJECT_NIL.
2864 * libspi/accessible.c:
2865 (impl_accessibility_accessible_get_relation_set):
2866 allocate the sequence correctly.
2868 * libspi/remoteobject.h: kill spi_remote_object_new.
2870 * test/test-simple.c: (validate_accessible): add code
2871 to test relation sets, now all we need is to figure
2872 out how to excercise this code path :/
2874 2002-01-18 Michael Meeks <michael@ximian.com>
2876 * test/test-simple.c
2877 (key_listener_cb): consume the key.
2878 (test_keylisteners): update.
2879 (main): wait for any pending unrefs on events.
2881 * registryd/deviceeventcontroller.c
2882 (spi_controller_update_key_grabs): only re-issue the
2883 grab on a key release.
2884 (spi_device_event_controller_forward_key_event):
2885 refresh the keygrabs before we notify the listeners,
2886 to reduce the X ungrab / re-grab race.
2887 (spi_controller_register_with_devices): remove
2888 XSelectInput - we do that with the gdk_window_ call.
2889 (_spi_controller_device_error_handler): return a value.
2890 s/GDK_DISPLAY/spi_get_display/
2892 2002-01-17 Michael Meeks <michael@ximian.com>
2894 * registryd/deviceeventcontroller.c
2895 (_deregister_keygrab): don't blow out the later
2898 * test/test-simple.c (test_keylisteners): do a
2899 more intelligent validation.
2901 2002-01-14 Michael Meeks <michael@ximian.com>
2903 * atk-bridge/bridge.c
2904 (gnome_accessibility_module_init),
2905 (gnome_accessibility_module_shutdown): impl.
2906 (gtk_module_init): protect vs. double inits.
2907 (add_signal_listener): impl.
2908 (spi_atk_bridge_state_event_listener): kill
2909 (deregister_application): split out of
2910 (spi_atk_bridge_exit_func): here.
2912 2002-01-18 Bill Haneman <bill.haneman@sun.com>
2915 Added caret tracking when using magnifier, and
2916 now use text bounds for focus tracking of text elements, rather than
2917 the component bounds - this is helpful for short text fields in long
2918 table cells, at high magnification.
2920 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2922 * registryd/deviceeventcontroller.c:
2923 Regression fix for keylistener de-registration; global keygrabs
2924 were not being released when deregisterKeystrokeListener was
2925 called in cspi, since
2926 Accessibility_DeviceEventController_deregisterKeystrokeListener
2927 was called with a zero-length keyset. That is because the cspi
2928 method, SPI_deregisterKeystrokeListener, does not take a keyset
2929 parameter but instead should remove all the key grabs held be a
2931 The code in impl_deregister_keystroke_listener was changed to copy
2932 the keylist from the listener instance previously registered with
2933 the DeviceEventController before releasing the grabs.
2935 * registryd/registry.c:
2936 * registryd/deviceeventcontroller.c:
2937 * libspi/spi-private.h:
2939 Changed spelling of "re-enterant" to "re-entrant" globally.
2941 2002-01-16 Bill Haneman <bill.haneman@sun.com>
2943 * test/test-simple.c:
2944 Changed key listeners test - the test was slightly mis-using the
2945 (admittedly poorly documented) SPI_generateKeyboardEvent API.
2946 It now uses '=' as the key event listened to and generated,
2947 relying on a keysym match rather than assuming that keycode 33
2948 is always equal to keysym '!'.
2950 2002-01-15 Bill Haneman <bill.haneman@sun.com>
2953 Changed simple-at to use a specific keyset, rather than
2954 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
2955 manager, desktop, etc.
2957 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2959 * registryd/deviceeventcontroller.c:
2960 Replaced standard X error handler with a special handler that
2961 is non-fatal for failed keygrabs. This works around
2962 problems with keygrab clashes sometimes observed on
2964 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
2965 mouse handling code as yet).
2967 2002-01-11 Bill Haneman <bill.haneman@sun.com>
2970 Incremented revision for desktop alpha release.
2973 Fixed a couple of the more glaring errors (still not
2976 2002-01-11 Michael Meeks <michael@ximian.com>
2978 * registryd/deviceeventcontroller.c
2979 (spi_device_event_controller_forward_key_event): kill
2980 XUngrabKey / XKeyGrab race.
2981 (spi_controller_grab_keyboard): rename to
2982 (spi_controller_update_key_grabs): this, and deal
2983 with incremental adding / removing grabs more
2985 (_register_keygrab): ensure we're not pending a remove.
2986 (spi_grab_mask_free): impl.
2987 (spi_controller_register_global_keygrabs): split out
2989 (handle_keygrab): impl.
2990 (_deregister_keygrab): impl.
2991 (spi_controller_deregister_global_keygrabs): impl.
2992 (spi_controller_update_key_grabs): re-issue the grab if
2993 we just recieved a notification.
2995 * test/test-simple.c (key_listener_cb): remove debug.
2997 * registryd/deviceeventcontroller.c
2998 (spi_controller_register_device_listener): after
2999 registering a global keygrab, actualy register it !
3000 don't wait for a timeout; doh !
3002 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3003 to make it more readable / manipulable.
3004 s/grabmask/grab_mask/ s/refcount/ref_count/
3005 s/keyval/key_val/ s/modmask/mod_mask
3007 2002-01-08 Michael Meeks <michael@ximian.com>
3009 * registryd/deviceeventcontroller.c
3010 (spi_controller_register_with_devices): use gdk calls to
3012 (global_filter_fn): implement the filter.
3013 (spi_device_event_controller_check_key_event): rename to
3014 (spi_device_event_controller_forward_key_event): this & upd.
3015 (spi_get_display): replace with GDK_DISPLAY.
3017 * registryd/deviceeventcontroller.c
3018 (spi_controller_deregister_device_listener): unroll into
3019 (impl_deregister_keystroke_listener): here to simplify.
3020 (spi_controller_register_global_keygrabs): split cut and
3021 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3022 (spi_controller_deregister_device_listener): remove.
3023 (impl_register_mouse_listener): remove, no mouse listener
3024 support in at-spi-1.0
3026 * registryd/registry.c
3027 (_device_event_controller_hook): kill.
3028 (spi_registry_init): upd.
3030 * registryd/deviceeventcontroller.c
3031 (spi_device_event_controller_class_init): upd.
3032 (spi_check_key_event): merge into.
3033 (spi_device_event_controller_check_key_event):
3034 here and kill strange static ev init, don't leak
3035 the x_event - nor dynamicaly allocate it.
3037 * registryd/registry-main.c (main): re-direct
3038 timeout to remove strange vtable mess.
3040 * registryd/deviceeventcontroller.c
3041 (remove_listener_cb): impl.
3042 (spi_controller_deregister_device_listener):
3043 fix re-enterancy hazard.
3045 2002-01-07 Michael Meeks <michael@ximian.com>
3047 * registryd/deviceeventcontroller.c
3048 (spi_device_event_controller_new): upd.
3049 (impl_notify_listeners_sync): upd. debug.
3050 (spi_notify_keylisteners): fix re-enterancy hazards,
3051 prettify, remove O(n*n) iteration.
3052 (spi_controller_grab_keyboard): fix iteration.
3053 (spi_check_key_event): re-format to suit coding style.
3054 Clean all the warnings - we're warning free.
3056 * registryd/deviceeventcontroller.h:
3057 * registryd/registry.h: make mutualy referential with
3058 typesafe forward references instead of (!) void pointer
3061 2002-01-11 Michael Meeks <michael@ximian.com>
3063 * cspi/spi_accessible.c (role_names): add a role name
3064 to sync this array with the enum; and make the regression
3067 2002-01-10 Michael Meeks <michael@ximian.com>
3069 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3070 allow expansion of enumeration & kill warning.
3072 * test/test-simple.c (key_listener_cb): impl.
3073 (test_keylisteners): impl.
3075 * cspi/spi-listener.h: make listener signatures const
3076 on the provided (const) events.
3078 * test/keysynth-demo.c: upd. to const events.
3080 * test/simple-at.c: ditto.
3082 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3085 Rev the version to 0.5 (the previous tarball was named 0.4,
3086 even though the micro number was 3), so we need to rev upwards
3087 again for beta2/"desktop-alpha"
3090 Checked in a demo script, which requires editing before use!
3091 Proceed with caution.
3094 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3096 * cspi/spi_accessible.c:
3097 Add a couple of missing enum initializations, and fix some enum
3100 * cspi/spi_registry.c:
3101 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3103 * docs/reference/cspi/at-spi-cspi-sections.txt:
3104 Remove/fix a couple of broken document references.
3107 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3108 as Alt-Control to listen for commands, since on some systems
3109 Control-Alt may already be grabbed.
3111 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3114 Update version number to 0.4 for Beta2.
3116 * libspi/accessible.c, libspi/accessible.h:
3117 Expose spi_accessible_construct, to enable libgail-gnome
3118 construction from spi_accessible subtype.
3120 * utils/magnifier.c:
3121 Workaround for bug in some non-gnome-compliant window managers
3122 which made magnifier resize improperly.
3124 2002-01-09 Bill Haneman <bill.haneman@sun.com>
3126 * libspi/accessible.c: (spi_accessible_new) :
3127 Move the test for SPI_IS_REMOTE_OBJECT to
3128 spi_accessible_new_return, fixing a bug and compile time warning.
3130 2002-01-08 Michael Meeks <michael@ximian.com>
3132 * registryd/registry.c (parse_event_type): remove strndup.
3134 * libspi/Makefile.am (libspi_la_SOURCES): remove
3135 sources already included in the headers section.
3137 * libspi/util.c: add.
3139 * libspi/spi-private.h: add.
3141 * registryd/registry.c: update to moved list iterators.
3143 2002-01-05 Michael Meeks <michael@ximian.com>
3145 * test/simple-at.c (main): upd. auto-module set to atk-bridge
3147 * test/test-simple.c (main): ditto.
3149 2002-01-04 Michael Meeks <michael@ximian.com>
3151 * libspi/accessible.c (spi_accessible_new): remove 2nd,
3152 redundant construct.
3154 * registryd/registry.c
3155 (get_listener_list): impl.
3156 (impl_accessibility_registry_register_global_event_listener):
3157 re-impl. to simplify using ~, remove dodgy const cast off.
3158 (parse_event_type): constify.
3159 (impl_accessibility_registry_deregister_global_event_listener_all):
3160 re-write, more efficiency and simplicity, kill re-enterancy
3162 (compare_listener_corbaref, compare_corba_objects),
3163 (compare_listener_quarks): define out.
3164 (impl_accessibility_registry_deregister_global_event_listener):
3165 re-write for effiency, and nail re-enterancy hazard.
3166 (impl_accessibility_registry_get_desktop_list): impl.
3167 (re_enterant_list_delete_link): impl.
3168 (re_enterant_list_foreach): impl.
3169 (remove_listener_cb): impl.
3170 (_registry_notify_listeners): kill.
3171 (notify_listeners_cb): impl.
3173 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3174 (SPI_getDesktopList): impl.
3176 * test/test-simple.c (test_desktop): test the methods.
3178 2002-01-03 Michael Meeks <michael@ximian.com>
3180 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3181 keystrings since we free them
3182 (SPI_freeAccessibleKeySet): in here.
3184 * libspi/accessible.c (spi_accessible_new): kill warning,
3185 wonder what is going on with the constructor here.
3187 2002-03-01 Bill Haneman <bill.haneman@sun.com>
3189 * libspi/accessible.c (spi_accessible_new ()) :
3190 Added check to see if AtkObject is an SpiRemoteObject before
3191 creating an SpiAccessible.
3193 2002-05-01 Bill Haneman <bill.haneman@sun.com>
3195 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3196 Enable keygrabs using the Control modifier, now that they are
3197 working properly (they were previously disabled).
3200 Change the command keygrab for this demo to "Control+Alt", so as
3201 to conflict with fewer other key commands on the system; this
3202 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3204 Removed a pointlessly-chatty keylistener for unshifted keys
3205 (shifted keys are still reported).
3207 2002-02-01 Bill Haneman <bill.haneman@sun.com>
3209 * libspi/remoteobject.h:
3210 * libspi/remoteobject.c:
3211 Added definitions for special AtkObject subtype, required for
3212 support of remote components (specifically, used by BonoboControl
3213 accessibility implementation).
3215 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
3217 * cspi/spi.h: synched relation types with ATK
3219 * cspi/spi_accessible.c: Added implementations of
3220 AcccessibleRelation_* methods
3222 * idl/Accessibility_Relation.idl: added getRelationTypeName
3223 method. Synched known relation types with ATK. Allowed for
3224 relation type extension with the RELATION_EXTENDED type.
3226 * libspi/relation.c: Provided implementations for
3227 AccessibleRelation methods.
3229 2002-01-01 Bill Haneman <bill.haneman@sun.com>
3231 API tweaks for today's API 'freeze'.
3234 Added placeholder functions to allow future compatible expansion
3235 of the IDL interfaces.
3237 * idl/Accessibility_Registry.idl:
3238 Changed generateKeyEvent to generateKeyboardEvent. Changed
3239 signature of this method to accept an optional keystring in
3240 parameter (for complex text input synthesis) and changed use of
3241 simple 'boolean' parameter in registerKeystrokeListener to a
3242 struct, EventListenerMode.
3244 * cspi/spi_accessible.c:
3246 * cspi/spi_streamablecontent.c:
3247 Added references to AccessibleStreamableContent interface, and
3248 definition and implementation of AccessibleStreamableContent
3251 * cspi/spi_registry.c:
3253 Changed generateKeyEvent API to generateKeyboardEvent,
3254 taking a new (optional) keystring parameter to support complex
3259 Renamed directory (to better reflect its actual purpose, bridging
3260 from at-spi to ATK). The .so module is also now named
3263 * idl/Accessibility_Hypertext.idl:
3264 * libspi/accessible.c:
3265 * libspi/hypertext.h:
3266 * libspi/hypertext.c:
3267 Changed Accessibility_Hypertext to *not* derive from
3270 * cspi/spi_registry.c:
3271 Added list of legal event type names for 'window' events, which
3272 completes the registry event API.
3274 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
3276 * at-bridge/bridge.c: Added registration for separate
3277 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3278 signals. If either of the first two parameters to the generic
3279 bridge signal handler are ints, they are passed on as event
3280 details. This allows an AT to determine what text was inserted.
3282 2001-12-21 Bill Haneman <bill.haneman@sun.com>
3284 * registryd/deviceeventcontroller.c:
3285 Fixed regressions in generateKeyEvent caused by the removal of
3286 gdk_init from registryd; we now use pure X calls to connect to the
3287 display, which makes sense because deviceeventcontroller already
3288 uses a fair bit of X API (should eventually be migrated to a
3289 'portability layer').
3291 * registryd/desktop.c:
3292 Fixed minor regression in spi_desktop_init, changed the way the
3293 desktop name is being set to work with new spi_base API
3294 (gobject-based, rather than AtkObject-based).
3296 * registryd/Makefile.am:
3297 Minor revision of makefile to use XTST_LIBS variable rather than
3298 hard-wiring the Xtst LD_ADD element.
3300 * test/keysynth-demo.c:
3301 Tweaked an output message; added initialization of the
3302 'keystrings' member of the "switch listener" key_set.
3304 * libspi/relation.c:
3305 Squashed compile-time warning.
3307 * libspi/accessible.c:
3308 Cosmetic and formatting fixes, renamed a static method.
3310 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3312 * libspi/accessible.c
3314 * libspi/application.c
3317 * libspi/component.c
3318 * libspi/editabletext.c
3319 * libspi/hyperlink.c
3320 * libspi/hypertext.c
3322 * libspi/selection.c
3326 * registryd/desktop.c:
3327 Changed SpiBase to contain a GObject pointer rather than an AtkObject
3329 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3331 * idl/Accessibility_Registry.idl:
3332 Added boolean member 'is_text' to DeviceEvent. This is for the
3333 use of key events, and helps prevent ambiguity between composed
3334 key strings and keysym names, since both may potentially be
3335 returned in the 'event_string' member.
3337 * at-bridge/bridge.c:
3338 * registryd/deviceeventcontroller.c:
3339 Use the 'is_text' member when notifying device event listeners.
3340 Knon issue: composed characters are not dealt with correctly by
3341 the global key listener implementation yet.
3343 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3345 * at-bridge/bridge.c:
3346 Namespaced local static methods to spi_atk_bridge_* where
3347 previously named bridge_*, and spi_* elsewhere.
3349 * at-bridge/bridge.c:
3350 * cspi/bonobo/cspi-bonobo-listener.c:
3351 Added demarshalling/conversion for string member of
3352 Accessibility_DeviceEvent to AccessibleKeystroke.
3354 * registryd/deviceeventcontroller.c:
3355 Added code to fill the Accessibility_DeviceEvent key string value
3356 member for global key events (i.e. from XGrabKey), to match
3357 behavior of Accessibility_DeviceEvent from the toolkit key events
3358 from the bridge. Fixed timestamp in global key event notifications.
3361 Added printout of key event's string value to
3362 report_ordinary_key_event, for demo/debugging purposes.
3364 2001-12-15 Bill Haneman <bill.haneman@sun.com>
3366 * idl/Accessibility_Registry.idl:
3367 Removed Accessibility_KeyStroke structure in favor of generic
3368 Accessibility_DeviceEvent structure.
3369 Changed Accessibility_ControllerEventMask from a struct to an
3372 * at-bridge/bridge.c:
3373 Changed APIs to use DeviceEvent structure as above, and removed
3374 bogus casting between these event structures.
3376 * cspi/spi-listener.h:
3377 Added keystring member of AccessibleKeystroke structure, to enable
3378 matching on event "names" rather than only hardware codes and
3382 Added keystrings member of AccessibleKeySet struct, to allow
3383 matching on event names (as above).
3384 Added declarations for SPI_createAccessibleKeySet and
3385 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
3386 event modmasks directly as unsigned ints rather than structs with
3387 refcounts, in the DeviceEventController methods.
3389 * cspi/spi_registry.c:
3390 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3392 * cspi/spi-roletypes.h:
3393 Added documentation of newly added SPI Roles.
3395 * cspi/bonobo/cspi-bonobo-listener.c:
3396 Changes in support of API changes above.
3398 * libspi/accessible.c:
3399 Converted APIs to use DeviceEvent structure (see IDL changes
3402 * registryd/deviceeventcontroller.c:
3403 Added DEControllerGrabMask structure to track keygrabs not only by
3404 modmask but by keyset as well; this allows us to do "global"
3405 (i.e. X) keygrabs on a per-key or keyset basis rather than always
3406 grabbing on AnyKey and then filtering after-the-fact.
3407 Bugfixes for event filtration mean that we don't get false matches
3408 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3410 * registryd/deviceeventcontroller.c:
3411 Namespaced a number of static methods to use spi_ prefix. Major
3412 revision to internals of global (i.e. X) key grabs.
3414 * registryd/deviceeventcontroller.h:
3415 Removed keymask_list and added keygrabs_list to
3416 SpiDeviceEventController struct.
3419 Added use of SPI_createAccessibleKeySet API when creating a
3420 listener for only one key. Attach a listener to "shift spacebar
3421 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
3422 X key event names to SPI key event names, so that listeners are
3423 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3425 * test/keysynth-demo.c:
3426 Changed (incorrect) use of X key event names (KeyPressed,
3427 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3430 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3432 * libspi/accessible.c:
3433 Convert all AtkRole enumerations to Accessibility_Role enums when
3434 getting a role from an AtkObject.
3436 * cspi/spi_accessible.c:
3437 Complete the conversion of Accessibility_Role enums at runtime to
3438 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3439 role enums correctly match those given in spi-roletypes.h.
3440 Re-synchronize the local names list for AccessibleRole_getName ().
3441 AccessibleRole_getName is now deprecated, since it duplicates the
3442 more reliable Accessible_getRoleName.
3443 Added some role types from Accessibility_Role.idl.
3445 * idl/Accessibility_Role.idl:
3446 Added some role types used by AtkRole.
3448 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3451 * cspi/spi_registry.c:
3453 * cspi/cspi-bonobo-listener.c:
3454 Namespaced all methods that did not begin with an "SPI_" or
3455 "Accessible" prefix to "SPI_".
3458 Homogenized internal function namespace to "cspi_" for statics.
3461 Patched tests to use the new CSPI API.
3463 * docs/reference/cspi/at-spi-cspi-sections.txt:
3464 Updated docs to reflect namespace changes, and added a number of
3465 methods to the documentation.
3467 * registryd/registry.c:
3468 Changed use of strings and string hashes in listener event
3469 matching and parse_event_string to use GQuark, which is guaranteed
3472 * registryd/registry.h:
3473 Squashed annoying warning.
3475 * idl/Accessibility_Role.idl:
3476 Extended range of available Accessibility_Role values.
3478 * cspi/spi_accessible.c:
3479 Re-ordered role names.
3481 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3483 * idl/Accessibility_Value.idl:
3484 Revert use of union back to CORBA_double, since the double type is
3485 more efficient and can contain the other types without loss of
3488 * idl/Accessibility_Accessible.idl:
3489 Added method Accessibility:Accessible:getRoleName, to complement
3490 Accessibility:Accessible:getRole.
3492 * cspi/spi_accessible.c:
3494 Added C binding for above, Accessible_getRoleName (), and changed
3495 signature of Accessible_getRole () to return an AccessibleRole.
3497 * cspi/spi-roletypes.h:
3498 Changed AccessibleRole_getName to return a char * instead of a
3499 const char *. This method is now at least temporarily deprecated
3500 in favor of asking Accessibles for their RoleNames directly.
3503 Revert to match Accessibility_Value.idl;
3507 Change signature of AccessibleValue methods to use double rather
3511 * cspi/spi_accessible.c:
3512 Changed Accessible_getRole to return an AccessibleRole enum rather
3513 than a UTF-8 string. The UTF-8 string can still be obtained via
3514 AccessibleRole_getName ().
3516 * test/test-simple.c:
3517 Add test_action. Small fixup to match API change to Accessible_getRole.
3520 Bugfix for get_action_from_servant ().
3522 2001-12-11 Michael Meeks <michael@ximian.com>
3524 * libspi/libspi.h: remove registry.h and
3525 desktop.h, deviceeventcontroller.h
3527 * libspi/Makefile.am: remove registry.[ch],
3528 desktop.[ch], deviceeventcontroller.[ch]
3530 * registryd/Makefile.am: add registry.[ch],
3531 desktop.[ch], rename registryd.c to registry-main.c.
3532 add deviceeventcontroller.[ch]
3534 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3537 Replace setenv() call with putenv ().
3539 * libspi/component.c:
3540 Bugfix in AccessibleComponent_getExtents (),
3543 2001-12-11 Michael Meeks <michael@ximian.com>
3545 * libspi/image.c (impl_getImageExtents): impl.
3546 (spi_image_class_init): upd.
3549 (AccessibleImage_getImageDescription): fix daft bug
3552 * test/test-simple.c (global_listener_cb): update
3553 to only quit if not --poke
3554 (main): catch --poke.
3555 (validate_accessible): upd. dumping, call test_image
3558 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3561 * idl/Accessibility.idl: update all IDL includes.
3563 * idl/*.idl - rename to namespace - this sucks, blame
3564 mjs' bad decision for oafd.
3566 * test/test-simple.c (create_test_window): add more tests.
3567 (create_tree): split this out.
3568 (validate_accessible): bugfix.
3570 2001-12-11 Michael Meeks <michael@ximian.com>
3572 * cspi/bonobo/cspi-bonobo-listener.c:
3573 (cspi_kestroke_listener_unref),
3574 (cspi_event_listener_unref): impl. undoing previous
3575 homenous environment - for Bill.
3577 * cspi/spi_table.c (long_seq_to_array): use
3580 * cspi/spi_main.c: split out all bonoboish bits into
3583 * cspi/spi-impl.h: upd. typedefs.
3585 * cspi/spi_registry.c: update to lowlevel API,
3586 return booleans to indicate success in some places.
3588 * cspi/spi_event.c: update to lowlevel API.
3590 * cspi/bonobo/Makefile.am: add.
3592 * cspi/bonobo/cspi-lowlevel.h: add
3594 * cspi/bonobo/cspi-bonobo.c: add
3596 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
3598 * cspi/Makefile.am: remove spi-listener-impl.[ch],
3599 (SUBDIRS): add bonobo, link in the libs.
3601 * cspi/spi-util.c: kill this file.
3603 * TODO: merge in my bits.
3605 2001-12-11 Michael Meeks <michael@ximian.com>
3607 * test/test-simple.c (test_value, test_table, main):
3608 remove unused variables causing warnings.
3610 * configure.in: cleanup checks - require gail.
3612 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3615 Changed Value interface to use SValue (scalars) rather than
3616 assuming all values are floats. This allows floats, doubles,
3617 longs, shorts, and unsigned values to be manipulated.
3618 Introduced Accessibility:SValue union.
3621 Updated to use new API above, and to work correctly with GValues
3622 of different types in AtkValue.
3625 Updated to use new API above. cspi's API is as yet unchanged.
3628 Updated the Value revision action item.
3630 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3632 * test/test-simple.c:
3633 Added test_table (GtkTreeView widget in test window to follow).
3634 Un-commented test_value, added GtkRange widget.
3635 Added GtkTreeView widget with GtkListStore. It passes regression
3636 test but leaks one SPI object for some reason.
3639 Fixed bug in impl__set_currentValue.
3641 2001-12-10 Michael Meeks <michael@ximian.com>
3643 * cspi/spi_text.c: audit for exception handling,
3644 tolerating NULL object references safely etc.
3646 * cspi/spi_value.c: ditto.
3648 * cspi/spi_table.c (AccessibleTable_getSummary),
3649 (AccessibleTable_getAccessibleAt),
3650 (AccessibleTable_getRowHeader),
3651 (AccessibleTable_getColumnHeader),
3652 (AccessibleTable_getCaption): fix bugs hidden by
3654 (long_seq_to_array): impl.
3655 (AccessibleTable_getSelectedRows),
3656 (AccessibleTable_getSelectedColumns): use it.
3658 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3661 Added a TODO list (rough and short for now).
3663 * cspi/spi_hyperlink.c:
3664 * cspi/spi_hypertext.c:
3665 Fixed macro name typos, and remove use of obsolete macro in
3666 AccessibleHyperlink_getLink.
3668 * cspi/spi_action.c:
3669 * cspi/spi_accessible.c:
3670 * cspi/spi_application.c:
3671 * cspi/spi_component.c:
3672 * cspi/spi_selection.c:
3675 Documentation fixes (removed return values from ref/unref methods).
3677 2001-12-10 Michael Meeks <michael@ximian.com>
3679 * cspi/spi_action.c: audit for exception handling,
3680 tolerating NULL object references safely etc.
3682 * cspi/spi_accessible.c: ditto.
3684 * cspi/spi_component.c: ditto.
3686 * cspi/spi_editabletext.c: ditto.
3688 * cspi/spi_hyperlink.c: ditto.
3690 * cspi/spi_hypertext.c: ditto.
3692 * cspi/spi_image.c: ditto.
3694 * cspi/spi_selection.c: ditto.
3696 2001-12-10 Michael Meeks <michael@ximian.com>
3698 * configure.in: use cspi/libspi.pc.in instead.
3700 * Makefile.am (pkgconfig_DATA): upd. to match.
3702 * test/simple-at.c (report_focus_event): kill hacks around
3703 bad return values, use putenv not setenv
3705 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3706 fire ChildGone - I killed it.
3708 * libspi/component.c
3709 (impl_accessibility_component_get_extents): remove
3712 * idl/Accessible.idl: kill ChildGone exception.
3714 * cspi/*.[ch]: kill int return from ref / unref.
3716 * cspi/spi_main.c (cspi_object_add_check): fold into
3717 (cspi_object_add): here.
3719 * cspi/spi_component.c (AccessibleComponent_getExtents):
3720 handle exceptions elegantly.
3722 * cspi/spi-private.h (cspi_check_ev_return),
3723 (cspi_return_if_fail): impl.
3725 * cspi/spi_accessible.c: use extensively.
3726 (AccessibleStateSet_equals): add direct compare check.
3728 * cspi/spi_selection.c: tolerate NULL objs, and check
3729 exceptions before return.
3731 * cspi/spi-util.c (cspi_warn_ev): rename to
3732 (cspi_check_ev): this & don't pass ev in; no point.
3734 2001-12-10 Michael Meeks <michael@ximian.com>
3736 * test/test-simple.c: use putenv not setenv
3737 (get_environment_vars): more chatty if you're not using
3740 * test/simple-at.c: do the setenv so more people see the
3743 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3745 * libspi/registry.c:
3746 Changed check of CORBA_environment on notification to be a warning
3747 instead of an error for the moment, since we can recover from this
3748 error when caused by a queued notification from a dead app.
3751 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3752 used by all current implementors of AtkValue), and coerce to
3753 CORBA_float. (Proper general case fix may require change to Value.idl).
3755 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3759 * cspi/spi_accessible.c:
3760 Documentation fixes: added user_data params to documentation for
3761 listeners and callbacks.
3763 * cspi/spi_accessible.c:
3764 Changed AccessibleStateSet_compare to return a
3765 StateSet rather than return the difference set into a third parameter.
3768 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3771 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3772 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3776 Remove subdirectory po from SUBDIRS for now.
3778 * at-bridge/bridge.c:
3779 Beefed up a couple of debug printouts.
3780 One-line fix for signal notification name formatting.
3782 * libspi/accessible.c:
3783 Added assertion to spi_accessible_new ().
3785 * libspi/application.c:
3786 Put #ifdef qualifiers around a printf.
3789 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3791 * registryd/Makefile.am:
3793 Replaces use of XML_I18N_MERGE_SERVER_RULE with
3794 INTLTOOL_SERVER_RULE macro.
3797 Added an event listener for several ATK signals, for
3798 testing and debugging. Removed a few g_warnings.
3799 Added test output if focussed item implements the Value interface.
3801 * test/test-simple.c:
3802 Added test_value () function (known not to pass at the moment, so
3803 not actually called yet.
3805 2001-12-08 Michael Meeks <michael@ximian.com>
3807 * at-bridge/bridge.c (bridge_focus_tracker),
3808 (emit_eventv): fix the same ref. leak.
3809 (register_atk_event_listeners): don't leak.
3811 * cspi/spi-listener-impl.c (cspi_event): more
3812 protection from client code.
3814 * test/test-simple.c (test_desktop): unref the app.
3816 * test/Makefile.am: upd. TESTS.
3818 * at-bridge/bridge.c (bridge_exit_func): release the registry.
3820 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3822 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3824 * cspi/spi_registry.c: constify in strings.
3825 (deregisterGlobalEventListenerAll): don't release the ref.
3827 * cspi/spi.h: start removing redundant / conflicting
3828 gtkdoc comments, making the API readable at a glance :-)
3830 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3832 * test/keysynth-demo.c (keysynth_exit, main): upd.
3834 * test/simple-at.c (main, simple_at_exit): upd.
3836 * test/test-simple.c (unutterable_horror): kill.
3837 (utterable_normal_derefs): kill.
3838 (main): upd & do a setenv before gtk_init, so that we
3839 can use memprof - and to save the pain of remembering
3840 this, if we're running under memprof - don't exit.
3842 * cspi/spi_main.c (SPI_exit): return exit status
3844 (SPI_event_quit): impl.
3845 (SPI_event_main): simplify.
3846 (cspi_is_gnome_app): kill.
3847 (SPI_init): kill isGNOMEapp arg.
3849 * at-bridge/bridge.c (register_atk_event_listeners):
3850 re-instate the unref.
3851 (bridge_exit_func): don't re-activate the registry,
3852 protect vs. theoretical re-entry, use the
3853 AT_BRIDGE_SHUTDOWN env. var to determine whether to
3854 assert a clean shutdown - for regression tests.
3856 2001-12-08 Abel Cheung <maddog@linux.org.hk>
3858 * configure.in: Comment out dummy i18n support for now,
3859 otherwise it fails to build.
3860 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3861 EXTRA_DIST. They are missing in tarball.
3863 2001-12-07 Michael Meeks <michael@ximian.com>
3865 * util/magnifier.c: kill bonobo activation reg. race.
3867 * libspi/component.c
3868 (impl_accessibility_component_get_extents): make it match
3871 * libspi/registry.c (_registry_notify_listeners):
3872 re-remove X headers & reconcile conflicts.
3873 (spi_listener_struct_free): bad conflict resolve.
3874 (impl_accessibility_registry_register_application):
3875 more bad merging fixed.
3876 (impl_accessibility_registry_deregister_application): ditto.
3877 (spi_registry_new): ditto.
3878 (spi_registry_init): don't have an applications field.
3880 [ merge fixups2 branch to here ]
3881 2001-12-07 Michael Meeks <michael@ximian.com>
3883 * test/simple-at.c (report_focus_event),
3884 (report_focussed_accessible): remove g_warning debug.
3886 2001-12-07 Michael Meeks <michael@ximian.com>
3888 * test/test-simple.c (validate_tree): comment out some checks.
3889 (test_desktop): app now not registered idly - horay.
3891 2001-12-07 Michael Meeks <michael@ximian.com>
3893 * cspi/spi_registry.c
3894 (registerAccessibleKeystrokeListener): clean, stop it leaking
3895 great swathes of memory, and device event controller references.
3896 ensure we always pass valid sequences.
3897 (deregisterAccessibleKeystrokeListener): ditto.
3898 (generateKeyEvent): upd.
3900 * at-bridge/bridge.c (bridge_key_listener): handle
3901 registry dead exception gracefully.
3902 (bridge_focus_tracker, emit_eventv): free ev.
3904 * test/simple-at.c (report_focus_event): fix polarity.
3906 * libspi/application.c (notify_listeners): kill the ev
3907 argument, and make sure we init the ev we use.
3908 (spi_application_object_event_listener): split out a chunk
3909 (get_atk_object_ref): here & fixup.
3910 (reverse_lookup_name_for_toolkit_event): make const.
3911 (spi_application_toolkit_event_listener): fixup, kill leaks
3914 * at-bridge/bridge.c (register_atk_event_listeners):
3915 don't unref the noop object - causes grief.
3917 * libspi/registry.c: remove the X headers.
3918 turn off the debug churn.
3920 * libspi/accessible.c (spi_accessible_new_return): only
3921 release the ref if we are supposed to [doh]
3923 * test/simple-at.c (report_button_press, report_focus_event):
3924 guard vs. unexpected exit.
3926 * at-bridge/bridge.c (gtk_module_init): prune printf.
3927 (bridge_exit_func): fix app unref.
3929 * libspi/Makefile.am: don't install registry or desktop.h
3931 * libspi/*.h: update includes.
3933 * libspi/application.h: don't include ourself, or
3934 other redundant headers.
3936 2001-12-06 Michael Meeks <michael@ximian.com>
3938 * libspi/accessible.c
3939 (get_accessible_from_servant): impl.
3940 Upd. all CORBA impl.s to use it killing cut and paste.
3942 * cspi/spi_main.c (cspi_cleanup): guard vs. double
3944 (SPI_init): register atexit cleanup handler here.
3946 2001-12-06 Michael Meeks <michael@ximian.com>
3948 * at-bridge/bridge.c (gtk_module_init): g_error on
3949 activation exception
3951 2001-12-06 Michael Meeks <michael@ximian.com>
3953 * at-bridge/bridge.c (gtk_module_init): some sort of
3954 confusing merge clash - reverted.
3955 (bridge_idle_init): ditto.
3957 * test/test-simple.c (main, utterable_normal_derefs):
3958 merge from Bill - somehow not committed.
3960 2001-12-06 Michael Meeks <michael@ximian.com>
3962 * libspi/value.c (spi_value_class_init): upd.
3963 (spi_value_finalize): kill.
3965 * libspi/table.c (spi_table_finalize): kill.
3966 (spi_table_interface_new): upd.
3967 (spi_table_class_init): upd.
3968 (get_table_from_servant): impl.
3969 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3971 * libspi/selection.c (spi_selection_finalize): kill.
3972 (spi_selection_interface_new): upd.
3973 (spi_selection_class_init): upd.
3974 (get_selection_from_servant): impl.
3975 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3977 * libspi/relation.c (spi_relation_finalize): kill.
3978 (spi_relation_class_init, spi_relation_new): upd
3980 * libspi/image.c (spi_image_finalize): kill.
3981 (spi_image_class_init): upd.
3982 (spi_image_interface_new): upd.
3983 (get_image_from_servant): impl.
3984 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3986 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
3987 (spi_hyperlink_finalize): kill.
3988 (spi_hyperlink_new): upd.
3989 (get_hyperlink_from_servant): impl.
3990 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3992 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
3993 (spi_hypertext_finalize): kill.
3994 (spi_hypertext_class_init): upd.
3995 (get_hypertext_from_servant): impl.
3996 Upd. all CORBA impl.s to use it killing yet more cut and paste.
3998 * libspi/editabletext.c (spi_editable_text_finalize): kill.
3999 (spi_editable_text_interface_new): upd.
4000 (get_editable_text_from_servant): impl.
4001 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4003 * libspi/text.c (get_text_from_servant): impl.
4004 All impls - update to use it killing more cut and paste,
4005 also fix bad string returns on duff args ( a somewhat
4006 impossible case to handle - but hey ).
4007 (spi_text_construct): impl.
4008 (spi_text_interface_new): upd.
4009 (spi_text_object_finalize): kill.
4011 * libspi/component.c
4012 (accessibility_component_object_finalize): kill.
4013 (spi_component_class_init): upd.
4014 (get_component_from_servant): impl. helper to kill cut & paste.
4015 (impl_accessibility_component_contains):
4016 (impl_accessibility_component_get_accessible_at_point):
4017 (impl_accessibility_component_get_position):
4018 (impl_accessibility_component_get_extents):
4019 (impl_accessibility_component_get_mdi_z_order):
4020 (impl_accessibility_component_get_layer):
4021 (spi_component_interface_new): upd.
4023 * libspi/action.c (spi_action_finalize): kill.
4024 (spi_action_class_init): upd. inherit from SpiObject.
4025 (spi_action_interface_new): upd.
4026 (get_action_from_servant): impl. helper to reduce cut & paste.
4027 (impl_getKeyBinding, impl_getName, impl_doAction),
4028 (impl_getDescription): Use it everywhere.
4030 * cspi/spi_main.c (get_live_refs): a pointer hash.
4031 (spi_object_hash, spi_object_equal): comment out.
4032 There are issues with CORBA object hashing that need
4035 * libspi/application.c (spi_application_init),
4036 (spi_application_new): upd.
4038 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4039 (spi_accessible_class_init): upd.
4040 s/accessible/object/ in epv methods.
4042 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4044 * at-bridge/bridge.c:
4045 Reorder the bridge initialization into the bridge gtk_module_init,
4046 an immediate call to bridge_register_app, and an idle_add for
4047 register_atk_event_listeners (the only code that *must* wait until
4048 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4049 the activation, creates the application's Accessible object, and
4050 queues the bridge_idle_init function. Restored call to
4051 Accessibility_Registry_deregisterApplication().
4052 Prior to making this call we obtain a new reference to the
4053 registry, which is a temporary hack that helps us handle apps that
4054 shut down the bonobo mainloop before we get there.
4056 * libspi/registry.c:
4057 Fix string leakage in debug block, and don't segv if a an app
4058 dies before its event notifications have been propagated.
4061 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4062 as stopgap measure until we get proper exception handling when
4063 objects die during or before interrogation.
4067 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4068 Also changed default value of is_gnome_app to TRUE.
4071 * test/keysynth-demo.c:
4072 Changed use of SPI_init and SPI_event_main to reflect API change above.
4075 Made report_focus_event check the warning value from getName
4076 before reporting on focussed accessible; simplifies handling of
4077 notifications from dead objects.
4079 * test/test-simple.c: (Changes not in this patch since source is
4082 2001-12-05 Michael Meeks <michael@ximian.com>
4084 * registryd/registryd.c (main): protect against
4085 bonobo-activation startup race condition.
4087 * cspi/spi_main.c (cspi_object_add_check): cope
4088 with the exception elegantly.
4090 * idl/Accessible.idl: decl. ChildGone
4092 * libspi/desktop.c (spi_desktop_dispose): impl.
4093 (spi_desktop_class_init): upd.
4094 (spi_desktop_add_application),
4095 (spi_desktop_remove_application),
4096 (abnormal_application_termination): impl.
4097 (impl_desktop_get_child_at_index): re-impl.
4100 (impl_accessibility_registry_deregister_application),
4101 (impl_accessibility_registry_register_application):
4102 kill excessive debug clutter.
4104 * test/test-simple.c (test_misc): test some NULL
4105 tolerance. (main): upd.
4107 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4108 implements no interfaces - so let's not crash.
4110 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4112 * libspi/accessible.c (spi_accessible_new_return): impl.
4113 helper to calm the cut and paste, to cope with
4114 NULL AtkObjects effectively and efficiently, and to kill
4115 the referencing bugs.
4117 * libspi/table.c (impl_getAccessibleAt),
4118 (impl_getRowHeader, impl_getColumnHeader): upd.
4120 * libspi/hyperlink.c (impl_getObject): upd.
4122 * libspi/accessible.c
4123 (impl_accessibility_accessible_get_child_at_index): upd.
4125 * libspi/component.c
4126 (impl_accessibility_component_get_accessible_at_point): upd.
4128 * test/test-simple.c (test_editable_text, test_text): impl.
4131 * cspi/spi_editabletext.c
4132 (AccessibleEditableText_insertText): constify.
4134 * test/test-simple.c (focus_me): make more robust.
4136 * libspi/accessible.c: remove some printfs in methods that
4137 we test and work fine, so we can get a clean tree dump.
4139 * test/test-simple.c (validate_accessible),
4140 (validate_tree): make tree dumping pretty too.
4142 * at-bridge/bridge.c (bridge_signal_listener): upd. so
4143 it builds without debug on.
4145 * test/test-simple.c (validate_accessible): fix the most
4148 * cspi/spi_main.c (spi_object_release): leave the nicely
4149 blanked memory around if in debug mode.
4151 * cspi/spi-listener-impl.c (cspi_event): use add_check.
4153 [committed to fixups2]
4154 2001-12-05 Michael Meeks <michael@ximian.com>
4156 * libspi/editabletext.c
4157 (spi_editable_text_class_init): g_type_class_peek_parent,
4158 not interface peek - so we finalize cleanly.
4160 * libspi/accessible.c (spi_accessible_new): kill debug.
4162 * test/test-simple.c (validate_accessible): fix ref.
4163 leak, print strings before freeing them; sigh, comment a
4164 chunk out due to strangeness.
4165 (validate_tree): unref the child after use.
4167 * cspi/spi_component.c (AccessibleComponent_getLayer):
4168 add missing break statement, switch on zlayer not the
4169 uninitialized retval.
4171 * cspi/spi_main.c (cspi_object_add): add assert, local ref
4172 before (possibly re-entering) remote unref.
4174 * test/simple-at.c (main): unref the desktop.
4176 * cspi/spi_accessible.c (cspi_accessible_is_a): move
4179 * cspi/spi_main.c (cspi_accessible_is_a): here to
4180 isolate bonobo API usage more.
4182 * libspi/registry.c (impl_accessibility_registry_register_application):
4183 prune bogus comment.
4185 2001-12-04 Michael Meeks <michael@ximian.com>
4187 * test/test-simple.c (validate_tree): upd.
4188 IndexInParent check to make it more lucid.
4189 (validate_accessible): dump the tree.
4191 * libspi/accessible.c (de_register_public_ref),
4192 (get_public_refs): impl.
4193 (spi_accessible_new): make more efficient & intuitive.
4194 Now IndexInParent check works.
4196 2001-12-04 Michael Meeks <michael@ximian.com>
4198 * cspi/spi-util.h: remove.
4200 * cspi/spi.h: move SPI_freeString here
4202 * libspi/component.c (impl_accessibility_component_get_layer):
4204 (impl_accessibility_component_get_mdi_z_order): ditto,
4205 return -1 on error - is this ok ?
4207 * test/test-simple.c (test_application): impl.
4209 * cspi/spi_accessible.c (Accessible_getApplication),
4210 (Accessible_isApplication): impl.
4212 * libspi/registry.c (spi_listener_struct_free): release
4213 the CORBA reference too.
4215 * libspi/accessible.c
4216 (impl_accessibility_accessible_get_parent): fix ref leak.
4218 * libspi/registry.c (spi_registry_new): make the registry
4219 immortal - we don't want it to go away ever.
4221 * libspi/application.c
4222 (spi_accessible_application_finalize): impl. cleanup.
4224 * cspi/spi_registry.c
4225 (deregisterGlobalEventListenerAll),
4226 (deregisterGlobalEventListener),
4227 (deregisterAccessibleKeystrokeListener): fix ref leak.
4229 * cspi/spi_main.c (SPI_init): remove redundant ref.
4231 * test/test-simple.c (unutterable_horror): impl. to force a
4236 (impl_accessibility_registry_deregister_application): release
4237 the application when we de-register it.
4239 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4240 until we have the infastructure to get it right.
4242 2001-12-03 Michael Meeks <michael@ximian.com>
4244 * libspi/Makefile.am: only build eventlistener.[ch]
4246 * libspi/accessible.c
4247 (impl_accessibility_accessible_get_child_at_index): don't leak.
4249 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4250 before we hit the idle handler.
4252 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4253 debugging than exit.
4255 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4257 * libspi/listener.c (impl_notify_event): check source
4258 not NIL before unref.
4260 * libspi/registry.c (impl_registry_notify_event): ditto.
4262 * libspi/eventlistener.c
4263 (impl_accessible_event_notify_event): unref the source.
4265 * libspi/accessibleeventlistener.c
4266 (impl_accessible_event_notify_event): unref the source.
4268 * idl/Event.idl: remove 'hash_id' attribute - of no
4271 * libspi/application.c (notify_listeners): upd list
4273 (spi_application_object_event_listener),
4274 (spi_application_toolkit_event_listener): upd to do correct
4278 (_registry_notify_listeners): update.
4279 (parse_event_type): this method also leaks like a sieve.
4280 (impl_accessibility_registry_deregister_global_event_listener):
4281 fix ETYPE_WINDOW case.
4283 * libspi/application.c
4284 (impl_accessibility_application_register_object_event_listener):
4287 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4289 * libspi/hypertext.c (impl_getLink): ditto.
4291 * cspi/spi_main.c (cspi_object_add): remove
4292 bogus CORBA_Object_duplicate.
4294 * cspi/spi-listener-impl.c (cspi_event): dup/ref
4297 * cspi/spi_accessible.c
4298 (Accessible_getRelationSet): fix leak / referencing issue.
4300 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4301 (cspi_object_add, cspi_object_unref): upd.
4302 (spi_object_release, get_live_refs): impl.
4303 (cspi_cleanup): simplify.
4305 * *.[ch]: s/boolean/SpiBoolean/
4307 * cspi/spi_accessible.c (role_names): actualy order so it
4308 corresponds with the enum !
4310 * test/test-simple.c (test_roles): check some role strings
4311 vs. enums to detect offset errors.
4313 2001-12-01 Michael Meeks <michael@ximian.com>
4315 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4317 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4319 (Accessible_getChildAtIndex): use cspi_add_check so we
4320 check the ev before using a (possibly) invalid value.
4322 * libspi/accessible.c
4323 (impl_accessibility_accessible_get_parent): don't segv
4326 * at-bridge/bridge.c (gtk_module_init): upd.
4327 (bridge_property_event_listener): don't leak strings
4329 (bridge_state_event_listener),
4330 (bridge_property_event_listener): don't use a static
4331 buffer in case of recursive event emission &
4332 re-enterancy - split out the swathe of cut and paste
4334 (emit_eventv): and fix 2 ref leaks here & comply to the
4336 (bridge_register_app): rename to
4337 (bridge_idle_init): this and kill arg parsing, split
4338 various inits & bonobo-activation registration to module
4339 init time, kill referencing error.
4340 (bridge_exit_func): fix the same leak.
4341 (bridge_focus_tracker): don't leak event structures
4343 (bridge_signal_listener): more leakage and cut & paste
4345 (bridge_key_listener): return the result - FIXME is
4346 this polarity correct ?
4347 (accessibility_keystroke_from_atk_key_event): rename
4348 (accessibility_init_keystroke_from_atk_key_event): and stop
4350 (gtk_module_init): return a value - not that it is checked by
4352 (bridge_key_listener): register my horror at casting between
4353 IDL defined structs.
4354 (bridge_get_registry): kill - not used.
4356 * cspi/spi_accessible.c (Accessible_getRole): make return const.
4358 * test/test-simple.c (test_roles): impl.
4359 (test_desktop, validate_accessible, validate_tree): impl.
4361 * cspi/spi_accessible.c (role_names): fixup bogus
4362 MAX_ROLES setup, make constants const for efficient linkage
4363 (AccessibleRole_getName): conform to coding style, make
4366 2001-11-30 Michael Meeks <michael@ximian.com>
4368 * cspi/spi.h: add missing prototype.
4370 * libspi/registry.c (spi_listener_struct_new): fix sig.
4372 * test/Makefile.am: add test-simple
4374 * test/test-simple.c: add
4376 * test/test.sh: add.
4378 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4380 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4381 do it straight - since otherwise we often get an activation race.
4383 [ work before Bill duplicated a chunk of it ... ]
4384 2001-11-30 Michael Meeks <michael@ximian.com>
4386 * libspi/keystrokelistener.c
4387 (spi_keystroke_listener_class_init): fixup arg
4390 * libspi/eventlistener.c
4391 (spi_event_listener_class_init): ditto.
4393 * tests/test.sh: add.
4395 * cspi/spi-listener-impl.h: update macros.
4397 * cspi/spi-listener-impl.c
4398 (cspi_event_listener_remove_callback): add
4399 correct pre-conditions.
4401 * cspi/spi_main.c (SPI_exit): guard vs. double
4402 exits, exit the mainloop nicely.
4403 (SPI_event_main): make more sense.
4404 (SPI_init): move the atexit evilness here so we
4405 always do it (yuck).
4406 (SPI_event_main): upd.
4408 * test/simple-at.c: update for listener changes.
4410 * registryd/registryd.c (main): prune kruft.
4412 * libspi/libspi.h: upd.
4414 * libspi/eventlistener.[ch]: rename broken macros.
4416 * libspi/accessibleeventlistener.[ch]: remove.
4418 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4420 * test/test-simple.c: Add - automated tests.
4422 * cspi/spi-listener-impl.c (cspi_event),
4423 (cspi_key_event): add user_data to invoke.
4424 (cspi_keystroke_listener_finalize): impl.
4425 (cspi_keystroke_listener_class_init): upd.
4428 (createAccessibleEventListener),
4429 (AccessibleEventListener_addCallback),
4430 (createAccessibleKeystrokeListener),
4431 (AccessibleKeystrokeListener_addCallback): upd.
4433 * libspi/deviceeventcontroller.c
4434 (spi_device_event_controller_check_key_event): add public proto.
4437 (impl_accessibility_registry_deregister_global_event_listener):
4438 always init listeners.
4439 (_registry_notify_listeners): yes it is.
4441 * cspi/spi-listener-impl.c (cspi_key_event):
4443 (cspi_event_listener_finalize): impl.
4444 (cspi_event_listener_class_init): hook up.
4445 (event_handler_new, event_handler_free),
4446 (event_list_remove_by_callback): impl.
4447 (cspi_event_listener_remove_callback),
4448 (cspi_keystroke_listener_remove_callback),
4449 (cspi_keystroke_listener_add_callback),
4450 (cspi_event_listener_add_callback): upd.
4452 * libspi/keystrokelistener.c
4453 (keystroke_listener_object_finalize): kill
4454 (spi_keystroke_listener_class_init): upd.
4455 (spi_keystroke_listener_add_callback),
4456 (spi_keystroke_listener_remove_callback): kill,
4458 (impl_key_event): prune drasticaly.
4460 * libspi/eventlistener.c
4461 (spi_event_listener_add_callback),
4462 (spi_event_listener_remove_callback): kill, use
4464 (impl_accessible_event_notify_event): upd.
4465 (spi_event_listener_object_finalize): remove.
4467 * libspi/Makefile.am: use eventlistener.[ch]
4469 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4471 * libspi/registry.c (_registry_notify_listeners):
4472 Changed listener loop iteration to use preferred convention.
4473 Got rid of string memory leaks caused be calling g_strconcat
4474 inside function calls.
4476 * libspi/registry.c (parse_event_type):
4477 Stopped g_strconcat memory leaks, free the g_strsplit return,
4478 g_strdup the split pieces when used, etc.
4480 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4483 Change method 'compare' to return a 'difference set' rather than
4484 taking a StateSet as an out parameter (more Java-friendly).
4486 * idl/Accessible.idl:
4487 Added CORBA struct 'BoundingBox', to faciliate API changes below:
4489 * idl/Component.idl:
4491 Changed methods 'getExtents' and 'getImageExtents' in these
4492 interfaces to return a BoundingBox structure.
4493 (getPosition and getSize are redundant and possibly should be
4494 removed, rather than creating a corresponding Point struct.)
4496 * cspi/spi_component.c:
4497 Modify implementation of getExtents to reflect the above IDL
4502 Add (missing) AccessibleImage_getExtents () API.
4504 * docs/reference/cspi/at-spi-cspi-sections.txt:
4505 Added AccessibleImage_getImageExtents () to docs.
4507 2001-12-03 Bill Haneman <bill.haneman@sun.com>
4509 * idl/Component.idl:
4510 Added two methods, getLayer () and getMDIZOrder (), to reflect
4511 the new ATK methods atk_object_get_layer and
4512 atk_object_get_mdi_z_order. (Which arguably should be part of the
4513 AtkComponent API and AtkObject). Also added an enum,
4514 ComponentLayer, for the first method's return value.
4516 * libspi/component.c:
4517 Added implementations for these methods.
4519 * cspi/spi_component.c:
4521 Added cspi binding methods for above,
4522 AccessibleComponent_getLayer() and
4523 AccessibleComponent_getMDIZOrder().
4524 Added cspi enum 'AccessibleComponentLayer'.
4526 * docs/reference/cspi/at-spi-cspi-sections.txt:
4527 Added above methods to docs.
4531 Changed typedef for 'boolean' type (and all references to it) to
4532 SPIBoolean, to avoid keyword clashes with C++.
4535 Changed usages of 'boolean' to SPIBoolean.
4537 * test/keysynth-demo.c:
4538 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4539 app), except where SPIBoolean is required by the callbacks API.
4541 2001-12-02 Bill Haneman <bill.haneman@sun.com>
4543 * cspi/spi_registry.c:
4544 Removed obsolete X event loop for passive keygrabs (which now
4547 * registryd/registryd.c:
4548 Removed unnecessary call to gdk_init() [cruft]. This also allows
4549 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4552 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4554 * docs/reference/cspi:
4555 Included docs for SPI_freeString in generated documentation.
4558 Renamed spi_freeString to SPI_freeString, for consistency. Added
4559 documentation for this function.
4562 Renamed spi_freeString to SPI_freeString, for consistency.
4563 Removed obsolete method declaration string_from_corba_string.
4565 * test/keysynth-demo.c:
4566 Small tweak to comments.
4569 Stopped leaking the strings returned from CSPI.
4571 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4573 Merged Michael's branch (see his ChangeLog entries below).
4575 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4576 bridge is alive, release on exit.
4578 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4579 Fix type check macro.
4582 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
4585 Added is_gnome_app static, and method cspi_is_gnome_app(),
4586 so we can call the appropriate shutdown routine at exit in SPI_exit.
4588 * cspi/spi_main.c (cspi_object_ref):
4589 Duplicate the corba object passed in, since we're keeping it around.
4591 * cspi/SPI_exit.c, cspi_cleanup:
4592 Moved the releasing of the live refs to its own function, so we
4593 can put it in g_atexit (). Call the appropriate shutdown API
4594 depending on whethe calling client is a gnome app or not
4595 (bonobo_main_quit or CORBA_ORB_shutdown).
4597 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
4598 Unref the listener when this method is called, after
4599 deregistration. Updated the API docs to note this behavior.
4601 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
4602 Bugfixes: Ref the bonobo object when returning a parent or child
4603 reference, or an AccessibleRelation. Generally made sure
4604 BonoboObject refcount is incremented whenever we return an
4607 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
4608 Fixed typo/bug in signal declaration.
4610 * libspi/accessibleeventlistener.h:
4613 * libspi/application.c (spi_application_new):
4614 Fixed leak in initialization.
4617 Remembered to increment bonobo-object refcount when returning
4618 children (applications) from desktop object.
4619 Added (empty) finalize method.
4621 * libspi/deviceeventcontroller.c:
4622 Hold a ref to listeners inside DEControllerKeyListeners.
4623 Added dec_key_listener_free() method. Use prepend instead of
4624 append in key_listener list. Fixed some refcount madness and
4625 leaks in the listener registration/deregistration - deregistration
4626 now calls dec_key_listener_free() on listeners, and on the
4627 temporarily constructed dec_key_listener() used to perform the search/match.
4629 * libspi/hypertext.c (spi_hypertest_finalize):
4630 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
4631 class. Also fixed spi_hypertext_interface_new() and
4632 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
4634 * libspi/hypertext.h:
4635 Removed pointless and duplicate AtkObject pointer from
4638 * libspi/keystrokelistener.c:
4639 Fixed incorrect type of keystroke_listener_parent_class,
4640 renamed keystroke_listener_object_finalize to
4641 spi_keystroke_listener_object_finalize.
4642 Fixed typo in signal declaration
4643 (spi_keystroke_listener_class_init).
4645 * libspi/registry.c:
4646 Added funcsions spi_listener_struct_new() and
4647 spi_listener_struct_free() to help with memory management issues.
4648 We also now use these methods instead of gnew + poking stuff into
4649 the struct, and to decrement listener counts/free the listeners
4650 when deregistering them.
4651 Fix more refcount bugs in getDesktop() and
4652 getDeviceEventController().
4655 De-ref the desktop after enumerating the applications. Explicitly
4656 decrement the refcounts on the created listeners on exit (using
4657 _unref for keystroke listeners, and via the
4658 deregisterGlobalEventListenerAll command for other event
4661 2001-11-27 Michael Meeks <michael@ximian.com>
4663 * cspi/spi-listener.h: fixup enum.
4665 2001-11-27 Michael Meeks <michael@ximian.com>
4667 * cspi/spi-listener-impl.c (cspi_event_listener_new),
4668 (cspi_keystroke_listener_new): Use the cspi variants.
4670 2001-11-26 Michael Meeks <michael@ximian.com>
4672 * test/keysynth-demo.c: fix 2 compile warnings, missing
4675 * test/simple-at.c (report_focussed_accessible),
4676 (report_focus_event, report_button_press),
4677 (check_property_change, is_command_key),
4678 (report_ordinary_key_event, report_command_key_event): upd.
4680 * util/mag_client.h: include pre-requisites.
4682 * libspi/accessibleeventlistener.c
4683 (spi_event_listener_object_finalize): free any lingering
4686 * libspi/keystrokelistener.c
4687 (keystroke_listener_object_finalize): ditto.
4689 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4690 callbacks, with cspi types.
4692 * cspi/spi_event.c (createAccessibleEventListener): chain to
4693 (AccessibleEventListener_addCallback): here.
4694 (createAccessibleKeystrokeListener): chain to
4695 (AccessibleKeystrokeListener_addCallback): here.
4697 * libspi/keystrokelistener.c
4698 (spi_keystroke_listener_class_init): add signal.
4699 (impl_key_event): emit the event.
4700 (boolean_handled_accumulator): impl.
4701 (marshal_BOOLEAN__POINTER): add, gack.
4703 * libspi/accessibleeventlistener.c
4704 (spi_event_listener_class_init): add signal.
4705 (impl_accessible_event_notify_event): emit the signal &
4706 make the loop efficient.
4707 (spi_event_listener_add_callback): prepend the callback.
4709 * libspi/accessibleeventlistener.h: add an 'event' signal,
4710 decl type on callback.
4712 * libspi/keystrokelistener.h: ditto.
4714 * cspi/spi-listener.h: make methods typesafe and
4715 make them use the new event typedefs.
4717 * test/simple-at.c (report_focussed_accessible):
4718 include mag_client.h
4719 Use *(void *)text_interface not the other thing.
4721 * configure.in: add gtk to registryd bits - since we use
4724 * util/magnifier.c: include libbonobo.h
4726 2001-11-25 Bill Haneman <bill.haneman@sun.com>
4728 * test/keysynth-demo.c:
4729 Turned this into a simple scanning keyboard, to demonstrate the
4730 use of g_timeout_add () as a means of creating timers for
4731 scanning, and the use of GtkStyle for visually indicating when
4732 virtual keyboard elements are selected.
4734 keysynth-demo now listens to any keyboard keys with zero-valued
4735 keycodes (i.e. 'unused' keys) and interprets them as
4738 Reworked the shiftlatch code so that shift-down state isn't held
4739 for long periods (it's only synthesized immediately prior to
4740 the keysynth event it's modifying). Note that shiftlatch in this
4741 demo is a convenience, not intended to take the place of AccessX
4742 which is the better choice for getting 'sticky' modifier keys.
4744 * libspi/deviceeventcontroller.c:
4745 * at-bridge/bridge.c:
4746 * cspi/spi_registry.c:
4747 Removed some debug print stuff, and put other verbosity in #ifdef
4752 Implemented some more of the magnifier IDL for the simple
4753 magnifier: namely, getZoomRegionParams.
4754 Added mag_x and mag_y members to MagnifierData struct, aid of this
4756 Added GtkWindow::realize signal handler to magnifier, to keep it
4757 from receiving keyboard focus from the WM.
4759 2001-11-23 Mark McLoughlin <mark@skynet.ie>
4761 * cspi/spi-private.h: my guess at what michael forgot
4762 before he ran off to NZ :-)
4764 2001-11-23 Michael Meeks <michael@ximian.com>
4766 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4767 comment out non existant method invoke so we link.
4769 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4770 use bonobo_exception_get_text for more friendly warnings.
4772 * cspi/spi.c (Obj_Add): move into spi_main & rename
4773 spi_object_add; kill spi.c
4775 * cspi/spi_registry.c
4776 (deregisterGlobalEventListener),
4777 (deregisterGlobalEventListenerAll),
4778 (registerGlobalEventListener): fix exception leaks.
4780 * cspi/spi_main.c (spi_exception): impl. helper, so we
4781 don't leak exceptions.
4783 * cspi/spi_selection.c
4784 (AccessibleSelection_deselectSelectedChild): return the
4787 * cspi/spi_main.c (spi_ev): impl; hack - gack.
4788 (spi_registry): ditto.
4789 (SPI_init): guard against double inits.
4791 * cspi/*.c: use spi_ev (), and spi_registry () where
4792 appropriate - a temporary hack until we have something
4793 better. Use spi_object_add
4795 2001-11-22 Michael Meeks <michael@ximian.com>
4797 * cspi/Makefile.am: re organise, install the headers.
4799 * cspi/*.h: add G_BEGIN/END_DECLS
4801 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4804 Added non-preemptive keylistener for key events with no modifiers
4805 and shift-only modifier.
4807 * libspi/keystrokelistener.c:
4808 Removed some verbose diagnostics printout.
4810 * cspi/spi_registry.c:
4811 Fixed a bug that caused all key listeners to be registered as
4814 * libspi/deviceeventcontroller.c:
4815 Fixed bug that caused XGrabKey (preemptive key grab) to be called
4816 for non-preemptive key masks.
4819 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4821 * docs/reference/idl/at-spi-idl-docs.sgml:
4822 * docs/reference/idl/at-spi-idl-sections.txt:
4823 * docs/reference/idl/at-spi-idl-overrides.txt:
4824 Added missing files.
4826 * docs/reference/Makefile.am:
4827 removed idl from SUBDIRS until we can figure a way to get gtk-doc
4828 to scan the IDL files :-(
4833 Added .cvsignore files.
4835 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4837 * libspi/deviceeventcontroller.c:
4838 * libspi/keystrokelistener.c:
4840 * cspi/spi_registry.c:
4841 Added filters for KeySets, KeyEventSeq, and event types to key
4842 event dispatching, so listeners should only receive those events
4843 that they requested :-)
4845 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4850 * docs/reference:Makefile.am:
4851 * docs/reference/cspi:
4852 * docs/reference/cspi:Makefile.am:
4853 * docs/reference/cspi:tmpl:
4854 * docs/reference/cspi:tmpl:*.sgml:
4855 * docs/reference/idl:
4856 * docs/reference/idl:Makefile.am:
4857 * docs/reference/idl:at-spi-idl-sections.txt:
4858 * docs/reference/idl:at-spi-idl-docs.sgml:
4859 * docs/reference/idl:tmpl:
4860 * docs/reference/idl:tmpl:*.sgml:
4862 Restructured docs directory to allow separate 'reference' docs
4863 section, and forked idl and cspi docs. Added the sgml template
4864 files to CVS. Added the first sections/structural sgml for the
4867 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
4869 * configure.in, libspi/Makefile.am: find libXtst.
4871 2001-11-21 Michael Meeks <michael@ximian.com>
4873 * test/accessx-gui.c: s/spi_value/value/ - doh.
4875 * libspi/base.[ch]: add.
4877 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4879 * idl/Accessible.idl:
4880 * idl/Application.idl:
4883 Started gtk-doc cleanup on IDL.
4885 * libspi/deviceeventcontroller.c:
4886 Added and connected non-preemptive key notification from the
4887 toolkits (in addition to the pre-emptive support from XServer
4888 which we had before, but which causes 'focus flashing'). Filters
4889 are presently limited to key modifiers and global/non-global,
4890 KeySets are presently ignored, as are KeyEvent masks.
4892 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
4893 structs into the persistant structure rather than just storing
4894 pointers to things that might not persist across servant
4897 The XGrabKey call now does async keygrabs, because synchronous
4898 ones were deadlocking with GDK_event code in a very nasty way.
4900 Added boolean to internal method notify_keylisteners, to indicate
4901 whether the event came from the 'toolkit source' or the 'global
4902 (XServer) source' - this is used in the notification process to
4903 determine which listeners to send the event to.
4905 deviceeventcontroller.c is now warning-free.
4907 * libspi/registry.c:
4908 Fixed regression in application de-registration.
4909 Also fixed some really brain-dead weirdness having to do with
4910 event dispatching - event structs are now duplicated before being
4911 re-marshalled in the dispatch to listeners. This also fixes a
4912 Solaris build problem.
4915 2001-11-20 Michael Meeks <michael@ximian.com>
4918 (impl_accessibility_registry_deregister_global_event_listener):
4921 * libspi/deviceeventcontroller.c
4922 (spi_device_event_controller_check_key_event): return
4923 FALSE on no virtual method.
4925 * libspi/*..h: make includes work on a correctly pathed install.
4927 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
4929 * libspi/application.h: kill unused ( and whacked out )
4930 gboolean *spi_application_set_id (AtkObject *app, long id);
4932 2001-11-20 Michael Meeks <michael@ximian.com>
4934 * libspi/*.[ch]: further convert to bonobo's type func
4935 macros, remove redundnant casts etc.
4937 * libspi/text.c s/accessibility_text/spi_text/g,
4938 re-order to de-cruft.
4940 * libspi/hypertext.c: re-order to kill a huge slew
4941 of redundant forward decls.
4943 * libspi/relation.c: ditto.
4945 * libspi/image.c: ditto.
4947 * */.cvsignore: update
4949 2001-11-20 Michael Meeks <michael@ximian.com>
4951 * libspi/deviceeventcontroller.c
4952 (_controller_register_with_devices): use g_getenv,
4953 kill stdlib.h include.
4955 * libspi/keystrokelistener.c
4956 (spi_keystroke_listener_get_type): kill
4957 (spi_keystroke_listener_class_init),
4958 (spi_keystroke_listener_init): rename to this.
4960 * libspi/text.c (impl_getAttributes): fix warning / bug.
4962 * libspi/*.[ch]: more headers, includes and over commenting.
4964 2001-11-20 Michael Meeks <michael@ximian.com>
4966 * libspi/*.[ch]: fixup headers, includes and over commenting.
4968 * libspi/image.c (impl__get_imageDescription): const
4969 correctness warning fix. remove redundant casting.
4971 * libspi/table.c (impl_getRowDescription): ditto.
4972 (impl_getColumnDescription): ditto.
4974 * libspi/libspi.h: add.
4976 2001-11-19 Michael Meeks <michael@ximian.com>
4978 * libspi/editabletext.c (impl_setAttributes): fix warnings.
4980 * libspi/component.c (accessibility_component_get_type):
4981 rename to (spi_component_get_type): and macroify.
4982 (accessibility_component_init): rename to
4983 (spi_component_init): this
4984 (accessibility_component_class_init): rename to
4985 (spi_component_class_init): this
4987 * libspi/action.c (spi_action_get_type): kill, use the macro.
4989 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
4992 * libspi/application.c (spi_application_object_event_listener),
4993 (impl_accessibility_application_register_object_event_listener):
4994 warning fixes / const understanding updates.
4996 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
4999 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5001 * libspi/spi_accessible.c: Added docs and C bindings for
5002 AccessibleStateSet. (No implementations yet). Documentation
5003 coverage for C bindings now 100%. Made docs for event listeners
5008 boolean notifyListenersSync (in DeviceEventListener listener,
5009 in DeviceEvent event);
5011 oneway void notifyListenersAsync (in DeviceEventListener listener,
5012 in DeviceEvent event);
5014 Added DeviceEventListener and DeviceEvent structs (may deprecate
5015 KeyStroke and KeystrokeListener in favor of this generic
5016 event/listener framework for devices).
5018 * libspi/deviceeventcontroller.c:
5020 Changed some key listener code to take masks, etc., and paved the
5021 way for integration of toolkit/non-preemptive key events. Changed
5022 signatures of some internal methods.
5024 * at-bridge/bridge.c:
5025 Fixed regression connecting to interface signals, apparently
5026 caused by GTK+ changes.
5028 Added an internal bridge_state_listener to deal with
5029 property-change:accessible-state signals.
5031 Changed the key_listeners GList to store structs (including masks,
5032 etc.) instead of just CORBA_Objects (required for full
5033 implementation of key listener API).
5035 Connected the bridge to all currently supported Atk signals.
5036 Events now supported:
5037 object:property-change
5038 object:property-change:accessible-name
5039 object:property-change:accessible-state
5040 object:property-change:accessible-description
5041 object:property-change:accessible-parent
5042 object:property-change:accessible-value
5043 object:property-change:accessible-role
5044 object:property-change:accessible-table-caption
5045 object:property-change:accessible-table-column-description
5046 object:property-change:accessible-table-column-header
5047 object:property-change:accessible-table-row-description
5048 object:property-change:accessible-table-row-header
5049 object:property-change:accessible-table-summary
5050 object:children-changed
5051 object:visible-data-changed
5052 object:selection-changed
5053 object:text-selection-changed
5055 object:text-caret-moved
5057 object:row-reordered
5059 object:column-inserted
5060 object:column-reordered
5061 object:column-deleted
5062 object:model-changed
5064 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5066 * libspi/hyperlink.c,h:
5067 Fixed some broken stuff in hyperlink.
5069 * libspi/relation.h:
5070 * libspi/relation.c:
5071 * cspi/spi_accessible.c:
5072 Initial implementations of AccessibleRelation methods, and docs.
5074 * libspi/accessible.c:
5075 Fixed a bug that caused SEGV if an accessible
5076 object's description is NULL, and a client
5077 requests it. An empty string is now returned.
5079 * cspi/spi_editabletext.c:
5080 * cspi/spi_hypertext.c:
5082 * cspi/spi_hyperlink.c:
5086 Doc coverage now 95%.
5088 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5090 One last namespacing revision:
5091 * libspi/accessibleeventlistener.[ch]:
5092 Renamed SpiAccessibleEventListener to SpiEventListener,
5093 (no need for two namespaces ;-)
5095 And lots of documentation fixes:
5097 * docs/at-spi-docs.sgml:
5098 Fixed 'underscore vs. hyphen' bug that was preventing
5099 the gtk-doc API docs from being automatically generated.
5102 * cspi/spi-listener.h
5104 * cspi/spi_accessible.c
5106 * cspi/spi_application.c
5107 * cspi/spi_component.c
5108 * cspi/spi_editabletext.c
5110 * cspi/spi_hypertext.c
5112 * cspi/spi_registry.c
5113 * cspi/spi_selection.c
5117 * docs/at-spi-docs.sgml
5118 * docs/at-spi-sections.txt
5120 Added and fixed up gtk-doc documentation in cspi.
5122 Interfaces now (fully) documented (subject to revision and enhancement):
5124 Event Listener Support
5126 AccessibleApplication
5130 AccessibleEditableText
5137 AccessibleRelationSet
5142 2001-11-14 Bill Haneman <bill.haneman@sun.com>
5144 * at-bridge/bridge.c:
5145 Initial work for toolkit-level key snooper connection by bridge.
5150 New typedefs and fixes to support new namespacing, and cleaner
5151 separation of cspi bindings from libspi bonobo implementation.
5152 Removed inconsistent and extraneous Spi* namespace prefix that
5153 had crept into cspi headers.
5154 Lots of comment fixes that sed had missed.
5156 * cspi/spi-roletypes.h:
5157 * cspi/spi-statetypes.h:
5158 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5159 to AccessibleRoleType.
5161 * libspi/accessibleeventlistener.h:
5162 Fixed minor namespacing weirdness.
5164 * libspi/deviceeventcontroller.c:
5165 Reordered some internal API for device listeners.
5166 Changed the key registry final boolean to 'is_system_global'
5167 rather than 'is_synchronous', which is more descriptive of its
5169 Added spi_device_event_controller_new().
5170 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
5172 * libspi/keystrokelistener.[ch]:
5173 Namespaced KeystrokeListener to SpiKeystrokeListener.
5174 Changed uses of keymasks to use SPI_ prefix, and did other
5177 * libspi/keymasks.h:
5178 Namespaced keymask constants with SPI_ prefix.
5180 * libspi/registry.c:
5181 Some warning fixes, and knock-on fixes from namespace changes.
5184 Added rules for accessx-gui test program.
5186 * test/accessx-gui.c:
5187 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5188 utility. It doesn't actually use at-spi, but it's still cool and
5191 * test/keysynth-demo.c:
5195 Fixes so that these test clients work properly with the namespaced
5196 libraries. (Incompletely tested for technical reasons, fixes may follow)
5199 2001-11-13 Michael Meeks <michael@ximian.com>
5201 * libspi/application.c
5202 (impl_accessibility_application_get_version),
5203 (impl_accessibility_application_get_toolkit_name):
5205 (impl_accessibility_application_set_id),
5206 (impl_accessibility_application_get_id): remove
5207 redundant casting code.
5209 * libspi/action.c (impl_getDescription): fix warnings.
5211 * libspi/accessible.c
5212 (impl_accessibility_accessible_get_parent),
5213 (impl_accessibility_accessible_get_child_at_index),
5214 (impl_accessibility_accessible_get_state),
5215 (impl_accessibility_accessible_get_relation_set):
5216 warning fixes & include action.h
5218 2001-11-13 Michael Meeks <michael@ximian.com>
5220 * *.[ch] fix bits I screwed up:
5222 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5223 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5225 2001-11-13 Michael Meeks <michael@ximian.com>
5227 * *.[ch] Namespace libspi into spi_ and Spi.
5229 2001-13-11 Michael Meeks <michael@ximian.com>
5231 * Makefile.am: dist & install at-spi-1.0.pc
5233 * libspi/Makefile.am: install into at-spi-1.0
5235 * idl/Makefile.am (idldir): install into at-spi-1.0
5237 * at-spi-1.0.pc.in: add.
5239 * configure.in: build it.
5241 2001-11-12 Bill Haneman <bill.haneman@sun.com>
5243 * test/keysynth-demo.c:
5244 Use a 'realize' signal-handler to set the WM properties for
5245 the virtual keyboard, rather than making it a "POPUP" type
5246 override-redirect window (thanks to anders carlsson for that
5249 2001-11-11 Bill Haneman <bill.haneman@sun.com>
5252 * test/keysynth-demo.c:
5253 Added new test of key synthesis, which creates a simple
5254 (mouse-operated) onscreen keyboard. It inserts key events into
5255 the currently-focused window, thus it does not grab keyboard focus
5258 * cspi/spi_registry.c:
5259 Added C binding for AT-SPI generateKeyEvent.
5261 * libspi/deviceeventcontroller.c:
5262 Added call to XFilterEvent so that key listener works with XIM (we
5263 hope). Added event_synth_type to generateKeyEvent, so that we can
5264 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5265 synthesize a press/release pair for KeySyms.
5267 2001-11-09 Bill Haneman <bill.haneman@sun.com>
5269 * libspi/Makefile.am:
5270 * registryd/Makefile.am:
5271 (temporary) hack to include libXtst in libspi and registryd.
5272 (Needed for keystroke synthesis, see below).
5275 Improved API for registerKeystrokeListener, in accordance with
5276 discussions with Gnopernicus team and X server research.
5278 * libspi/registry.c:
5279 * libspi/deviceeventcontroller.c:
5280 * libspi/accessible.c:
5281 * libspi/keystrokelistener.c:
5282 Changes and fixes to support keylisteners for potentially
5283 consumed key events (that is, 'passive grabs').
5284 Added implementation for generateKeyEvent() [untested].
5287 Changes to registerKeystrokeListener() API, as above.
5288 Added deregisterGlobalEventListenerAll(), and
5289 deregisterKeystrokeListener(), which are needed for clean exit of
5291 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5292 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5294 * cspi/spi_registry.c:
5295 Added implementations of function prototypes mentioned above.
5297 * registryd/registryd.c:
5298 Added the key listener event source as a g_timeout(), to allow
5299 receipt of key events that are not caught by GDK (since GDK
5300 doesn't support passive keygrabs, this was necessary).
5303 Changed to attach a keylistener to 'Alt' keys, and
5304 respond to the following keycommands: Alt-M (toggle magnifier);
5305 Alt-F (toggle speech); Alt-Q (quit).
5306 Added an exit routine to deregister the listeners, and a key
5307 listener that prints some key info to the console when a key
5308 matches the listener mask (and is thus received by the listener).
5310 * util/idl/Magnifier.idl:
5311 Changes to magnifier API to support multiple zoom regions,
5312 non-uniform scaling in x and y, markDirty, and a host of other
5313 features that would be useful to magnification.
5316 * util/mag_client.c:
5317 * util/mag_client.h:
5318 * util/mag_control.c:
5320 Source code changes to support the above IDL changes.
5323 As above, and also changes to use a (slower) generic conversion
5324 path for colormap conversions, since the fast RGB conversions have been
5325 reported to fail for 16-bit displays.
5327 2001-10-26 Michael Meeks <michael@ximian.com>
5329 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5331 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
5333 * at-bridge/Makefile.am: fix LDFLAGS.
5335 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5337 * at-bridge/bridge.c:
5338 Re-worked listeners for toolkit events, now we have signal
5339 and property listeners. Added a private method
5340 register_atk_event_listeners(), which registers with the
5341 various atk and gtk signals we need to monitor in order to emit
5343 Added emission hook for AtkObject:property-change events, to
5344 support the 'property listeners'.
5345 Fixed some alloc()s of Accessibility_Event structs to use CORBA
5348 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5349 which emit warnings and exit, respectively, if CORBA errors occur
5350 during remote calls, and we now use these methods to check most of
5351 our CORBA calls in the C bindings.
5353 * cspi/spi_accessible.c:
5354 Changed AccessibleSelection_refSelectedChild() to
5355 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5356 now increment refcounts.
5358 * cspi/spi_component.c:
5359 Fixed some long pointer casts (dangerous!) to pass pointers to
5360 CORBA_longs of the proper type to the CORBA stubs, and copy the
5361 data into the longs that were passed into the C bindings code.
5363 * at-bridge/bridge.c:
5365 * libspi/accessible.c:
5366 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5367 hyperlinks, AtkHyperlink is an object type.
5369 * libspi/application.c:
5370 Added various conversions to and from "generic" event types and
5371 atk-specific types; this is really part of the 'bridge'
5372 implementation but is valid for all AtkObject-based accessibility
5375 * libspi/editabletext.c:
5376 Fixed nasty bug wherein editable text's finalize method was
5377 unref'ing tha AtkObject reference that the text parent class was
5378 about to unref _again_. There was also a nasty inheritance bug
5379 that meant that the AccessibleEditableText class was corrupt.
5381 * libspi/selection.c:
5382 Provided implementations for some selection API that was broken.
5384 * idl/Application.idl:
5385 Added registerObjectEventListener () method.
5388 Fixed a number of return values that were Bonobo_Unknowns from
5389 bonobo_object_corba_objref(), which I
5390 forgot to dup before returning. Changed instances of
5391 bonobo_object_corba_objref (bonobo_object(o)) to
5392 BONOBO_OBJREF(o), for concision and clarity.
5394 2001-10-13 Louise Miller <louise.miller@sun.com>
5396 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5397 idl/Event.idl, idl/Registry.idl
5398 Changed these files to include Bonobo_Unknown.idl instead
5401 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
5403 * libspi/component.c libspi/component.h:
5404 Fixed typo. Added assertions for object checks in
5405 AccessibleComponent code.
5407 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5409 * idl/Accessible.idl:
5410 Added 'isEqual (Accessible *object)'
5411 method for Accessible. (Not Yet Implemented).
5414 Changed signature of registerKeystrokeListener() to
5415 take a KeySet and KeyEventSeq so that specific keys and event
5416 types could be requested for monitoring, and added a flag
5417 is_synchronous so that either synchronous or asynchronous
5418 notification could be requested. (However this is not all
5419 implemented yet). This also meant adding two new typedefs,
5420 KeyEventSeq and KeySet.
5423 Added two new relations, RELATION_TOOLTIP_FOR and
5424 RELATION_LEAFNODE_OF.
5427 Added new state, STATE_HAS_TOOLTIP.
5429 * libspi/text.c, editabletext.c:
5430 Added new assertions to all casts of bonobo-objects from
5431 CORBA servants, to prevent Text API calls on non-text objects.
5432 Changed suspect casts of int-pointer types, so that we
5433 always send a valid CORBA_long pointer to the CORBA APIs that use
5434 in/out long parameters. We then have to copy from the CORBA_long
5435 into the regular long or int for return to the C bindings, or
5436 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5439 * libspi/deviceeventcontroller.c:
5440 Cleaned these sources up.
5442 Changed return type for getCharacterAtOffset to
5443 CORBA_unsigned_long, to allow for 32-bit characters.
5446 2001-10-08 Bill Haneman <bill.haneman@sun.com>
5450 Fixed 'make dist' so that distro compiles...
5451 * libspi/keymasks.h:
5453 * cspi/spi-listener.c:
5454 KeystrokeListenerCB now returns a boolean.
5456 Added KeyEventType struct, and KeyStroke.
5457 Also added createKeystrokeListener(),
5458 KeystrokeListener_addCallback(),
5459 KeystrokeListener_removeCallback(), and added a keymask to
5460 registerKeystrokeListener().
5461 * cspi/spi_accessible.c:
5462 Changed numerous return types for interfaces from
5463 AccessibleComponent to Accessible<InterfaceName>; this was
5464 probably a cut-and-paste error.
5466 Implementations of new KeystrokeListener api (from spi.h,
5469 Changes to key modifier mapping.
5470 Created ControllerEventMask struct.
5471 Made DeviceEventController derive from Bonobo::Unknown.
5473 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5474 * libspi/deviceeventcontroller.c:
5475 Added a number of new internal (private) methods.
5476 * libspi/editabletext.c:
5477 * libspi/editabletext.h:
5478 Fixed a number of bugs related to the fact that
5479 editabletext inherits from text. Fixed the EditableText struct,
5480 the init() call, and use correct casts when calling Text methods
5481 from an EditableText object. Removed (duplicate) atko from the
5482 EditableText structure, we use the one in the parent Text
5483 structure via the casts mentioned above.
5484 * libspi/keystrokelistener.[ch]:
5485 * libspi/registry.c:
5486 Changes in support of keyboard handling (above).
5488 Keyboard handling, though partly functional, is still not
5489 recommended for at-spi client use as there is considerable
5490 work yet to be done.
5493 Changed some places where pointers to various int types
5494 are cast to be pointers to CORBA_long types and vice-versa:
5495 pointer casting is not safe so we pass pointers of the correct
5496 types and then cast the result before putting it into the target
5499 * libspi/text.h: minor typos corrected.
5501 We now speak not only the name of a Text element, but the
5502 first sentence of its content, when it receives focus.
5503 I also changed the text compression to 75% from 50%.
5504 * util/Accessibility_Util.server.in:
5505 Changed the default magnifier type to be a 3x vertical
5506 splitscreen magnifier (was previously a 2x horizontal one).
5508 2001-10-03 Bill Haneman <bill.haneman@sun.com>
5510 * libspi/keystrokelistener.h:
5511 * libspi/keystrokelistener.c:
5512 Initial functional implementations of KeystrokeListener.
5515 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
5517 Fixed string handling for NULL strings in libspi.
5518 Added spi_freeString to free strings returned by C bindings.
5520 2001-09-30 Bill Haneman <bill.haneman@sun.com>
5522 * libspi/keystrokelistener.h:
5523 * libspi/keystrokelistener.c:
5524 Began (no-op) implementations of KeystrokeListener
5526 * libspi/deviceeventcontroller.c:
5527 * libspi/deviceeventcontroller.h:
5528 Began creating implementations of DeviceEventController,
5529 to handle keystroke and mouse event listening and
5531 * libspi/accessible.c:
5532 Stubbed-in the implementations for
5533 Accessibility_Accessible_getState and
5534 Accessibility_Accessible_getRelationSet.
5535 * libspi/registry.c:
5536 Improved de-registration process and fixed some bugs,
5537 deregistration now works correctly.
5539 Added initialization of applications list (to NULL).
5541 Reduced speech compression from 0.5 to 0.7, for demo.
5542 Changed call to gdk_window_set_decorations()
5543 to gtk_window_set_decorated().
5544 * at-bridge/bridge.c:
5545 Bridge now deregisters when app exits, via
5546 registration of a cleanup function
5547 with the g_atexit() call.
5548 Required making 'app' static, renamed 'this_app'.
5549 Fixed broken use of bonobo_init, passing argv wrongly.
5551 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5555 Created a new directory for
5556 accessibility-related utilities, primarily for
5557 testing and demo purposes, but with possible
5564 Onscreen magnifier utility that
5565 is implemented as a bonobo service.
5567 * util/mag_client.c:
5568 * util/mag_client.h:
5569 Client-side support (simple C bindings)
5570 for Magnification service
5572 * util/mag_control.c:
5573 Client program example for
5574 Magnification service
5576 * util/Accessibility_Magnifier.server.in:
5577 Bonobo-activation file for the
5578 Magnification service.
5581 * util/idl/Magnifier.idl:
5582 IDL defining the bonobo Magnification
5586 Modifications to use the bonobo-activated magnifier
5587 above, in place of trying to connect to an existing
5588 magnifier that uses socket-listening IPC.
5590 If env variable MAGNIFIER is set, a magnifier service
5591 will be started if one does not exist.
5593 2001-09-25 Bill Haneman <bill.haneman@sun.com>
5595 * at-bridge/bridge.c:
5596 applied patch from Marc to build and run
5597 against new glib and gtk+ (seemed like a change
5598 to bonobo_init signature was made ?)
5600 made festival-server support turned off by default.
5601 Added support for a simple magnifier (off by default)
5602 which will be added to a 'util' directory later.
5603 * at-bridge/Makefile.am:
5604 Changed "application.h" header from a 'source'
5605 to a 'dependency' of libat-bridge.
5607 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5616 Added interface implementation c files to list of
5617 includes so they are included in libcspi.
5620 Changed prototype of AccessibleAction_doAction to return a
5622 Changed prototype of AccessibleTable_getCaption to
5623 return an Accessible.
5624 Changed prototype of AccessibleTable_getSelectedRows
5625 and AccessibleTable_getSelectedColumns to
5626 return a long (returns the number of selected rows
5627 or columns respectively).
5628 Changed name of AccessibleText_refRunAttributes to
5629 AccessibleText_getAttributes.
5630 Changed prototype of AccessibleText_getCharacterExtents to
5631 return a void rather than a boolean.
5632 Added support for a AccessibleCoordType parameter
5633 specifying what type of coordinates are desired.
5634 Added an AccessibleCordType parameter to
5635 AccessibleText_getPointAtOffset.
5637 * cspi/spi_accessible.c:
5638 Added code to return the outstanding interfaces from
5639 Accessible_queryInterface.
5641 * cspi/spi_action.c:
5643 Corrected call to getNActions to call the c binding
5646 * cspi/spi_editabletext.c:
5648 Changed name from setRunAttributes to setAttributes.
5650 * cspi/spi_hyperlink.c:
5652 Changed call to getNAnchors to correctly call the c
5653 binding for an attribute.
5655 * cspi/spi_hypertext.c:
5657 Changed getImageDescription to correctly call the
5658 binding for an attribute.
5660 * cspi/spi_selection.c:
5661 Changed getNSelectedChildren to correctly call the c
5662 binding for the attribute.
5663 Changed refSelectedChild to getSelectedChild.
5667 Changed getCaption to return an Accessible.
5668 Fixed calls which retrieve attributes.
5669 Changed refAt to getAccessibleAt.
5670 Changed getNSelectedRows and getNSelectedColumns to
5674 Changed getCharacterExtents and getPointAtOffset to accept an
5675 AccessibleCoordType.
5677 Changed calls which retrieve attributes.
5678 Changed refRunAttributes to getAttributes.
5683 * idl/Hyperlink.idl:
5684 Changed n_anchors attribute to nAnchors to keep naming
5685 convention consistent.
5688 Made Table inherit from Bonobo::Unknown.
5689 Added nSelectedColumns and nSelectedRows attributes.
5692 Made Value inherit from Bonobo::Unknown.
5694 * libspi/hyperlink.c:
5695 Change for nAnchors attributte name change.
5697 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5705 Added interface implementation c files to list of
5706 includes so they are included in libcspi.
5709 Changed prototype of AccessibleAction_doAction to return a
5711 Changed prototype of AccessibleTable_getCaption to
5712 return an Accessible.
5713 Changed prototype of AccessibleTable_getSelectedRows
5714 and AccessibleTable_getSelectedColumns to
5715 return a long (returns the number of selected rows
5716 or columns respectively).
5717 Changed name of AccessibleText_refRunAttributes to
5718 AccessibleText_getAttributes.
5719 Changed prototype of AccessibleText_getCharacterExtents to
5720 return a void rather than a boolean.
5721 Added support for a AccessibleCoordType parameter
5722 specifying what type of coordinates are desired.
5723 Added an AccessibleCordType parameter to
5724 AccessibleText_getPointAtOffset.
5726 * cspi/spi_accessible.c:
5727 Added code to return the outstanding interfaces from
5728 Accessible_queryInterface.
5730 * cspi/spi_action.c:
5732 Corrected call to getNActions to call the c binding
5735 * cspi/spi_editabletext.c:
5737 Changed name from setRunAttributes to setAttributes.
5739 * cspi/spi_hyperlink.c:
5741 Changed call to getNAnchors to correctly call the c
5742 binding for an attribute.
5744 * cspi/spi_hypertext.c:
5746 Changed getImageDescription to correctly call the
5747 binding for an attribute.
5749 * cspi/spi_selection.c:
5750 Changed getNSelectedChildren to correctly call the c
5751 binding for the attribute.
5752 Changed refSelectedChild to getSelectedChild.
5756 Changed getCaption to return an Accessible.
5757 Fixed calls which retrieve attributes.
5758 Changed refAt to getAccessibleAt.
5759 Changed getNSelectedRows and getNSelectedColumns to
5763 Changed getCharacterExtents and getPointAtOffset to accept an
5764 AccessibleCoordType.
5766 Changed calls which retrieve attributes.
5767 Changed refRunAttributes to getAttributes.
5772 * idl/Hyperlink.idl:
5773 Changed n_anchors attribute to nAnchors to keep naming
5774 convention consistent.
5777 Made Table inherit from Bonobo::Unknown.
5778 Added nSelectedColumns and nSelectedRows attributes.
5781 Made Value inherit from Bonobo::Unknown.
5783 * libspi/hyperlink.c:
5784 Change for nAnchors attributte name change.
5787 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
5789 implementations-- made server implementations own AtkObject pointers
5790 rather than their respective AtkInterrface pointers to fix
5791 refcounting. AtkHyperlink is still broken.
5793 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5794 * cspi/spi_accessible.c:
5795 Added method Accessible_Role_getName(),
5796 and requisite string array (role_names).
5797 Added conversion string_from_corba_strin() call
5798 to Accessible_getName and _getDescription.
5799 * libspi/accessible.c:
5800 Added implementation for Accessible_getRole()
5802 Added festival support, used if environment variable
5805 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5807 * at-bridge/bridge.c:
5808 Now allocate Accessibility_Event using
5809 Accessibility_Event__alloc() instead of g_new0().
5810 * libspi/accessibleeventlistener.c:
5811 Initialize AccessibleEventListener->callbacks to NULL.
5812 Fixed accessible__event_listener_init() param, changed to
5813 "AccessibleEventListener *" type.
5814 Changed a bonobo_object_release_unref() call to
5815 Accessibility_Accessible_unref().
5816 * libspi/listener.c:
5817 Changed Bonobo_Unknown_unref to (equivalent)
5818 Accessibility_Accessible_unref.
5819 * libspi/registry.c:
5820 Changed bonobo_object_release_unref to
5821 Accessibility_Accessible_unref.
5823 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5826 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5827 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5828 spi-util.c spi-util.h
5829 Implementations for C bindings to remaining accessibility
5832 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5835 changed return value of Action from void to boolean to
5836 bring in line with ATK.
5839 Changed getText funcions to return "out" start and end offsets.
5840 Changed getAttributes to take and offset and return the start
5841 and end offset of the attribute run.
5842 Changed getOffsetAtPoint and getCharacterExtents to take an
5843 enum describing whether coordinates are window or screen.
5846 libspi/action.c libspi/action.h libspi/editabletext.c
5847 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5848 libspi/hypertext.c libspi/hypertext.h libspi/image.c
5849 libspi/image.h libspi/selection.c libspi/selection.h
5850 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
5851 libspi/value.c libspi/value.h
5852 Added server implementations for outstanding ATK interfaces
5853 not yet implemented.
5855 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5858 Added (missing) getName() method.
5859 Made nActions an attribute.
5860 * idl/EditableText.idl:
5861 Changed order of params in setAttributes.
5862 * idl/Hyperlink.idl:
5863 Removed getAnchor, added getURI.
5865 Changed attributes to methods, for efficiency
5866 (so that getting extents can be done in one call)
5867 * idl/Selection.idl:
5868 Changed nSelectedChildren to attribute, and re-indented.
5869 * idl/Table.idl: changed nrows, ncolumns, caption, summary
5871 * idl/Text.idl: reformatted to match our coding style.
5872 (temporarily?) removed getRowColumnAtOffset().
5873 Changed text selection API to support multi-select and
5874 non-contiguous selections, as in ATK.
5875 * idl/Value.idl: changed some methods to attributes.
5877 2001-08-24 Mark McLoughlin <mark@skynet.ie>
5879 * libspi/listener.c(impl_notify_event):
5880 BonoboUnkown_unref the source instead
5881 of bonobo_object_release_unref - the ORB
5882 handles the releasing.
5884 * configure.in: require ORBit-2.3.94 for
5887 2001-08-21 Bill Haneman <bill.haneman@sun.com>
5889 Tagged CVS repository 'EA_1_0'.
5890 * README.EARLY_ACCESS:
5891 Alphabetized acknowledgements list, and
5893 Listed some known dependencies of at-spi.
5895 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5897 * docs/at-spi-docs.sgml:
5898 * docs/at-spi-sections.txt:
5899 * docs/at-spi-overrides.txt: (Added zero-length file)
5900 Documentation improvements - gtk-doc should build
5901 docs for all implemented C bindings now.
5904 * cspi/spi.c: (New file)
5905 * cspi/spi_event.c: (New file)
5906 * cspi/spi_registry.c: (New file)
5907 * cspi/spi_accessible.c: (New file)
5908 * cspi/spi_application.c: (New file)
5909 * cspi/spi_component.c: (New file)
5910 Split spi_main.c into six parts, and included them from
5911 "spi.c". This is a bit of a hack, probably temporary,
5912 but required by gtk-doc, apparently.
5914 2001-08-20 Bill Haneman <bill.haneman@sun.com>
5917 * docs/at-spi-docs.sgml:
5918 * docs/at-spi-sections.txt:
5920 Initial checkins/modifications for gtk-doc generation.
5923 Added (missing) interface query methods to Accessible's C binding.
5925 Added GenericInterface type definition.
5927 Added query for AccessibleComponent interface to focus event handler.
5928 Added printout of bounding box for focussed component.
5929 * libspi/component.c:
5930 Added partial implementation for AccessibleComponent to C binding.
5931 * idl/Application.idl:
5932 * libspi/registry.c:
5933 * libspi/listener.c:
5934 * libspi/application.c:
5935 * libspi/application.h:
5936 Changed "ID" attribute type from string to long.
5938 2001-08-19 Bill Haneman <bill.haneman@sun.com>
5942 Made method naming consistent: methods taking object args
5943 start with uppercase, other methods (except those using
5944 acronyms) start with lowercase. Underscores delimit between
5945 object names and method names:
5946 SPI_init() - uppercase since it starts with an acronym.
5947 getDesktopCount () - lowercase start since no object param0.
5948 Accessible_getName() - uppercase object type name, studlyCaps method
5952 Added gtk-doc documentation for all currently implemented
5953 methods in the C bindings API.
5955 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5957 * Makefile.am : changed build order to build test last.
5960 Changed "createEventListener" to "CreateEventListener".
5961 * libspi/accessibleeventlistener.c :
5962 Bugfix for addition of callbacks.
5963 * test/Makefile.am :
5964 * test/simple-at.c :
5965 Added new test that uses the C bindings API.
5967 * libspi/listener.c :
5968 * libspi/registry.c :
5969 * libspi/accessibleeventlistener.c :
5970 * at-bridge/bridge.c :
5971 Renamed member "target" of Accessibility_Event to "source",
5972 which is more descriptive.
5975 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5979 * cspi/Makefile.am :
5980 Added makefile support for at-spi/cspi directory.
5983 * cspi/spi-listener.h : (NEW FILE)
5984 Added support for/use of spi-listener.h.
5986 C bindings now build successfully, with no warnings.
5987 * libspi/accessibleeventlistener.h : (NEW FILE)
5988 * libspi/accessibleeventlistener.c : (NEW FILE)
5989 * libspi/Makefile.am :
5990 Added new object type "AccessibleEventListener"
5991 which inherits from Listener, and allows attachment
5992 of in-process callbacks (so that a client with a listening
5993 object instance can add functionality to the local
5994 implementation, dynamically).
5996 2001-08-18 Bill Haneman <bill.haneman@sun.com>
5998 * libspi/accessible.c:
5999 Add implementation for get_index_in_parent().
6001 Added #include of "spi-roletypes.h", and
6002 added enumerated type AccessibleCoordType.
6003 Added definition for KeystrokeListener (function type).
6006 * cspi/spi-statetypes.h :
6007 * cspi/spi-roletypes.h :
6009 Added these headers, used by spi.h.
6011 Added code (NOTE: not yet built by make).
6013 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6015 * libspi/Makefile.am: generate imodule
6016 at the same time as other idl compiler
6019 2001-08-17 Bill Haneman <bill.haneman@sun.com>
6020 * libspi/registry.c :
6021 * libspi/application.c :
6022 * idl/Application.idl :
6023 Made registration with toolkit an application method,
6024 which is required since each app has its own toolkit static
6025 environment. Thus the bridge must register for
6026 notification of toolkit events from each application in turn.
6027 Toolkit notifications are now successfully registered for, and
6028 sent to the listening at client.
6030 Changed toolkit event string to use hyphens rather than underscores.
6031 * libspi/listener.c :
6032 listner now gives more info in debug mode - it reports the
6033 name of the event received, as well as the name of the source.
6036 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6038 * libspi/registry.c :
6039 added more implementation for toolkit events.
6040 Fixed bug such that toolkit event registrations
6041 (via atk) use the whole event name string, not
6043 Removed a useless call to an ORBit_ method.
6044 * at-bridge/bridge.c :
6045 Removed unused local sbuf[] variable.
6047 We now register for Gtk:GtkWidget:button_press_event
6048 events as well as "focus:" events.
6050 Add some more API from Registry.idl that was missing,
6051 for keystroke listening, keystroke and mouse event
6052 synthesis, and enumeration of accessible desktops.
6054 2001-08-16 Michael Meeks <michael@ximian.com>
6056 * configure.in: use AM_GLIB_GNU_GETTEXT.
6058 * Makefile.am (SUBDIRS): kill intl.
6060 2001-08-15 Michael Meeks <michael@ximian.com>
6062 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6064 * configure.in: upd.
6066 * configure.in: depend on a recent bonobo-activation that
6067 will find our server files ...
6069 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6071 * libspi/accessible.c : accessible_new() :
6072 Now we add the Component interface via bonobo_object_add_interface,
6073 if the contained AtkObject implements AtkComponent.
6074 * libspi/accessible.h : now include "component.h"
6075 * libspi/component.h :
6076 * libspi/component.c : added files - implementation of
6077 bonobo wrapper object for Accessibility/Component
6078 * libspi/listener.c :
6079 Added test code to check for Accessibility/Component:1.0
6080 interface and report whether it is implemented by the
6082 * libspi/registry.c :
6083 Now we check for not only the hash of the whole event
6084 string before relaying the event, we also check the
6085 "minor" event string (without the detail string).
6086 This allows event listeners to be registered against
6087 all events of a certain major+minor type, or just
6088 against a specific major+minor+detail type.
6089 * libspi/accessible.c :
6090 Added implementations for Accessible:get_parent(),
6091 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6092 * libspi/registry.c :
6093 * libspi/listener.c :
6094 Replaced calls to Accessibility_Accessible_ref() and
6095 Accessibility_Accessible_unref() with
6096 calls to bonobo_object_dup_ref() and
6097 bonobo_object_release_unref(), so that the CORBA object
6098 is dup-ed and released when relayed, as well as the bonobo object.
6100 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6102 * libspi/Makefile.am,
6103 registryd/Makefile.am,
6104 at-bridge/Makefile.am.
6105 test/Makefile.am, configure.in:
6106 reverse previous changes.
6108 * /idl/Image.idl: fix typo.
6110 * test/Makefile.am: put DEBUG_FLAGS
6113 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6115 * test/app.c: use argv[0] instead of
6118 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6120 * libspi/Makefile.am,
6121 registryd/Makefile.am,
6122 at-bridge/Makefile.am.
6123 test/Makefile.am, configure.in:
6124 cleanup, replace individual LIBS/CFLAGS with
6125 AT_COMMON_{LIBS|CFLAGS}.
6129 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6131 * configure.in, libspi/Makefile.am:
6132 Change IDL path checking for bonobo-activation
6135 2001-08-15 Bill Haneman <bill.haneman@sun.com>
6137 * registryd/registry.c : separated event listeners to use
6138 3 separate lists (focus, window, toolkit). Began testing
6139 event names against hashes before relaying events.
6140 * test/at.c : now register for events of type "focus:"
6141 * test/app.c : now generate events of type "focus:"
6142 * at-bridge/bridge.c : register with ATK for focus events,
6143 and we now relay those focus events to any "focus:" listeners.
6144 This now works with the bridge as a GTK_MODULE when running test/at.
6145 * libspi/registry.c :
6146 * libspi/listener.c :
6147 now we ref event sources before propagating, and unref on receipt.
6148 * libspi/registry.c :
6149 some changes to internal structs, to support event typestring hashes.
6150 * text/app.c : changed the way the appname is generated.
6151 * cspi : added directory that will hold the C bindings library for
6152 non-CORBA/bonobo-savvy clients.
6153 * cspi/spi.h : header file that contains the function prototypes for the C binding.
6154 * idl/Component.idl : added in parameter to indicate coord system for
6155 geometry-related calls.
6156 * idl/Hyperlink.idl : added readonly n_links attribute
6157 * idl/Image.idl : changed methods to attributes.
6159 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6161 * at-bridge/Makefile.am: link against
6162 ../libspi/libspi.la instead of -lspi.
6164 * at-spi/test/app.c: include
6165 bonobo-activation.h. Use a default appname
6166 if one is not provided.
6168 2001-08-14 Bill Haneman <bill.haneman@sun.com>
6170 * idl/Registry.idl : temporarily changed register_Application
6171 to oneway, to work around issue with initial registration
6173 * idl/Application.idl : changed attribute "id" from readonly
6174 to read-write, since it needs to be assigned by Registry.
6175 * registryd/registryd.c : added call to set application id
6177 * registryd/registry.c : changed de-registration procedure to
6178 use CORBA_Object_hash() to find matching object ref in application
6179 lists and listener lists.
6180 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6181 began distinguishing between event types (work in progress).
6183 2001-08-13 Bill Haneman <bill.haneman@sun.com>
6186 * libspi/application.c:
6187 Added implementations for get/set id, get_toolkitName,
6189 * registryd/registryd.c :
6193 Converted from use of OAF to bonobo-activation.
6194 * libspi/desktop.h :
6195 * libspi/desktop.c :
6197 Removed references to atksimpleobject, since base atkobject
6198 implementation now provides functionality we need.
6199 * libspi/atksimpleobject.c :
6200 * libspi/atksimpleobject.h :
6205 * at-bridge/Makefile.am
6206 * at-bridge/bridge.c
6209 Added directory "bridge" and contents, and added dependencies
6210 in Makefile.am/configure.in.
6211 Initial checkin of "at-bridge".
6212 This code is a GTK_MODULE which automatically registers
6213 GTK+ apps with the accessibility registry, using an object
6214 reference to the root ATK object.
6216 2001-08-10 Mark McLoughlin <mark@skynet.ie>
6218 * po/Makefile.in.in: Remove. Again. If this
6219 doesn't get autogenerated - you need to update
6222 2001-08-07 Mark McLoughlin <mark@skynet.ie>
6224 * po/Makefile.in.in: Add. Again.
6226 2001-07-31 Bill Haneman <bill.haneman@sun.com>
6228 * libspi/accessible.c : added support for 'description' property.
6229 * libspi/accessible.c
6231 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6232 (since the two are now equivalent in libbonobo)
6240 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6241 Bonobo::Unknown as does Accessibility::Accessible.
6242 * idl/StreamableContent.idl : as above, and replaced internal InputStream
6243 interface with Bonobo::Stream, since it was redundant with it.
6244 (The Stream returned by a StreamableContext object is expected to
6245 implement only a subset of Bonobo::Stream)
6247 2001-07-28 Anders Carlsson <andersca@gnome.org>
6249 * libspi/accessible.c (accessible_object_finalize): Change
6250 g_free to g_object_unref since the AtkObject is a GObject.
6252 2001-07-30 Bill Haneman <bill.haneman@sun.com>
6254 * idl/Accessibility.idl: add new IDL files
6257 * idl/Action.idl: Definitions of actionable UI object
6258 * idl/Component.idl: Definitions of UI component geometry, etc.
6259 * idl/Hyperlink.idl: Defs of hyperlink behavior
6260 * idl/Image.idl: Def of accessible image
6261 * idl/Selection.idl: Definition of UI object with selectable children
6262 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6263 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6264 * idl/Text.idl: Interface defs for UI elements with complex textual content
6265 * idl/Value.idl: Definition of UI element that is a value controller or display
6267 2001-07-27 Michael Meeks <michael@ximian.com>
6269 * po/Makefile.in.in: remove autogenerated file from CVS.
6271 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6274 * idl/Registry.idl: include guard.
6276 * idl/Accessibility.idl: Add, and include all the other IDL
6279 * idl/*.idl: remove mass of pragmas etc.
6281 2001-07-26 Michael Meeks <michael@ximian.com>
6283 * registryd/Makefile.am (registryd_SOURCES): remove
6286 2001-07-27 Mark McLoughlin <mark@skynet.ie>
6288 * libspi/.cvsignore, registryd/.cvsignore,
6289 test/.cvsignore: updated.
6291 * po/Makefile.in.in: gettext update.
6293 2001-07-25 Bill Haneman <bill.haneman@sun.com>
6295 * initial CVS checkin
6297 2001-06-29 Michael Meeks <michael@ximian.com>
6299 * configure.in: add AM_CONFIG_HEADER to gen config.h