1 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
3 * configure.in: Added "ja" to ALL_LINGUAS.
5 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
7 * configure.in: Added "is" to ALL_LINGUAS.
9 2003-08-22 Christian Rose <menthos@menthos.com>
11 * configure.in: Added "nl" to ALL_LINGUAS.
13 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
15 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
16 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
18 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
20 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
21 type for unspecified exception.
22 * cspi_streamablecontect): Add include of string.h for memcpy.
23 (stream_release): Correct call to bonobo_object_release_unref
24 (stream_cache_item_free): Correct call to bonobo_object_release_unref
25 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
26 argument of _cspi_expection_throw.
27 * libspi/hyperlink.c: Add include of libspi/action.h:
28 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
29 * libspi/streamablecontent.c: add include of libspi/component.h.
30 * regisrtyd/deviceeventcontroller.c:
31 (spi_dec_translate_mask): Removed unused variable priv.
32 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
33 * registryd/registry.c:
34 (registry_filter_event): Remove unused variable queue_is-empty.
35 (impl_registry_notify_event): Use correct modifier in fprintf call.
37 This fixes compiler warnings reported in bug #120220.
39 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
41 * registryd/registryd.c: Remove this file.
43 2003-08-17 Sanlig Badral <badral@openmn.org>
45 * configure.in: Added mn to ALL_LINGUAS.
47 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
49 * configure.in: Added et to ALL_LINGUAS.
51 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
53 * test/event-listener-test.c: Change active-descendant to
54 active-descendant-changed.
56 2003-08-10 Sami Pesonen <sampeson@iki.fi>
58 * configure.in: Added "fi" in ALL_LINGUAS.
60 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
62 * configure.in: Added "hi" in ALL_LINGUAS.
64 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
66 * configure.in: Revved to 1.3.6.
70 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
72 * registryd/deviceeventcontroller.c
73 (spi_device_event_controller_object_finalize): Fix typo in previous
76 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
78 * registryd/deviceeventcontroller.c
79 (spi_device_event_controller_object_finalize): Fix build on
80 systems without XEvIE.
82 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
84 * acconfig.h, configure.in, registryd/Makefile.am,
85 registryd/devicecontoller.[ch]: Add XEViE support.
87 2003-08-06 Wang Jian <lark@linux.net.cn>
89 * configure.in: Added "zh_CN" to ALL_LINGUAS.
91 2003-08-06 Metin Amiroff<metin@karegen.com>
93 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
95 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
97 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
98 MODIFIER_ALT in correct place.
100 This fixes part of bug #118114.
102 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
104 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
106 2003-07-28 Changwoo Ryu <cwryu@debian.org>
108 * configure.in: Added "ko" to ALL_LINGUAS.
110 2003-07-28 Ole Laursen <olau@hardworking.dk>
112 * configure.in: Added "da" to the commented out ALL_LINGUAS.
114 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
116 * configure.in: Added "sq" to ALL_LINGUAS.
118 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
120 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
122 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
124 * configure.in: updated ALL_LINGUAS list
126 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
128 * configure.in: Added Belarusian to ALL_LINGUAS.
130 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
132 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
134 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
135 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
137 This fixes bug #116949.
139 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
141 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
142 Correct CSPI to SPI in function documentation.
144 This fixes bug #118054.
146 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
148 * configure.in: Added Russian to ALL_LINGUAS.
150 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
152 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
154 2003-07-14 Danilo Šegan <dsegan@gmx.net>
156 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
158 2003-07-10 Joel Brich <joel.brich@laposte.net>
160 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
162 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
164 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
166 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
168 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
169 resources allocated for AccessibleEvent. See cspi_event().
171 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
172 static variable streams to NULL.
174 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
175 Update so that AcessibleEvent_ref will work.
177 This fixes bug #116624.
179 2003-07-06 Jordi Mallach <jordi@sindominio.net>
181 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
183 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
185 * configure.in: Added "fr" (French) to ALL_LINGUAS.
187 2003-07-02 Christian Neumair <chris@gnome-de.org>
189 * configure.in: Added "de" (German) to ALL_LINGUAS.
191 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
193 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
195 2003-07-01 Miloslav Trmac <mitr@volny.cz>
197 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
199 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
201 * configure.in: Added "pl" to ALL_LINGUAS.
203 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
205 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
207 2003-06-30 Bill Haneman <bill.haneman@sun.com>
210 (get_action_from_servant):
211 Removed assertion that action is implemented on an AtkObject.
213 * libspi/hyperlink.c:
215 Aggregate AccessibleAction interface on the hyperlink object if
216 the object implements AtkAction. (This convention is used in
219 2003-06-30 Bill Haneman <bill.haneman@sun.com>
221 * configure.in: Revved to 1.3.5.
223 * registryd/Accessibility_Registry.server.in.in:
224 Marked up appropriate strings for translation.
226 * atk-bridge/bridge.c: Marked a couple of
227 user-visible warnings for translation. Questionable
228 whether they are really useful, but possibly so.
231 2003-06-28 Christian Rose <menthos@menthos.com>
233 * configure.in: Added "sv" to ALL_LINGUAS.
235 2003-06-26 Bill Haneman <bill.haneman@sun.com>
237 * registryd/registry.c:
238 (spi_registry_object_finalize): Unref the deviceeventcontroller.
239 (registry_defer_on_event): Defer focus: events, this is an
240 improvement to the patch for bug #108664.
242 * TODO: Update with 2.4/"Dev Complete" items.
244 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
246 * atk-bridge/bridge.c:
247 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
248 looks up signals once.
249 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
250 if doing registration.
251 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
252 when doing registration.
254 This fixes bug #115014.
256 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
258 * atk-bridge/bridge.c:
259 (atk_bridge_init): Add signal handler for children-changed:remove on
260 root when in a BonoboComponent.
261 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
262 for first toplevel only other incrememt variable toplevels.
263 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
264 application and remove listeners.
265 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
267 (spi_atk_deregister_event_listeners): New function which removes
269 (reinit_register_vars): New fuction which reinitializes variables.
271 This fixes bug #111578.
273 2003-06-13 Bill Haneman <bill.haneman@sun.com>
275 * configure.in: version 1.3.4.
277 * cspi/spi_accessible.c:
278 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
281 2003-06-13 Michael Meeks <michael@ximian.com>
283 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
285 * cspi/spi_main.c (cspi_peek_ev): impl.
287 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
289 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
291 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
293 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
294 SPI_ROLE_AUTOCOMPLETE
296 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
298 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
299 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
301 2003-06-11 Bill Haneman <bill.haneman@sun.com>
303 * libspi/streamablecontent.h:
304 * libspi/streamablecontent.c:
305 New files, provide implementation/wrappers for
306 Accessibility_StreamableContent.
308 * cspi/spi_streamablecontent.c:
309 Connected the C wrappers to the libspi C bindings.
310 (AccessibleStreamableContent_close): New method.
313 (AccessibleStreamableContent_close): New method, needed
314 since we have an "open, [seek], read, close" model in cspi.
316 2003-06-11 Bill Haneman <bill.haneman@sun.com>
318 Fix for #108664; Padraig's revision of my original patch.
320 * registryd/registry.h:
321 Added event queue list, is_queuing, and exit_notify_timeout
322 to the registry struct.
324 * registryd/registry.c:
325 (registry_init): Initialize new struct from registry.h.
326 (impl_registry_notify_event):
327 Filter events before notifying, in case some need to be
329 (registry_filter_event): New,
330 we defer certain incoming events (for instance
331 window:deactivate) because we may wish to hide
332 or reject them based on pending events. This is
333 mostly a workaround for bug #108664.
334 (registry_queue_event, registry_start_queue): New.
335 (registry_defer_on_event): Test event to see if it
337 (registry_reset_on_event): Returns TRUE if the
338 event should cause a queue reset.
339 (registry_discard_on_event): Returns TRUE if the event
340 should cause the previous queue contents to be discarded.
341 (registry_timeout_flush_queue): Flushes the pending event
342 queue if no reset/discard-triggering events have come in
343 within the timeout period.
344 (registry_emit_event): New.
345 (registry_clone_notify_context): New, used when queueing the
346 event notify contexts.
348 2003-06-10 Bill Haneman <bill.haneman@sun.com>
350 * configure.in: Version revved to 1.3.2, lt 0.9.2
351 Incremented ATK required version to 1.3.4.
353 * cspi/spi_registry.c:
354 (SPI_generateKeyEvent):
355 We now pass the keystring along if it's non-null.
357 * registryd/deviceeventcontroller.c:
358 (keysym_mod_mask): New method, returns modifier mask
359 required to generate a keysym from a given keycode.
360 (dec_synth_keysym): New method.
361 (dec_synth_keystring): New method.
362 (dec_get_modifier_state): New method.
363 (dec_lock_modifiers): New
364 (dec_unlock_modifiers): New.
365 (dec_keysym_for_unichar): New, rather brute-force
366 conversion from UCS-4 to X KeySyms. Only works for
367 Latin at the moment, with partial implementations for
368 Greek, Hebrew, and (incomplete) Katakana.
369 (impl_generate_keyboard_event): Now implement
370 "KEYSTRING" synthesis and implement "KEYSYM"
372 (keycode_from_keysym): Improved, passes a returned
373 modmask value now if the corresponding param is non-NULL.
375 Fixes bugs #92143 and #109776.
378 * test/keysynth-test.c:
379 New test program for key synthesis, to confirm fixes for
383 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
385 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
387 * cspi/spi_accessible.c (cspi_init_relation_type_table):
388 Add line for RELATION_POPUP_FOR
390 * docs/reference/cspi/tmpl/spi_relation.sgml:
391 Add relation SPI_RELATION_POPUP_FOR
393 * docs/reference/cspi/tmpl/spi_stateset.sgml:
394 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
396 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
398 * libspi/relation.c (spi_init_relation_type_table):
399 Add line for RELATION_POPUP_FOR
401 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
403 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
404 there are still windows which have not been deleted and emit
405 window:deactivate, if necessary and window:destroy events.
406 This fixes bug #114370. The change on June 5th was not correct.
408 2003-06-09 Bill Haneman <bill.haneman@sun.com>
410 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
413 (SPI_dupString): Allow dup-ing of a string such that it's safe to
415 New methods for client exception handling and interception.
416 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
417 (SPI_exceptionHandlerPop): You guessed it...
418 (SPI_getSourceType): Return the type of object which offended.
419 (SPI_getExceptionCode): Return an enum code telling, possibly,
420 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
421 (SPIAccessibleException_getSource): get the source object for
422 exceptions that come from Accessibles, if SPIExceptionSourceType is
423 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
424 (SPIException_getDescription): New, returns a string description of
425 the problem. [Not yet a stable ABI, strings are not frozen]
427 * cspi/spi-private.h:
428 Added implementation details of opaque SPIException
432 Implementations of above. Also
433 (_cspi_exception_throw): new private method that
434 dispatches exceptions to handlers, called from cspi-bonobo.c
436 * cspi/bonobo/cspi-bonobo.c:
437 (cspi_check_ev): call _cspi_exception_throw.
438 Don't print a warning message if the exception has been
439 handled by _cspi_exception_throw.
441 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
443 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
444 there are still windows which have not been deleted and emit
445 window:deactivate, if necessary and window:destroy events.
446 This fixes bug #114370.
448 2003-06-03 Bill Haneman <bill.haneman@sun.com>
451 (cspi_accessible_is_a): Make non-fatal
452 if the object reference is dead.
454 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
456 * cspi/spi_main.c: #include <stdio.h>
457 * test/simple-at.c: ditto
458 * test/event-listener-test.c: ditto
459 * test/screen-review-test.c: ditto
461 2003-05-30 Michael Meeks <michael@ximian.com>
463 * test/test-simple.c (main): use CORBA_ORB_perform_work
464 instead of an unnecessary linc_ call.
466 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
468 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
469 Add SPI_STATE_INDETERMINATE.
471 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
474 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
476 * libspi/stateset.c (init_state_type_tables): Add support for
479 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
481 * configure: Update versions of atk and gail required.
482 This fixes bug #113268.
484 2003-05-02 Bill Haneman <bill.haneman@sun.com>
486 * configure.in: Revved micro version to 1.3.1 (because of build fix).
488 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
490 * libspi/Makefile.am:
491 Ensure headers are generated before being used by c sources.
493 2003-05-01 Bill Haneman <bill.haneman@sun.com>
496 Simplified lt versioning rules.
497 Incremented version to 1.3.0, to indicate that we're on the
500 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
502 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
503 Add MKDB_OPTIONS=--outtput-format=xml
505 * docs/reference/cspi/at-spi-cspi-docs.sgml
506 docs/reference/idl/at-spi-idl-docs.sgml:
507 Convert to Docbook XML.
509 This fixes bug #111793.
511 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
513 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
514 AcccessibleKeyEventType, AccessibleKeyMaskType.
516 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
518 * cspi/state-types.h: Add documentation for AccessibleState.
520 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
521 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
522 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
523 AccessibleComponentLayer.
525 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
528 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
530 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
531 Accessible. Add description of AccessibleEvent,
532 AccessibleEventListenerCB.
534 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
537 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
538 documentation. Add description of AccessibleKeystrokeListenerCB,
539 AccessibleKeyEventMask, AccessibleModifierMaskType,
540 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
541 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
543 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
546 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
549 This fixes bug #104730.
551 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
553 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
554 Set is_text field of Accessibility_DeviceEvent data structure.
556 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
557 is-text field of AccessibleDeviceEvent data structure.
559 This addresses part of bug #108666.
561 * registryd/devcieeventcontroller.c: Unset debug option.
563 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
566 (cpi_initial_relation_type_table): New function which initializes
567 mapping between Accessibility_RelationType and AccessibleRelationType.
568 (cspi_relation_type_from_spi_relation_type): New function which
569 translates an Accessibility_RelationType into an AccessibleRelationType.
570 (AccessibleRelation_getRelationType): Use
571 cpi_relation_type_get_spi_relation_type to return correct value.
572 (spi_state_to_corba): Return correct type for default case.
574 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
575 Use Accessibility_EventType instead of Accessibility_KeyEventType.
577 * cspi/cspi-bonobo-listener.c:
578 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
581 * libspi/accessible.c, libspi/action.c, libspi/application.c,
582 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
583 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
584 libspi/image.c, libspi/listener.c, libspi/selection.c,
585 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
586 registryd/desktop.c, registryd/registry.c:
587 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
589 * libspi/eventlistener.c
590 Remove semicolon after BONOBO_TYPE_FUNC.
593 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
594 (spi_init_relation_type_table): Initialize using correct type.
596 * registryd/desktop.c:
597 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
598 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
599 of Accessibility_KeyEventType.
601 * test/key-listener-test.c (report_tab_key_event): Use fprintf
604 * tests/simple-at.c, tests/screen-review-test.c:
605 Add include for <strings.h>.
607 * tests.stress-test.c:
608 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
610 These changes fix compiler warnings when using FORTE compiler on
611 Solaris; fixes bug #107479.
614 2003-04-10 Bill Haneman <bill.haneman@sun.com>
617 * configure.in: revved to 1.1.10
620 (SPI_KEYMASK_NUMLOCK): Added.
622 * registryd/deviceeventcontroller.c:
623 (spi_key_event_matches_listener): AND with a smaller
624 bitmask (as we should).
625 (spi_dec_translate_mask):
626 New method, sets the virtual NumLock modifier bit
627 if numlock is on. Eventually it can handle other virtual
628 modifier bits if needed, or other marshalling from
629 at-spi modifier masks to platform (X) masks.
630 (spi_dec_key_listener_new):
631 Call spi_dec_translate_mask to set up virtual mod bits
632 in the 'mask' field when creating a new listener struct.
633 (spi_dec_emit_modifier_event):
634 Set the virtual (i.e. NumLock) bits before emitting event.
635 (spi_controller_register_with_devices):
636 Query for the NumLock modifier 'physical' bit if Xkb is
637 present, for use in above methods.
641 2003-04-10 Bill Haneman <bill.haneman@sun.com>
643 * registryd/deviceeventcontroller.c:
644 (spi_keystroke_from_x_key_event):
645 Instead of checking to see if the keysym is
646 printable, check the string from XLookupString
647 if available, get the first unicode character from it,
648 and call g_unichar_isprint to determine whether the
649 is_text flag should be TRUE or FALSE.
653 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
655 * atk-bridge/bridge.c: Add support for extended events
656 * cspi/spi_event.c: Add documentation and implementation for
658 * tests/event-listener-test.c: Add tests for extended events.
660 This fixes bugs #100424 and #100426.
662 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
664 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
665 of LT_CURRENT. This fixes bug #89350.
667 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
669 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
670 number of signal parameter values before accessing them. This fixes
673 2003-04-01 Bill Haneman <bill.haneman@sun.com>
675 * configure.in: Fixed duplicate inclusion of -lspi.
676 * branched for gnome-2-2/HEAD.
677 [created tag "gnome-2-2"]
679 2003-03-07 Bill Haneman <bill.haneman@sun.com>
681 * configure.in: 1.1.9 release.
684 2003-03-07 Bill Haneman <bill.haneman@sun.com>
686 [needed by GOK, to fix bugs 107985 and 107988]
687 * registryd/deviceeventcontroller.c:
688 (spi_dec_clear_unlatch_pending):
689 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
690 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
691 (spi_dec_init_mouse_listener):Emit warning if mouse button
693 (spi_device_event_controller_forward_mouse_event):
694 Removed unnecessary parens from a conditional.
695 (global_filter_fn):Added TODO comment.
696 (impl_generate_keyboard_event):
697 Cancel a pending relatch if a 'delatching' key was
700 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
702 * atk-bridge/bridge.c:
703 Change atk_signal_child_changed to atk_signal_children_changed.
704 Reorganize code in spi_atk_bridge_signal_listener().
706 * test/event-listener-test.c:
707 Add children_changed_listener and report_children_changed_event()
708 to test AccessibleChildEvent_getChildAccessible.
710 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
712 * cspi/spi_event.c (cspi_internal_event_get_text): Change
713 g_strdup to CORBA_String_dup (bug #105291)
715 * test/event-listener-test.c (report_text_event): Add call to
718 2003-02-28 Bill Haneman <bill.haneman@sun.com>
720 * registryd/deviceeventcontroller.c:
721 (spi_keystroke_from_x_key_event):
722 Fix string and keysym return codes to match modifier state.
725 2003-02-28 Bill Haneman <bill.haneman@sun.com>
727 * registryd/deviceeventcontroller.c:
728 (spi_keystroke_from_x_key_event):
729 Fix segv due to improper use of isprint(c). [bug #107254]
731 2003-02-24 Bill Haneman <bill.haneman@sun.com>
734 (get_accessible_text_boundary_type):
735 Move default return value to (new) default case in switch.
736 (get_accessible_text_clip_type):
737 Move default return value to (new) default case in switch.
739 * libspi/application.c:
740 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
741 Remove unused methods.
742 (impl_accessibility_application_register_object_event_listener):
743 Remove unused methods.
746 Added #include of <math.h>.
748 * registryd/deviceeventcontroller.c:
749 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
750 we don't currently use this method.
751 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
753 (impl_generate_key_event):
754 Remove unused variables.
755 (impl_generate_mouse_event):
756 Initialize button to zero, just in case we get an invalid
757 input. Added support for mouse buttons 4 and 5.
758 (spi_device_event_controller_new):
759 Removed unused variable declaration for 'private'.
761 Added #include of <gdk/gdk.h>
763 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
765 * configure.in: Update to work when X is not installed in expected
766 location. Fixes bug #105836.
768 * atk-bridge/bridge.c
769 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
771 (spi_atk_register_event_listener): Add signal listener for
773 (spi_atk_bridge_signal_listener): Event event when link-selected
774 signal is emitted. (bug #104622)
776 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
777 on returned string. (bug #105291)
779 * test/event-listener-test.c: Add test for link-selected.
781 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
783 * atk-bridge/Makefile.am: Correct typo in previous commit.
785 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
787 * atk-bridge/Makefile.am: Allow for build directory to be different
788 from source directory
790 * registryd/Makefile.am: Allow for build directory to be different
791 from source directory
795 2003-01-29 Bill Haneman <bill.haneman@sun.com>
798 Fixed dependencies for libcspi so that libspi gets pulled in
799 properly. Fixes 104741.
803 Clean up inline docs a little.
805 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
807 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
808 This is done by implementing AtkComponent for SpiAtkDesktop, which is
809 the AtkObject within an SpiDesktop.
810 This addresses bug #101524.
812 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
813 Remove call to gdk_init().
815 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
816 so that Display is set when SpiDesktop is created.
818 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
820 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
821 This fixes bug #102830.
823 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
825 * test/test-simple.c: Update to take account of fact that GailButton
826 now implements AtkText.
827 (create_text_window): Set name on AtkObject for GtkEntry.
828 (validate_accessible): Check accessible name before calling test_text().
830 * libspi/Makefile.am: Fix problem with building outside of source
831 directory. Bug #98120.
833 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
834 typo in documentation comments. Bug #94275.
836 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
838 * libspi/text.c (impl_getBoundedRanges): Bug fix.
840 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
843 Add includes to avoid compiler warnings on Solaris.
844 (impl_getRangeExtents): Bug fix.
846 2002-12-17 Bill Haneman <bill.haneman@sun.com>
848 Fix for 100944, [API addition approved by Gman and murrayc].
855 * idl/Accessibility_Text.idl:
856 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
857 (Text::getRangeExtents): New method for efficient
858 bounds query of a text range.
859 (Text::getBoundedRanges): New method for efficient
860 clipping of text to bounding boxes.
861 (unImplemented7, unImplemented8):
862 Removed these padding methods to preserve bincompat.
865 (impl_getRangeExtents): implementation of new IDL.
866 (impl_getBoundedRanges): implementation of new IDL.
867 (SpiTextRect): Internal use struct.
868 (_spi_text_rect_union): internal method, calculates union of two
869 SpiTextRect bounding rects.
870 (_spi_text_range_seq_from_gslist): internal method, allows us
871 to build our sequence efficiently as a gslist then convert it
873 (_spi_bounds_contain): internal method, determines whether
874 a text character is "in" or "out" of a clip rect according to
875 values of TEXT_CLIP_TYPE.
876 (spi_text_class_init): Initialize the new methods in the epv.
879 (AccessibleTextClipType): New enum used by screen review api.
880 (AccessibleTextRange): New struct used by screen review api.
881 (AccessibleText_getRangeExtents):
882 cspi binding for Accessibility_Text_getRangeExtents.
883 (AccessibleText_getBoundedRanges):
884 cspi binding for Accessibility_Text_getBoundedRanges.
885 (AccessibleTextRange_freeRanges): convenience method.
888 (AccessibleText_getRangeExtents):
889 cspi binding for Accessibility_Text_getRangeExtents.
890 (AccessibleText_getBoundedRanges):
891 cspi binding for Accessibility_Text_getBoundedRanges.
892 (AccessibleTextRange_freeRanges): convenience method.
893 (get_accessible_text_clip_type): internal conversion method.
894 (get_accessible_text_ranges_from_range_seq): internal conversion method.
896 * registryd/deviceeventcontroller.c:
897 (spi_dec_mouse_check):
898 Improved behavior for mouse:abs events
899 [same granularity as mouse:rel events, and no
900 events when mouse is idle].
902 2002-12-16 Michael Meeks <michael@ximian.com>
904 * cspi/spi_accessible.c (spi_state_to_corba): rename.
906 * libspi/stateset.c (state_spi_to_atk): split out
907 ( fix several remote array bounds nasties )
908 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
909 (impl_remove): make safe from array bounds issues.
910 (spi_atk_state_from_spi_state): impl.
912 * libspi/stateset.h (spi_state_set_cache_is_empty):
913 add a set of wrapper defines to get layering right.
915 * cspi/spi_accessible.c: update state set stuff to
918 2002-12-14 Michael Meeks <michael@ximian.com>
920 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
921 to avoid 2 roundtrips to the registry per key event
922 (spi_atk_bridge_key_listener): upd.
923 (deregister_application): release the dec.
925 * registryd/registry.c (notify_listeners_cb):
926 bin lots of re-enterant complexity - we no longer
927 do a round-trip bonobo ref here, ensure that a single
928 listener's exception failure won't poison all other
930 (impl_registry_notify_event): bin obvious memory leak.
932 2002-12-13 Michael Meeks <michael@ximian.com>
934 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
935 init the ev so the error is meaningful.
936 (spi_atk_bridge_key_listener): ditto.
938 * cspi/spi_main.c (cspi_ev): init the ev so we start
939 with a clean slate, otherwise the first exception
942 * cspi/spi_text.c (get_accessible_text_boundary_type):
943 add a fallthrough for no warnings.
945 * cspi/spi_registry.c: prune unused warnings.
947 * cspi/spi_main.c (cspi_object_take): fix
948 mind-blowing brokenness ( by watching the compile
951 * cspi/spi_accessible.c (Accessible_getStateSet):
952 re-impl. to use an AtkStateSet.
953 (spi_state_type_from_accessible_state),
954 (init_state_table): bin these.
956 * libspi/stateset.c (spi_atk_state_set_from_sequence):
958 (atk_state_set_from_accessibility_state_set): here.
960 * cspi/spi_accessible.c (spi_state_to_atk): impl.
961 (AccessibleStateSet_contains, AccessibleStateSet_ref),
962 (AccessibleStateSet_unref, AccessibleStateSet_contains),
963 (AccessibleStateSet_add, AccessibleStateSet_remove),
964 (AccessibleStateSet_equals, AccessibleStateSet_compare),
965 (AccessibleStateSet_isEmpty): re-write to use a local
968 2002-12-13 Bill Haneman <bill.haneman@sun.com>
970 * configure.in: Revved to 1.1.7 (new keymask vals).
972 2002-12-10 Bill Haneman <bill.haneman@sun.com>
975 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
977 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
980 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
981 to compare two CORBA_TypeCodes.
982 (cspi_internal_event_add): Silence warning from FORTE compiler.
984 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
985 avoid implicit declaration of functions.
987 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
989 * atk-bridge/bridge.c:
990 (spi_atk_bridge_init_event_type_consts): Store signal id for
991 active-descendant-changed signal.
992 (spi_atk_register_event_listeners): Add signal listener for
993 active-descendant-changed signal,
994 (spi_atk_bridge_signal_listener): Move code in function
995 spi_atk-signal_emit_event() into this function.
996 Add support for active-descendant-changed
997 Update support for child-changed signal.
998 (spi_bridge_window_event_listener): Silence warning.
1000 * libspi/spi_private.[ch]:
1001 (spi_init_any_object): Change second parameter from CORBA_Object to
1003 Omit call to CORBA_Object_duplicate().
1004 Set CORBA_any's _value to CORBA_Object*.
1006 2002-12-06 Bill Haneman <bill.haneman@sun.com>
1012 (AccessibleEvent_ref, AccessibleEvent_unref):
1013 New methods, for persisting an event outside the emission context.
1014 Must be used if the new accessor methods are to be called
1015 outside of the event listener's callback.
1017 * cspi/bonobo/cspi-bonobo.c:
1018 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1019 as second parameter instead of NULL, so we can call
1020 cspi_check_ev afterwards.
1023 (cspi_object_take): New internal method,
1024 converts a CORBA_Object reference to a hard ref on
1025 an Accessible if possible, returning NULL if the object
1026 reference is invalid or an Accessible * otherwise.
1029 (AccessibleEvent_ref):
1030 Increment the event's internal private refcount, and
1031 add the event's internal struct to an internal cache
1032 if it's not already there.
1033 (AccessibleEvent_unref):
1034 Decrement the event's refcount and remove it from
1035 the cspi event cache if refcount==0.
1036 (cspi_event_compare): New private method.
1037 Compares two event structs via their ids. Used
1039 (cspi_internal_event_lookup): New private method.
1040 (cspi_internal_event_check): New private method,
1041 a 0-order sanity check for events to make sure their
1042 private data is intact.
1043 (cspi_internal_event_add, cspi_internal_event_remove):
1044 New private methods for managiing the event cache.
1046 * cspi/bonobo/cspi-bonobo-listener.c:
1048 Initialize the new private data elements (id, magic, ref_count).
1050 * atk-bridge/bridge.c:
1051 (spi_atk_bridge_signal_listener):
1052 Fixed bug #100530, passing wrong params to emission func.
1054 * registryd/deviceeventcontroller.c:
1055 (spi_dec_button_update_and_emit):
1056 Fixed type in mask bit operations; fix for #99799.
1058 2002-12-02 Bill Haneman <bill.haneman@sun.com>
1060 Removed some of the more dangerous workarounds from
1061 previous commit; they are only needed by GOK, which
1062 in reality should be using another method to accomplish
1063 the goals. So on reconsideration some of the workarounds
1064 need to be reverted:
1066 * registryd/deviceeventcontroller.c:
1067 (spi_keycodes_contain, spi_dec_init_keycode_list):
1068 Removed these methods, used only by a nasty hack to try
1069 and detect whether a key synthesis should be allowed
1070 to reset the XKB latch state or not. This code was only
1071 required to work around an interaction between GOK,
1072 button events, and XKB.
1073 (impl_generate_key_event):
1074 Removed hack at end of key generation that tried to
1075 "do the right thing" if XKB latch keys were generated
1076 in the midst of button press/release pairs.
1079 Added a check for HAVE_XINPUT. Not normally used yet.
1081 2002-11-25 Bill Haneman <bill.haneman@sun.com>
1083 Workarounds and fixes for mouse event/XKB interaction.
1085 * registryd/deviceeventcontroller.c:
1086 (spi_keycodes_contain, spi_dec_init_keycode_list):
1087 New internal methods.
1088 (spi_dec_set_unlatch_pending):
1089 Split the method that tells XKB to expect an
1090 unlatch (and revert it) out of the rest of the
1091 event handling code. This method is called by the
1092 two mouse event handlers (the poll and the filter).
1093 (spi_dec_update_and_emit, spi_dec_mouse_check):
1094 New methods split from spi_dec_poll_mouse_moved.
1095 The second one is now called from inside the filterFn
1096 when an XKB delatch event is received, to determine
1097 whether to revert the delatch or not.
1098 (spi_poll_mouse_moved): Refactor; also we can now
1099 properly handle the case where multiple button states
1100 have changed between polling cycles and we didn't get
1101 notified due to another client's grab.
1103 Synchronize the server while handling an XKB notification.
1104 Ugly, but apparently necessary to avoid nasty races.
1105 Check the mouse state on receipt of an XKB latch change,
1106 to decide whether to revert the latch or not. (Latches are
1107 reverted if there is an immediately preceding mouse button
1108 event that a client has consumed, in which case we don't want
1109 the user to see the side-effect of the event).
1110 (spi_device_event_controller_forward_mouse_event):
1111 Check for modifier events and fire before resetting mouse_mask_state,
1112 prevents losing modifier events.
1114 (impl_generate_keyboard_event):
1115 If we've just generated a keyboard event for a non-shift key,
1116 we don't want to revert the pending XKB latch.
1117 Otherwise, check the modifier state (via a call to
1118 spi_dev_mouse_check) and set the relatch mask to
1119 that state before returning.
1121 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1124 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1127 * atk-bridge/bridge.c:
1128 (spi_atk_register_event_listeners):
1129 Don't re-register for ATK events if the registry has died
1130 and the app needs to re-register; the ATK listeners are in
1131 process and doing so will cause duplicate emission.
1133 * registryd/deviceeventcontroller.c:
1134 (spi_poll_mouse_moved):
1135 Reformat the source, detect and emit multiple button-change
1136 events (i.e. if multiple buttons have changed between poll
1138 Add code to detect mouse-down events even when the pointer
1139 is grabbed; workaround for GOK bug 98420.
1140 (spi_controller_register_with_devices):
1141 Call XTestGrabControl with 'impervious' flag set to True,
1142 allows us to synthesize events and query the pointer even during
1143 an active grab by another client.
1144 (spi_device_event_controller_forward_mouse_event):
1145 Set the mouse_mask_state to the mouse_button_state from
1146 the intercepted event, to synchronize the grab listener with
1149 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1151 * cspi/spi_accessible.c:
1152 (AccessibleRole_getName):
1153 Added necessary strings for making this (deprecated)
1154 method work with the new role types.
1155 (init_role_table, role_table):
1156 Added definition of SPI_ROLE_APPLICATION.
1158 * libspi/spi-roletypes.h:
1159 Added SPI_ROLE_APPLICATION.
1161 * idl/Accessibility_Role.idl:
1162 Added ROLE_APPLICATION.
1164 * docs/reference/cspi/at-spi-cspi-decl.txt:
1165 Added SPI_ROLE_APPLICATION to docs.
1167 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1169 * cspi/spi_accessible.c
1170 (cspi_init_role_table): Do not write beyond end of role_table.
1171 (Accessible_getRole): Use correct type for value returned by
1172 Accessibility_Accessible_getRole().
1174 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1175 beyond end of role_table. (This fixes bug #98269)
1177 * libspi/application.c: Add include file spi-private.h for
1178 definition of spi_init_any_nil.
1180 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1184 * libspi/spi-private.h:
1185 Added DGB() macro, and extern int _dbg declaration.
1187 * registryd/registry.c:
1188 (definitions) storage for _dbg.
1189 (spi_registry_init):
1190 Get environment variable "AT_SPI_DEBUG".
1191 (spi_registry_set_debug):
1192 New method, to initialize _dbg value.
1193 (spi_listener_struct_new, spi_registry_object_finalize):
1194 (notify_listeners_cb):
1195 Changed fprintfs to use DBG and g_warning().
1197 * registryd/deviceeventcontroller.c:
1198 (_deregister_keygrab, spi_controller_register_device_listener):
1199 Changed debug/warning messages to use DBG macro.
1201 * libspi/listener.c:
1202 (impl_notify_event):
1203 Changed warning messages to use DBG macro and g_warning().
1205 * atk-bridge/bridge.c:
1206 (atk_bridge_init, spi_atk_bridge_get_registry):
1207 (spi_atk_bridge_exit_func):
1208 (spi_atk_bridge_property_event_listener):
1209 Changed status, warning, and error messages to use
1210 g_warning, g_message, and DBG macros.
1213 Read the state of the AT_SPI_DEBUG environment variable
1214 and set a local '_dbg' accordingly.
1216 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1218 FIXES for 98836, 98842, other bugs.
1221 Revved to 1.1.4, interface-age=4, binary-age=4.
1223 * registryd/deviceeventcontroller.c:
1225 Fixed crasher bug in last_mouse_pos initialization.
1227 * registryd/registry.c:
1228 (desktop_add_application, desktop_remove_application):
1229 Added (and then commented out) some support for
1230 object context marshalling. [TODO]
1232 * atk-bridge/bridge.c:
1233 (spi_atk_bridge_event_context_create):
1234 Commented out object context creation until it can
1235 be properly tested and debugged.
1237 * registryd/registry.c:
1238 (impl_registry_notify_event):
1239 Fixed crasher bug, we were calling
1240 spi_re_entrant_list_foreach () with an empty list.
1242 2002-11-18 Bill Haneman <bill.haneman@sun.com>
1244 * idl/Accessibility_Action.idl:
1245 * idl/Accessibility_Component.idl:
1246 * idl/Accessibility_Desktop.idl:
1247 * idl/Accessibility_Event.idl:
1248 * idl/Accessibility_Hyperlink.idl:
1249 * idl/Accessibility_Image.idl:
1250 * idl/Accessibility_Relation.idl:
1251 * idl/Accessibility_Selection.idl:
1252 * idl/Accessibility_State.idl:
1253 * idl/Accessibility_Value.idl:
1254 Updated unimplemented slot count to minimum of
1255 four for all interfaces, for ABI freeze.
1257 * idl/Accessibility_EditableText.idl:
1258 * idl/Accessibility_Text.idl:
1259 Updated unimplemented slot count to six
1262 * idl/Accessibility_Registry.idl:
1263 Updated unimplemented slot count to six
1264 (also for DeviceEventController),
1267 * idl/Accessibility_Table.idl:
1268 Updated unimplemented slot count to eight,
1271 * idl/Accessibility_Event.idl:
1272 Added CORBA_any "any_data" member to Event struct.
1274 * idl/Accessibility_Event.idl:
1275 Added CORBA_any "any_data" member to Event struct.
1277 * atk-bridge/bridge.c:
1279 atk_signal_text_changed, atk_signal_child_changed,
1280 signal ids queried from gtype system.
1281 (AtkBridgeEventContextType): New enum.
1282 (AtkBridgeEventContextData): New struct.
1283 (AtkBridgeEventContext): New struct.
1284 (atk_bridge_init_event_type_consts):
1285 New method, initializes type contants for comparison
1286 prior to emit_eventv.
1287 (atk_bridge_event_context_init): New method,
1288 initializes a CORBA_any from an AtkBridgeEventContext.
1289 (atk_bridge_focus_tracker): Call spi_init_any_nil to
1290 initialize the event.any_data struct.
1291 (spi_atk_bridge_event_context_create): New method,
1292 creates an AtkBridgeEventContext from signal/event info.
1293 (spi_atk_bridge_event_context_free): New method.
1294 (spi_atk_emit_eventv): Changed to take an
1295 AtkBridgeEventContext parameter. We now initialize
1296 the event.any_data member prior to notifying the
1297 Registry, via the AtkBridgeEventContext.
1298 (spi_atk_bridge_property_event_listener):
1299 (spi_atk_bridge_state_event_listener):
1300 Match emit_eventv signature.
1301 (spi_atk_bridge_object_event_listener):
1302 Match emit_eventv signature, and create an
1303 event context from the event details.
1304 Free the event context afterwards.
1305 (spi_atk_bridge_window_event_listener):
1306 Create an event context, pass it to the
1310 (AccessibleEvent_getContextString):
1311 (AccessibleEvent_getContextObject):
1312 New methods, allow query of AccessibleEvent objects
1313 for more context details (via the "any_data" member
1314 of the Event struct, above).
1317 Definitions for AccessibleEvent_getContextString
1318 and AccessibleEvent_getContextObject.
1320 * cspi/spi_listener.h:
1321 (InternalEvent): New struct.
1324 (AccessibleEvent_getContextString):
1325 (AccessibleEvent_getContextObject):
1326 Implementations of new methods, for obtaining
1327 additional context information from some event types.
1329 * cspi/spi_registry.c:
1330 (SPI_registerGlobalEventListener):
1331 Added mention of active-descendant-changed event in docs.
1333 * cspi/cspi-bonobo-listener.c:
1335 Marshal the any into the AccessibleEvent via
1338 * libspi/spi-private.h:
1339 #include <orbit/orbit.h>
1341 (spi_init_any_string):
1342 (spi_init_any_object):
1343 New convenience function declarations.
1347 (spi_init_any_string):
1348 (spi_init_any_object):
1349 New convenience function implementations.
1351 * registryd/deviceeventcontroller.c:
1352 (spi_poll_dec_mouse_moved):
1353 (spi_device_event_controller_forward_mous_event):
1354 Initialize any_data member of event.
1355 (spi_deregister_controller_device_listener):
1356 Fix incorrect param pass which was preventing deregistration.
1358 * registryd/registry.c:
1359 (desktop_add_application):
1360 (desktop_remove_application):
1361 Add object data to event's any_data before dispatch.
1363 Fix for error messages from GAIL.
1365 * test/event-listener-test.c:
1366 Test new ContextString and "any_data" API:
1367 (report_text_event): New method query and output context string.
1368 (main): register a new text listener with report_text_event
1371 2002-11-19 Darren Kenny <darren.kenny@sun.com>
1373 Fixes for bugs 98127 and 97914.
1374 * cspi/spi-roletypes.h:
1375 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1377 * cspi/spi-statetypes.h:
1378 Added SPI_STATE_MANAGES_DESCENDANTS
1380 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1381 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1382 * cspi/spi_accessible.c:
1383 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1384 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
1385 Accessibility_STATE_MANAGES_DESCENDANTS
1386 * libspi/accessible.c:
1387 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1388 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
1389 As requested by Bill, I also cleaned up the alignment.
1390 * libspi/relation.c:
1391 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1392 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1393 * libspi/stateset.c:
1394 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1395 Accessibility_STATE_MANAGES_DESCENDANTS
1396 * docs/reference/cspi/tmpl/spi_accessible.sgml:
1397 Document changes reflecting modifications to roles.
1398 * docs/reference/cspi/tmpl/spi_relation.sgml:
1399 Document changes reflecting modifications to relations.
1400 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1401 Document changes reflecting modifications to states.
1403 2002-11-17 Bill Haneman <bill.haneman@sun.com>
1406 Revved to 1.1.3, interface-age=3, binary-age=3.
1407 Added REBUILD macro.
1410 Removed accessx-gui from the tests, since we have a nice
1411 keyboard accessibility capplet now :-)
1413 * test/keysynth-demo.c:
1414 (increment_scan): removed do-nothing default: case,
1417 * test/visual-bell.c:
1418 (main) : removed do-nothing default: case,
1421 * cspi/spi_action.c:
1422 (AccessibleAction_getKeyBinding_):
1423 Documented keybinding string format.
1427 (AccessibleText_getAttributes):
1428 Documented the text attribute string format.
1429 It's changed to use semicolon delimiters also,
1430 to prevent clashes with CSS attributes, but the old
1431 trick of looking for ", " strings will still work
1432 (as unreliably as ever). Fix for bug related to 97916.
1435 Include <cspi/bonobo/cspi-bonobo-listener.h>
1436 Fixes build warning.
1437 (SPI_freeAccessibleKeySet):
1438 (AccessibleKeystrokeListener_addCallback):
1439 (AccessibleKeystrokeListener_removeCallback):
1440 Modify to use AccessibleDeviceListener API internally,
1441 instead of AccessibleKeystrokeListener.
1443 * idl/Accessibility_Event.idl:
1444 Added two more empty slots to EventListener (for a total of four).
1446 * idl/Accessibility_Accessible.idl:
1447 Added four empty slots to Accessible interface.
1449 2002-11-15 Bill Haneman <bill.haneman@sun.com>
1451 * idl/Accessibility_Registry.idl:
1452 (KeyEventType, EventType):
1453 Marked KeyEventType as deprecated; it duplicates
1454 functionality of EventType, which has been extended to
1455 include Mouse-button events.
1456 (KeyEventTypeSeq): defined in terms of EventType.
1457 (registerDeviceEventListener, deregisterDeviceEventListener):
1458 New methods, for managing listeners to device events,
1459 which potentially may consume them.
1462 Added definition for AccessibleDeviceListener.
1464 * cspi/spi-listener.h:
1465 (enum AccessibleDeviceEventType):
1466 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1467 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1468 for backwards compat.
1469 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1470 and typedef'd AccessibleKeystroke to it for back-compat.
1471 (AccessibleDeviceListenerCB):
1472 New function prototype typedef.
1475 (AccessibleDeviceEventMask): New typedef.
1476 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1477 (AccessibleKeyMaskType):
1478 Set equivalent to AccessibleModifierMaskType for back-compat.
1479 (SPI_createAccessibleKeystrokeListener):
1480 (AccessibleKeystrokeListener_unref):
1481 Deprecated in favor of equivalent (better-named) new API below..
1482 keystroke listeners are like all device listeners.
1483 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1484 New API names for old features :-).
1485 (AccessibleDeviceListener_addCallback):
1486 (AccessibleDeviceListener_removeCallback):
1487 (SPI_registerDeviceEventListener):
1488 (SPI_deregisterDeviceEventListener):
1492 (SPI_createAccessibleKeystrokeListener):
1493 Use new preferred API, cspi_device_listener_new() and
1494 cspi_device_listener_add_cb().
1495 (AccessibleKeystrokeListener_removeCallback):
1496 Use new preferred API, cspi_device_listener_remove_cb().
1497 (AccessibleKeystrokeListener_unref):
1498 Use new preferred API, cspi_device_listener_unref().
1499 (SPI_createAccessibleDeviceListener):
1500 (AccessibleDeviceListener_addCallback):
1501 (AccessibleDeviceListener_removeCallback):
1502 Implementation of new API.
1504 * cspi/spi_registry.c:
1505 (SPI_registerDeviceEventListener):
1506 (SPI_deregisterDeviceEventListener):
1507 Implementation of new API. Fixed memory leak and removed need to
1508 allocate EventTypeSeq (thanks Michael for catching this).
1509 Squashed a wayward CORBA_exception_free that shouldn't get called.
1511 * cspi/bonobo/cspi-bonobo-listener.c:
1513 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1514 (cspi_key_event): renamed to cspi_device_event().
1515 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1516 Extended to handle mouse button events as well as key events.
1517 (CSpiKeystrokeListener):
1518 Class superceded by CSpiDeviceListener.
1519 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1520 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1522 * cspi/bonobo/cspi-bonobo-listener.h:
1523 (CSpiKeystrokeListener):
1524 Class superceded by CSpiDeviceListener.
1525 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1526 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1528 * libspi/Makefile.am:
1529 Replaced keystrokelistener.h and keystrokelistener.c
1530 with devicelistener.h and devicelistener.c; keystrokelisener.h
1531 stub retained for back-compat.
1533 * libspi/keystrokelistener.c:
1537 Replaced inclusion of keystrokelistener.h with devicelistener.h.
1539 * registryd/deviceeventcontroller.c:
1540 (DEControllerListener): Added Accessibility_EventTypeSeq member.
1541 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1542 (DEControllerPrivateData): Added xkb settings data.
1543 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1544 button release events (which can't be captured via XGrabButton).
1545 Don't dispatch via the 'normal' event mechanism if the device event was
1547 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1548 Handle the typeseq data in its new location (see above).
1549 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1550 New methods, for "generic" device listeners.
1551 (spi_controller_register_device_listener):
1552 Now handle mouse event listeners as well as key listeners.
1553 (spi_controller_notify_mouselisteners):
1554 New internal method.
1555 (spi_device_event_controller_forward_mouse_event):
1556 Now we notify mouse device listeners as well as generating the
1557 non-consumable "mouse:" events.
1559 We must check and restore the XKB
1560 modifier map if we consume the event, since the act of triggering
1561 a mouse event will normally reset the XKB latch. This is required for
1563 (spi_controller_register_with_devices):
1564 Load the XKB settings when registering, and register for XKB
1565 state notify events.
1566 (spi_key_eventtype_seq_contains_event):
1567 Renamed spi_eventtype_seq_contains_event, since it's used
1568 internally for all device event types now.
1569 (spi_key_event_matches_listener):
1570 Uses spi_eventtype_seq_contains_event now.
1571 (spi_device_event_controller_object_finalize):
1572 Free the private data and the XkbKeyboard struct.
1573 (impl_register_device_listener, impl_deregister_device_listener):
1574 Implementation of new IDL.
1575 (spi_deregister_controller_device_listener):
1576 New internal method.
1577 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1578 More efficient implementation, we don't have to create a new
1579 XkbControls structure every time we query.
1580 (spi_device_event_controller_class_init):
1581 Initialize the epv entries for the new IDL. Assign the
1582 "spi-dec-private" quark.
1583 (spi_device_event_controller_init):
1584 Initialize the private data.
1585 (spi_device_event_controller_forward_key_event):
1586 Removed a bogus CORBA_exception_free() call.
1588 * registryd/deviceeventcontroller.h:
1589 Replaced inclusion of keystrokelistener.h with
1592 * test/event-listener-test.c:
1593 (report_mouse_event):
1596 Added mouse-event device listener.
1598 * test/test-simple.c:
1599 (create_test_window):
1600 Fixed regression (we were instantiating a GtkRange,
1601 which is now an abstract class). Also fixed to match
1602 existing AtkRole names, this seems to have changed in ATK
1603 awhile ago; too late now I think, and the new
1604 mechanism is at least elegant and consistent with the
1605 glib enum "nick" APIs.
1607 2002-11-15 Darren Kenny <darren.kenny@sun.com>
1609 * idl/Accessibility_Relation.idl:
1610 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1611 RELATION_EMBEDS,RELATION_EMBEDDED_BY
1612 * idl/Accessibility_Role.idl:
1613 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1614 * idl/Accessibility_State.idl:
1615 add STATE_MANAGES_DESCENDANTS
1616 * test/event-listener-test.c:
1617 Added a listener for active-descendant events.
1619 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
1621 * atk-bridge/bridge.c
1622 (atk_bridge_init): If application is Bonobo component wait until top
1623 level is added before registering
1624 (spi_atk_bridge_do_registration): New function which contains code,
1625 formerly in atk_bridge_init, to do application registration.
1626 (spi_atk_bridge_toplevel_added): Signal called when top level
1627 added to Bonobo component
1629 This fixes bug #83134.
1631 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
1633 * registryd/deviceeventcontroller.c
1634 Fixed compilation error caused by calling gettimeofday()
1637 2002-10-18 Bill Haneman <bill.haneman@sun.com>
1642 Added template for HAVE_XKB.
1645 Changes to check for XKB, and to set the HAVE_XKB #define if it
1648 * libspi/listener.c:
1649 ()impl_notify_event): Make failure to get event source name
1652 * registryd/deviceeventcontroller.c:
1653 (#include): include X11/XKBlib.h.
1654 (DEControllerPrivateData) : New struct.
1655 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
1657 (dec_synth_keycode_press) (dec_synth_keycode_release):
1658 New methods; split the key synthesis code into these methods.
1659 They check XKB settings before determining the "time" values to
1660 pass to Xtest; this fixes bug #95828.
1661 (impl_generate_keyboard_event): Changed to use methods above,
1662 instead of callng Xtest directly.
1663 (spi_device_event_controller_init): Initialize new privae struct s
1665 (spi_device_event_controllr_object_finalize):
1666 Free the (new) private data.
1668 * registryd/deviceeventcontroller.h:
1669 Add new gpointer to end of struct data.
1671 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1674 Incremented revision to 1.1.2, SONAME is still '.so', library
1675 extensions are ".so.0.0.2".
1677 * registryd/deviceeventcontroller.c:
1678 FIXES FOR #93592 and #95940.
1679 (statics): renamed mouse_button_state to mouse_mask_state,
1680 added key_modifier_mask.
1681 (spi_dec_poll_mouse_moved):
1682 Added key modifier checks, and emit "keyboard:modifiers"
1683 events when the key modifiers currently in use change.
1684 Also generate "mouse:abs" events periodically, even if the mouse
1685 is stationary (should we?).
1686 Alternatively we could generate "mouse:abs" events for either all
1687 mouse movements, or every 'nth' mouse movement, or at the
1688 beginning and end of every "active" mouse period.
1690 * test/event-listener-test.c:
1691 (main): Added listener for "keyboard:modifiers" events.
1693 2002-10-15 Bill Haneman <bill.haneman@sun.com>
1695 * libspi/keymasks.h:
1696 Added key mask #defines for mouse buttons; e.g.
1697 SPI_KEYMASK_BUTTON1, etc.
1700 Incremented dependency on ATK to version 1.1.0. (This dependency
1701 is probably premature but will soon be real enough).
1703 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
1705 * libspi/hyperlink.[ch]
1706 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
1707 (get_hyperlink_from_servant): Check object is AtkHyperlink not
1710 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
1715 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
1717 * registryd/deviceeventcontroller.c
1718 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
1719 events to be ignored.
1720 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
1721 keyboard_mode so that XAllowEvents() can be called.
1725 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
1727 * cspi/spi-accessible.c: Correct names of roles returned by
1728 AccessibleRole_getName(). Fixes bug #95055.
1730 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
1732 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
1735 * registryd/registry.c
1736 (desktop_remove_application: Write diagnostic message to stderr for
1739 (impl_accessibility_registry_deregister_global_event_listener):
1740 Correct size of lists array. This addresses bug #94555).
1742 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
1744 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
1747 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
1749 * registryd/Makefile: Add CLEANFILES so that .server file is removed
1752 * registryd/registry.c (impl_registry_notify_event): Remove
1753 unnecessary call to parser_event_type().
1755 * docs/reference/cspi/tmpl/spi_component.sgml:
1756 Add reference to SPI_LAYER_WINDOW.
1758 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
1760 * registryd/registry.c
1761 (desktop_add_application): Remove leak.
1762 (desktop_remove_application): Remove leak.
1763 (parser_event_type): Remove leak.
1765 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
1767 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1768 bogus call to CORBA_string_dup(). Also removed unnecessary
1769 g_string_dup/g_free calls.
1771 2002-09-13 Bill Haneman <bill.haneman@sun.com>
1773 * registryd/deviceeventcontroller.c:
1774 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1776 * test/event-listener-test.c:
1777 main: commented out three redundant listeners, to reduce output
1778 noise. (They still are potentially useful for testing).
1781 2002-09-13 Michael Meeks <michael@ximian.com>
1783 * Update all the copyrights to include Ximian.
1785 2002-09-06 Mark McLoughlin <mark@skynet.ie>
1787 * cspi/spi.h: add SPI_LAYER_WINDOW.
1789 * cspi/spi_component.c: (AccessibleComponent_getLayer):
1790 add Accessibility_LAYER_WINDOW case.
1792 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1794 * libspi/component.c: (impl_accessibility_component_get_layer):
1795 add ATK_LAYER_WINDOW case.
1797 2002-08-28 Bill Haneman <bill.haneman@sun.com>
1799 * configure.in: incremented micro version.
1801 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1803 2002-08-20 Bill Haneman <bill.haneman@sun.com>
1806 Clarified and reworded our commit policy.
1809 Started an API "todo" addition list for 2.2.
1812 (impl_getSelection):
1813 Free char pointer from atk_text_get_selection, which was being leaked.
1815 2002-08-19 Bill Haneman <bill.haneman@sun.com>
1818 Small revision to author acknowledgement.
1820 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1822 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1823 If signal has detail add it to the type of the event.
1826 2002-08-12 Michael Meeks <michael@ximian.com>
1828 * test/test-simple.c (global_listener_cb): bin bogosity.
1829 (test_keylisteners): disable, still doesn't work reliably,
1830 certainly not on my system anyway.
1832 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1833 don't leak a reference on the DEC. This round-trip
1834 fetching of the DEC per keystroke sucks, it should be
1837 * cspi/spi-private.h,
1838 * cspi/cspi-lowlevel.h,
1839 * cspi/bonobo/cspi-bonobo-listener.[ch],
1840 * cspi/bonobo/cspi-bonobo.c: get the copyright
1841 notices better - there is still a large amount of
1842 work in at-spi falsely attributed solely to Sun.
1844 * cspi/spi_main.c (cspi_object_ref): kill bogus
1845 hash lookup, just increment the ref.
1846 (SPI_freeString): make explicit the fact that we
1847 handle NULL strings just fine.
1848 (report_leaked_ref): obey coding standards.
1849 (cspi_object_hash, cspi_object_equal): kill retval.
1850 (cspi_object_release): only release if not on loan.
1851 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1852 (cspi_object_borrow, cspi_object_return): impl.
1854 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1855 use cspi_object_borrow / return.
1857 2002-08-12 Darren Kenny <darren.kenny@sun.com>
1859 * cspi/bonobo/cspi-bonobo-listener.c:
1861 Don't call cspi_oject_new() because this is creating a new Accessible
1862 every single time that an event is fired. This causes ATs like at-poke
1863 to nolonger recognise the source of the event and thus ignore it.
1864 Re-use the object from the cache, ref it and then unref it after the
1865 listeners have been called.
1867 2002-08-06 Darren Kenny <darren.kenny@sun.com>
1869 * test/event-listener-test.c:
1870 Added command-line options to disable mouse events (m) and
1873 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
1875 * configure.in: Update required versions of ATK, GTK+ and GAIL
1877 * cspi-1.0.pc.in: Add dependency for X include files
1880 * cspi/bonobo/Makefile.am:
1881 Add $(X_CFLAGS) so that X include files
1882 are picked up even if not in standard place (bug #71686)
1884 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1886 * registryd/deviceeventcontroller.c: fix for 84261
1887 (spi_dec_mouse_moved):
1888 Added test of mouse button mask, so that we can detect mouse
1889 button release. Unfortunately we can't otherwise detect mouse
1890 button release events without consuming the mouse press event,
1891 because of the way XGrabButton works. This means that our mouse
1892 release events have a latency dependent on the polling period
1893 while the mouse button is down. At least in this case we only
1894 have to poll while the button is down, and not at other times.
1895 If the button masks don't match with what the last press event
1896 reported, we report the appropriate button release event.
1897 (spi_dec_ungrab_mouse):
1898 New method (not yet called).
1899 (spi_device_event_controller_forward_mouse_event):
1900 New method, sends mouse press event from GdkFilter.
1901 (spi_dec_init_mouse_listener):
1902 Added code to call XGrabButton, redirecting mouse button events to
1903 the root window and our Gdk event loop.
1905 Added code to filter mouse button events, and reordered.
1907 * test/event-listener-test.c:
1909 Added registration for mouse events of type "mouse:button".
1911 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1913 * registryd/deviceeventcontroller.c: partial fix for 84261
1914 (spi_dec_poll_mouse_idle):
1915 New method, a timeout which checks to see if the mouse
1917 (spi_dec_poll_mouse_moving):
1918 A timeout to be called when mouse motion is underway.
1919 (spi_dec_poll_mouse_moved):
1920 A method which fires an event if the mouse has moved, and reports
1921 whether or not it did so.
1922 (spi_dec_init_mouse_listener):
1923 A method which sets up the timeouts above.
1924 (spi_device_event_controller_new):
1925 Now calls spi_dec_init_mouse_listener.
1927 * registryd/registry.c:
1928 (spi_registry_init):
1929 Now we initialize the device event controller when the registry is
1930 initialized, instead of waiting until a client has requested a key
1931 event notification; this is because we need the event controller
1932 for mouse events, but the mouse event registration API is a
1933 "registry" call and doesn't explicitly call the
1934 deviceeventcontroller.
1935 We now report mouse motion events with a 100 ms idle latency and
1936 a 20 ms granularity when motion is in progress.
1938 * test/event-listener-test.c:
1940 We now register the "detail listener" for events of type
1941 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1942 delivered only for the first mouse event received, and thereafter
1943 "mouse:abs" events are delivered.)
1945 * cspi/spi_registry.c:
1946 DOCS: Documented the above mouse event typestrings.
1948 2002-06-21 Bill Haneman <bill.haneman@sun.com>
1950 Happy Summer Solstice...
1952 * registryd/deviceeventcontroller.c: [fix for bug 84100]
1953 (spi_controller_notify_keylisteners):
1954 Changes to remove a listener from the listener list, freeing its
1955 open keygrabs, if a notification to that listener fails. This
1956 means that although a dead listener can continue to hold a passive
1957 keygrab, a maximum of one dispatch to such a listener can fail
1958 before the listener is removed from the list, thus the keygrab
1959 will be released on the next occurrence.
1960 As part of this fix:
1961 (spi_notify_keylisteners):
1962 Renamed to spi_controller_notify_keylisteners, as the controller
1963 instance must now be passed as an argument.
1964 The copied 'notify' GList is now a list of DEControllerKeyListener
1965 objects, since we need more than just the CORBA reference if a
1966 notify fails and we need to deregister the listener.
1967 (impl_notify_listeners_sync):
1968 (impl_notify_listeners_async):
1969 (spi_device_event_controller_forward_key_event):
1970 Modify use of notify_keylisteners in accordance with above
1972 (spi_deregister_controller_key_listener):
1973 New method introduced by refactoring, from
1974 impl_deregister_keystroke_listener.
1975 (impl_deregister_keystroke_listener):
1976 Call spi_deregister_controller_key_listener.
1977 (spi_key_listener_clone):
1978 New method to copy a key listner without doing a 'ref' on the
1979 remote object instance; used to create a notifier list.
1980 (spi_key_listener_data_free):
1981 New method, frees data without unreffing the source.
1983 (spi_key_listener_clone_free): new method.
1984 (spi_key_listener_free):
1985 refactored to call spi_key_listener_data_free.
1987 2002-06-20 Bill Haneman <bill.haneman@sun.com>
1989 * registryd/registry.c: [fix for bug 86048]
1990 (notify_listeners_cb):
1991 Clear CORBA system exceptions which occur when notifying
1992 listeners, before returning to the source of the original event,
1993 since the event source doesn't care if the relayed notify failed.
1994 In other words, don't complain to the atk-bridge if the registry
1995 could not notify all its listeners, that's no fault of the
1996 application and thus should not appear to be an error from the
1997 application's perspective.
1999 * cspi/spi_main.c: [fix for bug 85980]
2001 Replaced use of bonobo_object_dup_ref with call to the wrapper
2002 method, csou_dup_ref (); this silences a compiler warning and
2003 provided more portability.
2005 Ping the registry before return, and restart if necessary.
2007 * cspi/bonobo/cspi-bonobo.c:
2009 New internal method.
2011 Fixed this method to return an object reference, as it should have
2014 * cspi/cspi-lowlevel.h:
2015 Added internal definition for cspi_ping() and fixed
2016 return type of cspi_dup_ref().
2019 2002-06-19 Bill Haneman <bill.haneman@sun.com>
2021 * atk-bridge/bridge.c: [fix for bug 85305]
2022 (spi_atk_bridge_register_application):
2023 New method where the initial application registry calls have been
2024 moved; it allows an application to re-register in response to
2025 certain error conditions (such as a registry restart, see below).
2027 Moved some initialization code to the method
2028 spi_atk_bridge_get_registry, below.
2029 (spi_atk_bridge_get_registry):
2030 New, private accessor function for the Accessibility_Registry
2031 instance. If the registry has not been started before, or has
2032 died (as detected by failure of a CORBA exception), it is
2033 restarted before return, and spi_atk_bridge_register_application
2034 is called again to register with the new bridge instance.
2035 (spi_atk_emit_eventv):
2036 Set registry_died on error; use spi_atk_bridge_get_registry () to
2037 access the registry.
2039 * registryd/registry.c:
2040 (impl_accessibility_registry_register_global_event_listener):
2041 Set listener's event_type_quark to etype.minor instead of
2042 etype.major (fix for bug 84856).
2044 * test/event-listener-test.c:
2045 (report_detail_event):
2046 Change the output string so that user/tester can tell that the
2047 'detail listener' was called instead of the 'generic listener'.
2049 2002-06-18 Bill Haneman <bill.haneman@sun.com>
2051 Fixes for bugs 84900, 84908, 84897, 84898.
2056 Revved version to 1.1.0
2057 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2058 version is going to HEAD which will be used for gnome-2-0-1 and later.)
2060 * idl/Accessibility_Registry.idl:
2061 (EventListener::notifyEvent):
2062 Removed 'oneway' directive after extensive consulation with
2063 ORBit2 team and others. This means also that unref() of the event
2064 source can and should be done synchronously after emission, rather
2065 than remotely in the client, after servicing the notify call on
2068 NOTE: This change speeds up listener performance considerably, but
2069 introduces new latency on the application side. We may want to
2070 add an event queue to the atk-bridge.
2072 * atk-bridge/bridge.c:
2073 (spi_atk_bridge_focus_tracker):
2074 Do a local unref() on the event source after emission.
2076 * registryd/registry.c:
2077 (desktop_remove_application):
2078 Do an unref() on the event source after emission.
2079 (desktop_add_application):
2080 Do an unref() on the event source after emission.
2081 (notify_listeners_cb):
2082 When relaying an event, don't automatically add the event source
2083 to the local object cache, just CORBA_dup it instead. Likewise,
2084 if this method reenters, release the ref rather than calling
2086 (impl_registry_notify_event):
2087 No longer call remote unref() on the event source after dispatch.
2089 * libspi/eventlistener.c:
2090 (impl_accessible_event_notify_event):
2091 Removed remote unref ()
2093 * cspi/bonobo/cspi-bonobo-listener.c:
2095 We now call cspi_object_new() instead of cspi_object_add() on
2096 receipt of an event; thus we only have an implicit object ref
2097 while the cspi_event method is being executed. If we need to keep
2098 a reference to the object, the listener must call ref() on the
2099 object. Thus also we don't need to call cspi_object_unref() after
2100 invoking the listener callbacks in this method.
2104 New internal API for creating a new cspi object, without adding it
2105 to the object cache.
2107 Now uses cspi_object_new() to create the cspi object instance.
2109 Now checks to see if the object is in the internal object cache,
2110 and adds it if necessary before incrementing its refcount (note
2111 that new objects are added with a refcount of 1).
2112 (report_leaked_ref):
2113 New method which gives some information on leaked object instances
2114 if leak detection is turned on.
2116 * test/event-listener-test.c:
2117 (timing_test_event):
2118 New method, used for testing event delivery timing for special
2119 events of type "object:test". It reports elapsed time and
2120 events/sec every 500 events.
2122 Added a new listener, 'test listener', to check timing of event
2123 receipt as noted above.
2125 Added some timing output here also, reports elapsed time every 100
2128 * test/stress-test.c:
2129 Emit events of type "object:test", for use with "event-listener-test".
2131 * test/test-simple.c:
2132 (global_listener_cb):
2133 Call Accessible_ref() on the event source before calling
2134 validate_accessible, since the validation process does pointer
2135 comparisons on the event source, meaning that the event source
2136 needs to be added to the local object cache first. Any use of
2137 such pointer comparisons between Accessible objects requires that
2138 the caller hold an explicit reference to those objects.
2139 We also must therefore call Accessible_unref() when leaving this method.
2141 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2143 * registryd/deviceeventcontroller.c:
2144 (spi_controller_update_key_grabs):
2145 Fix for #84735, subsequent keygrab listeners not informed of
2146 registration failure.
2149 (spi_base_construct):
2150 Add an assertion on construct, to make sure the GObject passed in
2151 is really a GObject.
2153 Explicitly initialize object->gobj pointer to NULL;
2155 * cspi/bonobo/cspi-bonobo-listener.c:
2156 (cspi_object_add_ref):
2157 New method, can specify whether to dup-ref a bonobo object passed
2158 in if it's newly added to the object cache.
2160 Now calls cspi_object_add_ref with second param of "FALSE". This
2161 prevents us from doing a pointless dup-ref followed by
2162 release-unref for all those cases where the object is already in
2163 our object cache (fix for #85205).
2165 * atk-bridge/bridge.c:
2166 (spi_atk_bridge_idle_init):
2167 Removed this method, we don't need to initialize in an idle
2170 Changed to call spi_atk_register_event_listeners directly, not via an
2171 idle handler. (fix for #81139)
2172 (gnome_accessibility_module_shutdown):
2173 Removed conditional around deregistration of listeners, since we
2174 don't use the idle handler and thus have always registered when
2176 (spi_init_keystroke_from_atk_key_event):
2177 Changed references to Accessibility_KEY_PRESSED to
2178 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2180 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2182 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2187 * test/stress-test.c:
2190 (may have been an incomplete commit yesterday?)
2192 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2195 Added target for new stress-test.
2197 * test/stress-test.c:
2198 New test, sends 1000 focus notifies in quick succession.
2200 * test/key-listener-test.c:
2201 Now we report whether a keylistener registration
2202 request succeeded or failed.
2204 * test/event-listener-test.c:
2205 Uncommented some listeners which are now implemented.
2208 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2210 * registryd/deviceeventcontroller.c:
2211 (spi_controller_update_key_grabs):
2212 Fix for #82509, lack of failure notification when
2213 ALL_WINDOWS keygrabs fail due to XGrabKey
2214 failure: we synchronize the server when
2215 registering a passive grab, to make sure we get the
2216 error message before the call returns.
2218 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2220 * test/test-simple.c:
2222 Removed #ifdef KEY_IMPL_WORKS guards.
2223 (test_keylisteners):
2224 Removed #ifdef KEY_IMPL_WORKS guards.
2225 Fixed bug which was causing a hang waiting for a
2226 "press" event (which was already overwritten by a "release"
2227 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2229 Added code to set globals 'key_press_received' and
2230 'key_release_received'.
2233 Added section "1.1 API Proposed Additions" which
2234 lists API additions desired for at-spi-1.1 (only one so far).
2235 Updated TODO list a little.
2237 2002-06-02 Bill Haneman <bill.haneman@sun.com>
2239 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2242 * configure.in: Revved to 1.0.0.
2244 * idl/Accessibility_Registry.idl:
2245 (registerKeystrokeListener):
2246 Added boolean return value.
2248 * registryd/registry.c:
2249 (notify_listeners_cb): Minor fix to debug output.
2251 * registryd/Accessibility_Registry.server.in.in:
2252 Revved version number in OAFIID to 1.0.
2254 * registryd/registryd.c:
2256 Use new OAFIID version.
2258 * cspi/bonobo/cspi-bonobo.c:
2260 Use new OAFIID version.
2266 * atk-bridge/bridge.c:
2268 Use new OAFIID version.
2270 * registryd/deviceeventcontroller.c:
2271 (impl_register_keystroke_listener):
2272 Added CORBA_boolean return value.
2273 (spi_controller_register_device_listener):
2274 Added gboolean return value.
2275 (spi_controller_register_global_keygrabs):
2276 Added gboolean return value.
2277 (spi_key_set_contains_key):
2278 Added implementation for many more control keys,
2279 for instance F1-F12, arrow keys, End, Home, Page_Up,
2281 [TODO: some still not implemented].
2283 * text/screen-review-test.c:
2284 (text_chunk_pad_string):
2285 New function: it provides mapping between coordinate
2286 positions of text chunks and character positions in the
2287 screen-review-line output string.
2288 (text_chunk_to_string):
2289 New function, calls text_chunk_pad_string with various
2290 pad/delimiter characters. Pushbuttons are delimited with
2291 square brackets, Frames with vertical 'pipe' lines, and
2292 other text with double quotes.
2293 (text_chunk_list_to_string):
2294 Calls new function text_chunk_to_string.
2295 (toplevel_composite):
2296 New function to composite layers CANVAS through
2297 POPUP in each toplevel (other layers are composited
2298 across toplevels, i.e. BACKGROUND and OVERLAY).
2299 (review_buffer_composite):
2300 Revise to use new methods.
2306 2002-05-31 Laszlo Peter <laca@sun.com>
2308 * configure.in: add the Xtst libdir to the runpath on Solaris,
2309 since it's not in the default library search path.
2311 2002-05-29 jacob berkman <jacob@ximian.com>
2313 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2315 2002-05-29 Bill Haneman <bill.haneman@sun.com>
2317 * test/screen-review-test.c:
2318 (text_chunk_pad_string):
2319 Added method, which pads the string according to the
2320 text bounds of the chunk. It also takes a 3-character
2321 string as a param which indicates the characters to be
2322 used for start, padding, and end delimitation of the chunk.
2323 (text_chunk_to_string):
2324 Changed to use text_chunk_pad_string.
2326 * configure.in: Fixed bug in AC_OUTPUT that was
2327 causing path substitution in Accessibility_Registry.server
2330 2002-05-23 Bill Haneman <bill.haneman@sun.com>
2332 * text/screen-review-test.c:
2333 (guess_string_clip):
2334 New method which attempts a best-guess at clipping
2335 text from components (like Java labels) which don't
2336 actually implement AccessibleText. This inaccurate
2337 clip is based on the assumption that the label is
2338 justified left-and-right, and monospaced.
2339 (text_chunk_get_clipped_string):
2340 We now call guess_string_clip() for text-containing
2341 components that don't implement AccessibleText.
2343 * test/screen-review-test.c:
2344 (review_buffer_get_text_chunk):
2345 We now pull "name" from labels if they do not implement
2346 AccessibleText (i.e. for Java labels).
2347 (get_screen_review_line_at):
2348 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2351 Replaceded AC_OUTPUT target
2352 registryd/Accessibility_Registry.server with
2353 registryd/Accessibility_Registry.server.in.
2355 * registryd/Accessibility_Registry.server.in:
2356 Removed (this is now a Makefile target).
2358 * registryd/Accessibility_Registry.server.in.in:
2359 Added (source for target above). We now use $(libexecdir) as
2360 prefix for the executable at-spi-registryd.
2362 * registry/Makefile.am:
2363 Now install at-spi-registryd into $(libexecdir), and build .server
2364 file with path (see above).
2366 2002-05-22 Bill Haneman <bill.haneman@sun.com>
2368 * test/screen-review-test.c:
2369 (text_chunk_get_clipped_string):
2370 We now check to see if words fall within clip bounds
2371 before resorting to character-by-character clip bounds testing.
2373 * TODO: Added a section for "2.2 Proposed API Additions".
2375 2002-05-21 Bill Haneman <bill.haneman@sun.com>
2377 * test/screen-review-test.c:
2379 Added a screen review benchmarking and test program to test
2382 * cspi/spi_accessible.c:
2384 Made some of the debug strings passed to cspi_check_ev a
2385 little more specific.
2387 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
2389 * test/screen-review-test.c: Fix crashes in debug statements
2391 2002-05-20 Bill Haneman <bill.haneman@sun.com>
2393 * test/screen-review-test.c: Added this file.
2395 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2397 * atk-bridge/bridge.c: changed "object:state-change" to
2398 "object:state-changed" to match docs.
2400 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2402 * atk-bridge/bridge.c: Hooked up state-change event details.
2404 2002-05-11 Bill Haneman <bill.haneman@sun.com>
2406 * registryd/registry.c:
2407 Fixed quarking bug in event string parsing; now events with
2408 detail parameters get matched correctly to listeners.
2411 * util/idl/Magnifier.idl: remove.
2413 * util/*.[ch]: Remove.
2414 Magnification utilities and IDL are now in module gnome-mag.
2416 2002-05-10 Bill Haneman <bill.haneman@sun.com>
2418 * registryd/deviceeventcontroller.c:
2419 Fixed bug in grab key conversion which was causing keycode grabs
2420 to be converted to AnyKey grabs.
2423 updated NEWS file to reflect recent spin-off of gnome-mag.
2425 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
2427 * cspi/spi_accessible.c: Added exception checks. Fixed completely
2428 busted AccessibleStateSet_compare. Removed redundant casts.
2430 * cspi/spi-action.c: Removed redundant casts.
2432 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2434 * cspi/spi_component.c: Fixed typos and casting error.
2436 * cspi/spi_editabletext.c: Removed redundant casts.
2438 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2440 * cspi/spi_hypertext.c: Eliminated redundant casts.
2442 * cspi/spi_image.c: Eliminated redundant casts.
2444 * cspi/spi_registry.c: Eliminated redundant casts.
2445 SPI_deregisterGlobalEventListenerAll () removed retval variable.
2446 * cspi/spi_selection.c: Removed redundant casts.
2447 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
2448 handling. Screen geometry and text offsets were being returned as 0
2449 on error which is technically valid-- changed these to return -1.
2450 Added marshaller for text boundary types to fix bug with boundary
2451 types being passed incorrectly to atk.
2453 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2456 * cspi/spi_registry.c:
2457 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2458 which was uncovered by the recent key changes.
2460 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2462 * test/event-listener-test.c:
2464 Added new test, "event-listener-test";
2465 this code does two things; it benchmarks traversal time
2466 for the accessible hierarchy for the first running accessible
2467 app, and it connects listeners for all supported event types.
2468 It is thus useful as an example event listener and for
2469 diagnostics/debugging of event generation.
2471 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2474 Removed unnecessary dependency on libutil.
2477 Revved micro version: 0.13.1
2479 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2482 Removed util/Makefile from targets.
2485 Removed util subdir from SUBDIRS (temporarily,
2486 pending removal of magnifier-only code
2490 #ifdef-ed out magnifier dependencies, since
2491 magnifier IDL, headers, and binary now live in
2492 module gnome-mag and we don't want at-spi to depend
2493 on gnome-mag. A magnifier demo which can run alongside
2494 simple-at is forthcoming in the gnome-mag module.
2496 NOTE: Split magnifier binary, IDL, and magnification
2497 activation code from at-spi into module gnome-mag.
2499 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
2501 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2502 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2504 2002-05-03 Bill Haneman <bill.haneman@sun.com>
2507 Revved to version 0.13.0
2509 * idl/Accessibility_Registry.idl:
2510 Changed definition of KeySet from sequence of longs to sequence of
2511 KeyDefinitions, and added KeyDefinition struct.
2512 Required for fix to bug 80616.
2514 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2515 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2516 to use new definition (see above).
2518 * registryd/deviceeventcontroller.c: handle_keygrab(),
2519 spi_keyset_contains_key():
2520 Changed to make use of new struct; this allows matching based on
2521 string key-name, for instance "Tab". This also allows matching of
2522 composed characters, non-alphanumeric characters in a way that
2523 doesn't involve dependencies on X keysym codes directly, etc.
2525 * test/key-listener-test.c:
2526 Added test for Alt-Tab key using "string" specification of keyset,
2527 and modified one of the tests to use a keycode-based keyset.
2528 Thus this test both tests and demonstrates the creation and use of
2529 keysets of three forms: specified via keycode array,
2530 keysym array, and string array. (The string case only contains a
2531 single string, i.e. a string array of length 1).
2534 Turned on PRINT_TREE option by default. Also fixed a
2535 string-freeing bug in the PRINT_TREE code.
2536 Added a listener to window:minimize events.
2538 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
2540 * atk-bridge/bridge.c:
2541 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2542 for window:activate and window:deactiveate
2543 (atk_bridge_property_event_listener atk_bridge_signal_listener
2544 atk_bridge_window_event_listener) Tidy debug code
2546 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
2548 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2549 Fixed handling for NULL return value from ATK.
2551 * libspi/action.c libspi/component.c libspi/editabletext.
2552 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2553 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2554 Removed redundant casts.
2556 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2557 Fixed off by one bug.
2559 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2560 function not present in idl)
2562 2002-05-02 jacob berkman <jacob@ximian.com>
2564 * atk-bridge/Makefile.am: make atk-bridge a real module
2566 2002-04-26 Radek Doulik <rodo@ximian.com>
2568 * libspi/stateset.c (spi_init_state_type_tables): fix size of
2569 atk_state_types table
2571 2002-04-22 jacob berkman <jacob@ximian.com>
2574 * libspi/Makefile.am: add deps on the built files to help
2575 automake, and don't version the ORBit typelib
2577 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
2579 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
2580 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2581 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
2582 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2583 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2584 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2585 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2586 libspi/accessible.h libspi/accessible.h libspi/base.h
2587 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
2588 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2589 libspi/relation.h libspi/remoteobject.h libspi/selection.h
2590 libspi/spi-private.h libspi/statetset.h libspi/table.h
2591 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2592 util/mag_client.h util/mag_control.c util/mag_image.c
2593 util/mag_image.h util/magnifier.c util/magnifier.h:
2594 Add missing file headers; standardize existing ones
2596 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
2598 * atk-bridge/bridge.c: Added window event support.
2600 2002-04-18 Michael Meeks <michael@ximian.com>
2602 * libspi/relation.c (impl_getNTargets): impl.
2603 (impl_getTarget): impl.
2605 * libspi/Makefile.am: fix stateset install.
2607 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2610 Started putting useful info in this file.
2612 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
2614 * atk-bridge/bridge.c:
2615 Propagate state-changed notifications to ATs
2617 * cspi/spi_registry.c: update docs to reflect actual behavior of
2618 state-change events.
2620 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2623 Incremented version to 0.12.1
2625 * util/mag_client.h:
2626 Add missing declaration for magnifier_exit,
2627 used by mag_control.c - Forte compiler didn't like
2628 the implicit redeclaration of the function :-(
2631 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2634 Revved version to 0.12 due to API change (see below).
2636 * cspi/spi-roletypes.h:
2637 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
2638 definition from the inline docs, and added docs
2639 for SPI_ROLE_LAST_DEFINED.
2642 * cspi/spi_streamablecontent.c:
2643 Added missing seek_type parameter to
2644 (so far unused) method,
2645 AccessibleStreamableContent_seek().
2646 [ RT approval JodyG. ]
2649 Fixed docs for SPI_createAccessibleKeystrokeListener.
2651 * cspi/spi_registry.c:
2652 Fixed docs for SPI_KEYSET_ALL_KEYS.
2654 * docs/reference/cspi/at-spi-cspi-sections.txt:
2655 Added a number of missing APIs to SECTIONS.
2657 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2659 * registryd/Makefile.am:
2661 * cspi/bonobo/Makefile.am:
2662 Add $(X_LIBS) to makefiles.
2664 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2667 Revved version to 0.11.
2669 * libspi/component.c:
2670 Added implementation for grabFocus.
2672 * idl/Accessibility_Component.idl
2673 (Accessibility_Component_grabFocus):
2674 Made this method return boolean to indicate success or failure, to
2675 be consistent with cspi and the corresponding ATK method.
2677 * idl/Accessibility_Selection.idl
2678 (Accessibility_Selection_selectAll) :
2679 Made these methods return boolean to indicate success or
2680 failure, to be consistent with cspi and the corresponding ATK methods.
2682 * idl/Accessibility_EditableText.idl
2683 (Accessibility_EditableText_setTextContents,
2684 Accessibility_EditableText_insertText,
2685 Accessibility_EditableText_cutText,
2686 Accessibility_EditableText_deleteText,
2687 Accessibility_EditableText_pasteText):
2688 Made these methods return boolean to indicate
2691 * cspi/spi_editabletext.c:
2692 Made these methods return booleans.
2694 * libspi/selection.c:
2695 * libspi/component.c:
2696 * libspi/editabletext.c:
2697 Connected the boolean returns from ATK
2698 to the server-side code referenced above.
2700 2002-04-14 Bill Haneman <bill.haneman@sun.com>
2702 * idl/Accessibility_Table.idl: Added missing methods,
2703 Accessibility_Table_addRowSelection,
2704 Accessibility_Table_addColumnSelection,
2705 Accessibility_Table_removeRowSelection,
2706 Accessibility_Table_removeColumnSelection.
2709 Added C wrappers for above IDL:
2710 AccessibleTable_addRowSelection,
2711 AccessibleTable_addColumnSelection,
2712 AccessibleTable_removeRowSelection,
2713 AccessibleTable_removeColumnSelection.
2716 Added server-side implementation code for IDL above, connecting
2717 to pre-existing ATK api.
2719 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
2721 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
2723 * libspi/accessible.c: Added implementation fo
2724 Accessibility_Accessible_get_state.
2726 * libspi/libspi.h: Added stateset.h to the list of includes.
2728 * libspi/stateset.c: Fixed broken implementation.
2730 2002-04-13 Bill Haneman <bill.haneman@sun.com>
2733 Added implementation code for Accessibility_Magnifier_exit ().
2735 * util/mag_control.c:
2736 Added test code for above method; you can
2737 now kill an existing magnifier via
2738 ./mag_control q, from the util directory.
2740 * test/key-listener-test.c:
2742 Added a new test, for our key listener API.
2744 2002-04-11 Bill Haneman <bill.haneman@sun.com>
2746 * test/app.c, test/keysynth-demo.c:
2748 Replace use of snprintf with g_snprintf.
2749 (fix for bugzilla 78249)
2751 2002-03-27 Michael Meeks <michael@ximian.com>
2755 * util/Makefile.am (INCLUDES): fix.
2756 (DONT_DIST_SOURCE): don't distribute the
2759 * libspi/Makefile.am (dist-hook): ditto.
2761 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
2763 * libspi/hypertext.c:
2764 Fix warnings when yelp is used with atk-bridge
2766 2002-03-21 Michael Meeks <michael@ximian.com>
2768 * libspi/application.c (spi_application_new):
2769 use spi_accessible_construct so we use the AtkObject
2772 2002-03-19 Michael Meeks <michael@ximian.com>
2774 * registryd/registry.c (desktop_remove_application),
2775 (desktop_add_application): clean coding style.
2777 * registryd/desktop.c (spi_desktop_remove_application),
2778 (spi_desktop_add_application): kill re-enterency hazards.
2779 (spi_desktop_dispose): remove bogus redundant cast
2780 obscuring bug; fix bug too.
2781 (spi_desktop_init): make the desktop object immortal.
2783 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2786 Added a #define-guarded tree-traversal step
2787 when enumerating the apps (diagnostic tool).
2789 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2791 * idl/Accessibility_Role.idl:
2792 Added ROLE_DRAWING_AREA which seemed to be missing from the
2795 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2797 * cspi/spi-roletypes.h cspi/spi_accessible.c
2798 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2801 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2802 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2803 AT when applications are added and removed from the desktop. This
2804 reverts the previous broken implementation using the backing
2805 AtkObject for the SpiDesktop.
2807 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2809 * registryd/desktop.c: emit the "children-changed::add" and
2810 "children-changed::remove" signals on the backing ATK object for
2811 the desktop so AT can tell when applications are started and shut
2814 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2816 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2818 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2820 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2822 * cspi/spi_accessible.c: Implemented c bindings for stateset support
2824 * cspi/state-types.h: synched with IDL and ATK
2826 2002-03-13 Bill Haneman <bill.haneman@sun.com>
2828 * libspi/accessible.c
2829 (impl_accessibility_accessible_get_child_at_index):
2830 Change return value for g_return_if_fail ()
2831 to CORBA_OBJECT_NIL instead of "0" (!)
2833 * registryd/Makefile.am:
2834 * registryd/Accessibility_Register.server.in:
2835 Changed name of executable, "registryd",
2836 to something more informative:
2839 2002-03-13 Michael Meeks <michael@ximian.com>
2841 * atk-bridge/bridge.c (atk_bridge_init): don't register
2842 if we're in a bonobo-component, rather than a bonobo app.
2844 2002-03-13 Michael Meeks <michael@ximian.com>
2846 * atk-bridge/bridge.c (gtk_module_init): split
2847 out body to (atk_bridge_init): here, since otherwise
2848 we get symbol conflicts and oddness when invoked
2849 from (gnome_accessibility_module_init): here (upd.)
2851 2002-03-11 Bill Haneman <bill.haneman@sun.com>
2854 New file. Explicitly allow "build sheriff" putbacks provided
2855 they are tested on Solaris.
2857 * docs/reference/cspi/Makefile.am:
2858 Added '-' to the "cp" command for index.sgml.
2859 ("patch by thomasvs, soon coming to a GUADEC near you")
2862 Incremented version number (0.9.0) for new release.
2863 Changed macro that checks for popt, to better detect
2864 obsolete versions of popt.
2867 Added X_LIBS to AC_SUBST, for applications
2868 that call Xlib API directly.
2871 2002-03-07 Bill Haneman <bill.haneman@sun.com>
2874 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2877 Fix regression caused by hard-coding major
2878 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2881 * test/test-simple.c (test_editable_text),
2882 (test_test): revert previous change (error was
2883 a regression in gail which is now fixed).
2885 2002-03-04 Michael Meeks <michael@ximian.com>
2887 * test/test-simple.c (test_editable_text),
2888 (test_text): pass G_MAXINT instead of '-1' for
2889 whole string - is this a good thing !?
2891 * cspi/spi_accessible.c
2892 (Accessible_getRelationSet): fix crasher bug
2893 overwriting the end of the array.
2895 * test/test-simple.c (validate_accessible): free,
2896 not g_free returned relation set.
2898 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2900 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2901 implemented stateset support
2903 * idl/Accessibility_State.idl: Made necessary changes to
2904 the IDL to support state sets.
2906 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2908 * registryd/deviceeventcontroller.c:
2909 Added implementation for generateMouseEvent.
2911 * cspi/spi_registry.c:
2912 Connected new implementation for generateMouseEvent
2915 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2918 Incremented revision (but no change in public API
2919 outside of 'utils', which are not installed public yet.)
2921 * libspi/component.c:
2922 Changed to use atk_component API for layers and
2923 mdi_zorder, instead of deprecated atk_object API.
2925 Magnification Utility Enhancements:
2928 Added implementation of createZoomRegion, clearAllZoomRegions,
2929 resizeZoomRegion. Added new commandline argument
2930 "--no-initial-region". Note that clearAllZoomRegions doesn't
2931 unmap the old '0' region as it should (yet), and the other
2932 methods only work when creating/resizing a single region,
2933 which is "region 0".
2934 (Code for multiple region support will be added later.)
2937 Now we raise the magnifier window each time it's refreshed;
2938 this will help keep it on top.
2940 * util/mag_client.h:
2941 Added simple wrappers for above, used by mag_control.
2942 For general use, it's recommended to use the bonobo magnifier
2943 control API directly instead of using these wrappers.
2946 Moved ZoomRegionData from magnifier.c to this file.
2948 * util/mag_control.c:
2949 Added some code to exercise new IDL implementations.
2951 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2953 * libspi/text.c: Provide implementation for getAttributes.
2955 2002-02-04 Bill Haneman <bill.haneman@sun.com>
2958 Incremented revision.
2960 * test/test-simple.c:
2961 Replaced use of deprecated g_main_iteration with
2962 g_main_context_iteration.
2964 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
2967 Incremented revision for desktop alpha 2.
2969 2002-01-28 Mark McLoughlin <mark@skynet.ie>
2971 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2974 * test/simple-at.c: include netinet/in.h.
2976 2002-01-24 Mark McLoughlin <mark@skynet.ie>
2978 * cspi/spi_accessible.c: (Accessible_getRelationSet):
2979 use NULL, not CORBA_OBJECT_NIL.
2981 * libspi/accessible.c:
2982 (impl_accessibility_accessible_get_relation_set):
2983 allocate the sequence correctly.
2985 * libspi/remoteobject.h: kill spi_remote_object_new.
2987 * test/test-simple.c: (validate_accessible): add code
2988 to test relation sets, now all we need is to figure
2989 out how to excercise this code path :/
2991 2002-01-18 Michael Meeks <michael@ximian.com>
2993 * test/test-simple.c
2994 (key_listener_cb): consume the key.
2995 (test_keylisteners): update.
2996 (main): wait for any pending unrefs on events.
2998 * registryd/deviceeventcontroller.c
2999 (spi_controller_update_key_grabs): only re-issue the
3000 grab on a key release.
3001 (spi_device_event_controller_forward_key_event):
3002 refresh the keygrabs before we notify the listeners,
3003 to reduce the X ungrab / re-grab race.
3004 (spi_controller_register_with_devices): remove
3005 XSelectInput - we do that with the gdk_window_ call.
3006 (_spi_controller_device_error_handler): return a value.
3007 s/GDK_DISPLAY/spi_get_display/
3009 2002-01-17 Michael Meeks <michael@ximian.com>
3011 * registryd/deviceeventcontroller.c
3012 (_deregister_keygrab): don't blow out the later
3015 * test/test-simple.c (test_keylisteners): do a
3016 more intelligent validation.
3018 2002-01-14 Michael Meeks <michael@ximian.com>
3020 * atk-bridge/bridge.c
3021 (gnome_accessibility_module_init),
3022 (gnome_accessibility_module_shutdown): impl.
3023 (gtk_module_init): protect vs. double inits.
3024 (add_signal_listener): impl.
3025 (spi_atk_bridge_state_event_listener): kill
3026 (deregister_application): split out of
3027 (spi_atk_bridge_exit_func): here.
3029 2002-01-18 Bill Haneman <bill.haneman@sun.com>
3032 Added caret tracking when using magnifier, and
3033 now use text bounds for focus tracking of text elements, rather than
3034 the component bounds - this is helpful for short text fields in long
3035 table cells, at high magnification.
3037 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3039 * registryd/deviceeventcontroller.c:
3040 Regression fix for keylistener de-registration; global keygrabs
3041 were not being released when deregisterKeystrokeListener was
3042 called in cspi, since
3043 Accessibility_DeviceEventController_deregisterKeystrokeListener
3044 was called with a zero-length keyset. That is because the cspi
3045 method, SPI_deregisterKeystrokeListener, does not take a keyset
3046 parameter but instead should remove all the key grabs held be a
3048 The code in impl_deregister_keystroke_listener was changed to copy
3049 the keylist from the listener instance previously registered with
3050 the DeviceEventController before releasing the grabs.
3052 * registryd/registry.c:
3053 * registryd/deviceeventcontroller.c:
3054 * libspi/spi-private.h:
3056 Changed spelling of "re-enterant" to "re-entrant" globally.
3058 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3060 * test/test-simple.c:
3061 Changed key listeners test - the test was slightly mis-using the
3062 (admittedly poorly documented) SPI_generateKeyboardEvent API.
3063 It now uses '=' as the key event listened to and generated,
3064 relying on a keysym match rather than assuming that keycode 33
3065 is always equal to keysym '!'.
3067 2002-01-15 Bill Haneman <bill.haneman@sun.com>
3070 Changed simple-at to use a specific keyset, rather than
3071 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3072 manager, desktop, etc.
3074 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3076 * registryd/deviceeventcontroller.c:
3077 Replaced standard X error handler with a special handler that
3078 is non-fatal for failed keygrabs. This works around
3079 problems with keygrab clashes sometimes observed on
3081 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
3082 mouse handling code as yet).
3084 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3087 Incremented revision for desktop alpha release.
3090 Fixed a couple of the more glaring errors (still not
3093 2002-01-11 Michael Meeks <michael@ximian.com>
3095 * registryd/deviceeventcontroller.c
3096 (spi_device_event_controller_forward_key_event): kill
3097 XUngrabKey / XKeyGrab race.
3098 (spi_controller_grab_keyboard): rename to
3099 (spi_controller_update_key_grabs): this, and deal
3100 with incremental adding / removing grabs more
3102 (_register_keygrab): ensure we're not pending a remove.
3103 (spi_grab_mask_free): impl.
3104 (spi_controller_register_global_keygrabs): split out
3106 (handle_keygrab): impl.
3107 (_deregister_keygrab): impl.
3108 (spi_controller_deregister_global_keygrabs): impl.
3109 (spi_controller_update_key_grabs): re-issue the grab if
3110 we just recieved a notification.
3112 * test/test-simple.c (key_listener_cb): remove debug.
3114 * registryd/deviceeventcontroller.c
3115 (spi_controller_register_device_listener): after
3116 registering a global keygrab, actualy register it !
3117 don't wait for a timeout; doh !
3119 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3120 to make it more readable / manipulable.
3121 s/grabmask/grab_mask/ s/refcount/ref_count/
3122 s/keyval/key_val/ s/modmask/mod_mask
3124 2002-01-08 Michael Meeks <michael@ximian.com>
3126 * registryd/deviceeventcontroller.c
3127 (spi_controller_register_with_devices): use gdk calls to
3129 (global_filter_fn): implement the filter.
3130 (spi_device_event_controller_check_key_event): rename to
3131 (spi_device_event_controller_forward_key_event): this & upd.
3132 (spi_get_display): replace with GDK_DISPLAY.
3134 * registryd/deviceeventcontroller.c
3135 (spi_controller_deregister_device_listener): unroll into
3136 (impl_deregister_keystroke_listener): here to simplify.
3137 (spi_controller_register_global_keygrabs): split cut and
3138 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3139 (spi_controller_deregister_device_listener): remove.
3140 (impl_register_mouse_listener): remove, no mouse listener
3141 support in at-spi-1.0
3143 * registryd/registry.c
3144 (_device_event_controller_hook): kill.
3145 (spi_registry_init): upd.
3147 * registryd/deviceeventcontroller.c
3148 (spi_device_event_controller_class_init): upd.
3149 (spi_check_key_event): merge into.
3150 (spi_device_event_controller_check_key_event):
3151 here and kill strange static ev init, don't leak
3152 the x_event - nor dynamicaly allocate it.
3154 * registryd/registry-main.c (main): re-direct
3155 timeout to remove strange vtable mess.
3157 * registryd/deviceeventcontroller.c
3158 (remove_listener_cb): impl.
3159 (spi_controller_deregister_device_listener):
3160 fix re-enterancy hazard.
3162 2002-01-07 Michael Meeks <michael@ximian.com>
3164 * registryd/deviceeventcontroller.c
3165 (spi_device_event_controller_new): upd.
3166 (impl_notify_listeners_sync): upd. debug.
3167 (spi_notify_keylisteners): fix re-enterancy hazards,
3168 prettify, remove O(n*n) iteration.
3169 (spi_controller_grab_keyboard): fix iteration.
3170 (spi_check_key_event): re-format to suit coding style.
3171 Clean all the warnings - we're warning free.
3173 * registryd/deviceeventcontroller.h:
3174 * registryd/registry.h: make mutualy referential with
3175 typesafe forward references instead of (!) void pointer
3178 2002-01-11 Michael Meeks <michael@ximian.com>
3180 * cspi/spi_accessible.c (role_names): add a role name
3181 to sync this array with the enum; and make the regression
3184 2002-01-10 Michael Meeks <michael@ximian.com>
3186 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3187 allow expansion of enumeration & kill warning.
3189 * test/test-simple.c (key_listener_cb): impl.
3190 (test_keylisteners): impl.
3192 * cspi/spi-listener.h: make listener signatures const
3193 on the provided (const) events.
3195 * test/keysynth-demo.c: upd. to const events.
3197 * test/simple-at.c: ditto.
3199 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3202 Rev the version to 0.5 (the previous tarball was named 0.4,
3203 even though the micro number was 3), so we need to rev upwards
3204 again for beta2/"desktop-alpha"
3207 Checked in a demo script, which requires editing before use!
3208 Proceed with caution.
3211 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3213 * cspi/spi_accessible.c:
3214 Add a couple of missing enum initializations, and fix some enum
3217 * cspi/spi_registry.c:
3218 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3220 * docs/reference/cspi/at-spi-cspi-sections.txt:
3221 Remove/fix a couple of broken document references.
3224 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3225 as Alt-Control to listen for commands, since on some systems
3226 Control-Alt may already be grabbed.
3228 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3231 Update version number to 0.4 for Beta2.
3233 * libspi/accessible.c, libspi/accessible.h:
3234 Expose spi_accessible_construct, to enable libgail-gnome
3235 construction from spi_accessible subtype.
3237 * utils/magnifier.c:
3238 Workaround for bug in some non-gnome-compliant window managers
3239 which made magnifier resize improperly.
3241 2002-01-09 Bill Haneman <bill.haneman@sun.com>
3243 * libspi/accessible.c: (spi_accessible_new) :
3244 Move the test for SPI_IS_REMOTE_OBJECT to
3245 spi_accessible_new_return, fixing a bug and compile time warning.
3247 2002-01-08 Michael Meeks <michael@ximian.com>
3249 * registryd/registry.c (parse_event_type): remove strndup.
3251 * libspi/Makefile.am (libspi_la_SOURCES): remove
3252 sources already included in the headers section.
3254 * libspi/util.c: add.
3256 * libspi/spi-private.h: add.
3258 * registryd/registry.c: update to moved list iterators.
3260 2002-01-05 Michael Meeks <michael@ximian.com>
3262 * test/simple-at.c (main): upd. auto-module set to atk-bridge
3264 * test/test-simple.c (main): ditto.
3266 2002-01-04 Michael Meeks <michael@ximian.com>
3268 * libspi/accessible.c (spi_accessible_new): remove 2nd,
3269 redundant construct.
3271 * registryd/registry.c
3272 (get_listener_list): impl.
3273 (impl_accessibility_registry_register_global_event_listener):
3274 re-impl. to simplify using ~, remove dodgy const cast off.
3275 (parse_event_type): constify.
3276 (impl_accessibility_registry_deregister_global_event_listener_all):
3277 re-write, more efficiency and simplicity, kill re-enterancy
3279 (compare_listener_corbaref, compare_corba_objects),
3280 (compare_listener_quarks): define out.
3281 (impl_accessibility_registry_deregister_global_event_listener):
3282 re-write for effiency, and nail re-enterancy hazard.
3283 (impl_accessibility_registry_get_desktop_list): impl.
3284 (re_enterant_list_delete_link): impl.
3285 (re_enterant_list_foreach): impl.
3286 (remove_listener_cb): impl.
3287 (_registry_notify_listeners): kill.
3288 (notify_listeners_cb): impl.
3290 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3291 (SPI_getDesktopList): impl.
3293 * test/test-simple.c (test_desktop): test the methods.
3295 2002-01-03 Michael Meeks <michael@ximian.com>
3297 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3298 keystrings since we free them
3299 (SPI_freeAccessibleKeySet): in here.
3301 * libspi/accessible.c (spi_accessible_new): kill warning,
3302 wonder what is going on with the constructor here.
3304 2002-03-01 Bill Haneman <bill.haneman@sun.com>
3306 * libspi/accessible.c (spi_accessible_new ()) :
3307 Added check to see if AtkObject is an SpiRemoteObject before
3308 creating an SpiAccessible.
3310 2002-05-01 Bill Haneman <bill.haneman@sun.com>
3312 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3313 Enable keygrabs using the Control modifier, now that they are
3314 working properly (they were previously disabled).
3317 Change the command keygrab for this demo to "Control+Alt", so as
3318 to conflict with fewer other key commands on the system; this
3319 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3321 Removed a pointlessly-chatty keylistener for unshifted keys
3322 (shifted keys are still reported).
3324 2002-02-01 Bill Haneman <bill.haneman@sun.com>
3326 * libspi/remoteobject.h:
3327 * libspi/remoteobject.c:
3328 Added definitions for special AtkObject subtype, required for
3329 support of remote components (specifically, used by BonoboControl
3330 accessibility implementation).
3332 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
3334 * cspi/spi.h: synched relation types with ATK
3336 * cspi/spi_accessible.c: Added implementations of
3337 AcccessibleRelation_* methods
3339 * idl/Accessibility_Relation.idl: added getRelationTypeName
3340 method. Synched known relation types with ATK. Allowed for
3341 relation type extension with the RELATION_EXTENDED type.
3343 * libspi/relation.c: Provided implementations for
3344 AccessibleRelation methods.
3346 2002-01-01 Bill Haneman <bill.haneman@sun.com>
3348 API tweaks for today's API 'freeze'.
3351 Added placeholder functions to allow future compatible expansion
3352 of the IDL interfaces.
3354 * idl/Accessibility_Registry.idl:
3355 Changed generateKeyEvent to generateKeyboardEvent. Changed
3356 signature of this method to accept an optional keystring in
3357 parameter (for complex text input synthesis) and changed use of
3358 simple 'boolean' parameter in registerKeystrokeListener to a
3359 struct, EventListenerMode.
3361 * cspi/spi_accessible.c:
3363 * cspi/spi_streamablecontent.c:
3364 Added references to AccessibleStreamableContent interface, and
3365 definition and implementation of AccessibleStreamableContent
3368 * cspi/spi_registry.c:
3370 Changed generateKeyEvent API to generateKeyboardEvent,
3371 taking a new (optional) keystring parameter to support complex
3376 Renamed directory (to better reflect its actual purpose, bridging
3377 from at-spi to ATK). The .so module is also now named
3380 * idl/Accessibility_Hypertext.idl:
3381 * libspi/accessible.c:
3382 * libspi/hypertext.h:
3383 * libspi/hypertext.c:
3384 Changed Accessibility_Hypertext to *not* derive from
3387 * cspi/spi_registry.c:
3388 Added list of legal event type names for 'window' events, which
3389 completes the registry event API.
3391 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
3393 * at-bridge/bridge.c: Added registration for separate
3394 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3395 signals. If either of the first two parameters to the generic
3396 bridge signal handler are ints, they are passed on as event
3397 details. This allows an AT to determine what text was inserted.
3399 2001-12-21 Bill Haneman <bill.haneman@sun.com>
3401 * registryd/deviceeventcontroller.c:
3402 Fixed regressions in generateKeyEvent caused by the removal of
3403 gdk_init from registryd; we now use pure X calls to connect to the
3404 display, which makes sense because deviceeventcontroller already
3405 uses a fair bit of X API (should eventually be migrated to a
3406 'portability layer').
3408 * registryd/desktop.c:
3409 Fixed minor regression in spi_desktop_init, changed the way the
3410 desktop name is being set to work with new spi_base API
3411 (gobject-based, rather than AtkObject-based).
3413 * registryd/Makefile.am:
3414 Minor revision of makefile to use XTST_LIBS variable rather than
3415 hard-wiring the Xtst LD_ADD element.
3417 * test/keysynth-demo.c:
3418 Tweaked an output message; added initialization of the
3419 'keystrings' member of the "switch listener" key_set.
3421 * libspi/relation.c:
3422 Squashed compile-time warning.
3424 * libspi/accessible.c:
3425 Cosmetic and formatting fixes, renamed a static method.
3427 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3429 * libspi/accessible.c
3431 * libspi/application.c
3434 * libspi/component.c
3435 * libspi/editabletext.c
3436 * libspi/hyperlink.c
3437 * libspi/hypertext.c
3439 * libspi/selection.c
3443 * registryd/desktop.c:
3444 Changed SpiBase to contain a GObject pointer rather than an AtkObject
3446 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3448 * idl/Accessibility_Registry.idl:
3449 Added boolean member 'is_text' to DeviceEvent. This is for the
3450 use of key events, and helps prevent ambiguity between composed
3451 key strings and keysym names, since both may potentially be
3452 returned in the 'event_string' member.
3454 * at-bridge/bridge.c:
3455 * registryd/deviceeventcontroller.c:
3456 Use the 'is_text' member when notifying device event listeners.
3457 Knon issue: composed characters are not dealt with correctly by
3458 the global key listener implementation yet.
3460 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3462 * at-bridge/bridge.c:
3463 Namespaced local static methods to spi_atk_bridge_* where
3464 previously named bridge_*, and spi_* elsewhere.
3466 * at-bridge/bridge.c:
3467 * cspi/bonobo/cspi-bonobo-listener.c:
3468 Added demarshalling/conversion for string member of
3469 Accessibility_DeviceEvent to AccessibleKeystroke.
3471 * registryd/deviceeventcontroller.c:
3472 Added code to fill the Accessibility_DeviceEvent key string value
3473 member for global key events (i.e. from XGrabKey), to match
3474 behavior of Accessibility_DeviceEvent from the toolkit key events
3475 from the bridge. Fixed timestamp in global key event notifications.
3478 Added printout of key event's string value to
3479 report_ordinary_key_event, for demo/debugging purposes.
3481 2001-12-15 Bill Haneman <bill.haneman@sun.com>
3483 * idl/Accessibility_Registry.idl:
3484 Removed Accessibility_KeyStroke structure in favor of generic
3485 Accessibility_DeviceEvent structure.
3486 Changed Accessibility_ControllerEventMask from a struct to an
3489 * at-bridge/bridge.c:
3490 Changed APIs to use DeviceEvent structure as above, and removed
3491 bogus casting between these event structures.
3493 * cspi/spi-listener.h:
3494 Added keystring member of AccessibleKeystroke structure, to enable
3495 matching on event "names" rather than only hardware codes and
3499 Added keystrings member of AccessibleKeySet struct, to allow
3500 matching on event names (as above).
3501 Added declarations for SPI_createAccessibleKeySet and
3502 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
3503 event modmasks directly as unsigned ints rather than structs with
3504 refcounts, in the DeviceEventController methods.
3506 * cspi/spi_registry.c:
3507 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3509 * cspi/spi-roletypes.h:
3510 Added documentation of newly added SPI Roles.
3512 * cspi/bonobo/cspi-bonobo-listener.c:
3513 Changes in support of API changes above.
3515 * libspi/accessible.c:
3516 Converted APIs to use DeviceEvent structure (see IDL changes
3519 * registryd/deviceeventcontroller.c:
3520 Added DEControllerGrabMask structure to track keygrabs not only by
3521 modmask but by keyset as well; this allows us to do "global"
3522 (i.e. X) keygrabs on a per-key or keyset basis rather than always
3523 grabbing on AnyKey and then filtering after-the-fact.
3524 Bugfixes for event filtration mean that we don't get false matches
3525 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3527 * registryd/deviceeventcontroller.c:
3528 Namespaced a number of static methods to use spi_ prefix. Major
3529 revision to internals of global (i.e. X) key grabs.
3531 * registryd/deviceeventcontroller.h:
3532 Removed keymask_list and added keygrabs_list to
3533 SpiDeviceEventController struct.
3536 Added use of SPI_createAccessibleKeySet API when creating a
3537 listener for only one key. Attach a listener to "shift spacebar
3538 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
3539 X key event names to SPI key event names, so that listeners are
3540 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3542 * test/keysynth-demo.c:
3543 Changed (incorrect) use of X key event names (KeyPressed,
3544 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3547 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3549 * libspi/accessible.c:
3550 Convert all AtkRole enumerations to Accessibility_Role enums when
3551 getting a role from an AtkObject.
3553 * cspi/spi_accessible.c:
3554 Complete the conversion of Accessibility_Role enums at runtime to
3555 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3556 role enums correctly match those given in spi-roletypes.h.
3557 Re-synchronize the local names list for AccessibleRole_getName ().
3558 AccessibleRole_getName is now deprecated, since it duplicates the
3559 more reliable Accessible_getRoleName.
3560 Added some role types from Accessibility_Role.idl.
3562 * idl/Accessibility_Role.idl:
3563 Added some role types used by AtkRole.
3565 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3568 * cspi/spi_registry.c:
3570 * cspi/cspi-bonobo-listener.c:
3571 Namespaced all methods that did not begin with an "SPI_" or
3572 "Accessible" prefix to "SPI_".
3575 Homogenized internal function namespace to "cspi_" for statics.
3578 Patched tests to use the new CSPI API.
3580 * docs/reference/cspi/at-spi-cspi-sections.txt:
3581 Updated docs to reflect namespace changes, and added a number of
3582 methods to the documentation.
3584 * registryd/registry.c:
3585 Changed use of strings and string hashes in listener event
3586 matching and parse_event_string to use GQuark, which is guaranteed
3589 * registryd/registry.h:
3590 Squashed annoying warning.
3592 * idl/Accessibility_Role.idl:
3593 Extended range of available Accessibility_Role values.
3595 * cspi/spi_accessible.c:
3596 Re-ordered role names.
3598 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3600 * idl/Accessibility_Value.idl:
3601 Revert use of union back to CORBA_double, since the double type is
3602 more efficient and can contain the other types without loss of
3605 * idl/Accessibility_Accessible.idl:
3606 Added method Accessibility:Accessible:getRoleName, to complement
3607 Accessibility:Accessible:getRole.
3609 * cspi/spi_accessible.c:
3611 Added C binding for above, Accessible_getRoleName (), and changed
3612 signature of Accessible_getRole () to return an AccessibleRole.
3614 * cspi/spi-roletypes.h:
3615 Changed AccessibleRole_getName to return a char * instead of a
3616 const char *. This method is now at least temporarily deprecated
3617 in favor of asking Accessibles for their RoleNames directly.
3620 Revert to match Accessibility_Value.idl;
3624 Change signature of AccessibleValue methods to use double rather
3628 * cspi/spi_accessible.c:
3629 Changed Accessible_getRole to return an AccessibleRole enum rather
3630 than a UTF-8 string. The UTF-8 string can still be obtained via
3631 AccessibleRole_getName ().
3633 * test/test-simple.c:
3634 Add test_action. Small fixup to match API change to Accessible_getRole.
3637 Bugfix for get_action_from_servant ().
3639 2001-12-11 Michael Meeks <michael@ximian.com>
3641 * libspi/libspi.h: remove registry.h and
3642 desktop.h, deviceeventcontroller.h
3644 * libspi/Makefile.am: remove registry.[ch],
3645 desktop.[ch], deviceeventcontroller.[ch]
3647 * registryd/Makefile.am: add registry.[ch],
3648 desktop.[ch], rename registryd.c to registry-main.c.
3649 add deviceeventcontroller.[ch]
3651 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3654 Replace setenv() call with putenv ().
3656 * libspi/component.c:
3657 Bugfix in AccessibleComponent_getExtents (),
3660 2001-12-11 Michael Meeks <michael@ximian.com>
3662 * libspi/image.c (impl_getImageExtents): impl.
3663 (spi_image_class_init): upd.
3666 (AccessibleImage_getImageDescription): fix daft bug
3669 * test/test-simple.c (global_listener_cb): update
3670 to only quit if not --poke
3671 (main): catch --poke.
3672 (validate_accessible): upd. dumping, call test_image
3675 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3678 * idl/Accessibility.idl: update all IDL includes.
3680 * idl/*.idl - rename to namespace - this sucks, blame
3681 mjs' bad decision for oafd.
3683 * test/test-simple.c (create_test_window): add more tests.
3684 (create_tree): split this out.
3685 (validate_accessible): bugfix.
3687 2001-12-11 Michael Meeks <michael@ximian.com>
3689 * cspi/bonobo/cspi-bonobo-listener.c:
3690 (cspi_kestroke_listener_unref),
3691 (cspi_event_listener_unref): impl. undoing previous
3692 homenous environment - for Bill.
3694 * cspi/spi_table.c (long_seq_to_array): use
3697 * cspi/spi_main.c: split out all bonoboish bits into
3700 * cspi/spi-impl.h: upd. typedefs.
3702 * cspi/spi_registry.c: update to lowlevel API,
3703 return booleans to indicate success in some places.
3705 * cspi/spi_event.c: update to lowlevel API.
3707 * cspi/bonobo/Makefile.am: add.
3709 * cspi/bonobo/cspi-lowlevel.h: add
3711 * cspi/bonobo/cspi-bonobo.c: add
3713 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
3715 * cspi/Makefile.am: remove spi-listener-impl.[ch],
3716 (SUBDIRS): add bonobo, link in the libs.
3718 * cspi/spi-util.c: kill this file.
3720 * TODO: merge in my bits.
3722 2001-12-11 Michael Meeks <michael@ximian.com>
3724 * test/test-simple.c (test_value, test_table, main):
3725 remove unused variables causing warnings.
3727 * configure.in: cleanup checks - require gail.
3729 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3732 Changed Value interface to use SValue (scalars) rather than
3733 assuming all values are floats. This allows floats, doubles,
3734 longs, shorts, and unsigned values to be manipulated.
3735 Introduced Accessibility:SValue union.
3738 Updated to use new API above, and to work correctly with GValues
3739 of different types in AtkValue.
3742 Updated to use new API above. cspi's API is as yet unchanged.
3745 Updated the Value revision action item.
3747 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3749 * test/test-simple.c:
3750 Added test_table (GtkTreeView widget in test window to follow).
3751 Un-commented test_value, added GtkRange widget.
3752 Added GtkTreeView widget with GtkListStore. It passes regression
3753 test but leaks one SPI object for some reason.
3756 Fixed bug in impl__set_currentValue.
3758 2001-12-10 Michael Meeks <michael@ximian.com>
3760 * cspi/spi_text.c: audit for exception handling,
3761 tolerating NULL object references safely etc.
3763 * cspi/spi_value.c: ditto.
3765 * cspi/spi_table.c (AccessibleTable_getSummary),
3766 (AccessibleTable_getAccessibleAt),
3767 (AccessibleTable_getRowHeader),
3768 (AccessibleTable_getColumnHeader),
3769 (AccessibleTable_getCaption): fix bugs hidden by
3771 (long_seq_to_array): impl.
3772 (AccessibleTable_getSelectedRows),
3773 (AccessibleTable_getSelectedColumns): use it.
3775 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3778 Added a TODO list (rough and short for now).
3780 * cspi/spi_hyperlink.c:
3781 * cspi/spi_hypertext.c:
3782 Fixed macro name typos, and remove use of obsolete macro in
3783 AccessibleHyperlink_getLink.
3785 * cspi/spi_action.c:
3786 * cspi/spi_accessible.c:
3787 * cspi/spi_application.c:
3788 * cspi/spi_component.c:
3789 * cspi/spi_selection.c:
3792 Documentation fixes (removed return values from ref/unref methods).
3794 2001-12-10 Michael Meeks <michael@ximian.com>
3796 * cspi/spi_action.c: audit for exception handling,
3797 tolerating NULL object references safely etc.
3799 * cspi/spi_accessible.c: ditto.
3801 * cspi/spi_component.c: ditto.
3803 * cspi/spi_editabletext.c: ditto.
3805 * cspi/spi_hyperlink.c: ditto.
3807 * cspi/spi_hypertext.c: ditto.
3809 * cspi/spi_image.c: ditto.
3811 * cspi/spi_selection.c: ditto.
3813 2001-12-10 Michael Meeks <michael@ximian.com>
3815 * configure.in: use cspi/libspi.pc.in instead.
3817 * Makefile.am (pkgconfig_DATA): upd. to match.
3819 * test/simple-at.c (report_focus_event): kill hacks around
3820 bad return values, use putenv not setenv
3822 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3823 fire ChildGone - I killed it.
3825 * libspi/component.c
3826 (impl_accessibility_component_get_extents): remove
3829 * idl/Accessible.idl: kill ChildGone exception.
3831 * cspi/*.[ch]: kill int return from ref / unref.
3833 * cspi/spi_main.c (cspi_object_add_check): fold into
3834 (cspi_object_add): here.
3836 * cspi/spi_component.c (AccessibleComponent_getExtents):
3837 handle exceptions elegantly.
3839 * cspi/spi-private.h (cspi_check_ev_return),
3840 (cspi_return_if_fail): impl.
3842 * cspi/spi_accessible.c: use extensively.
3843 (AccessibleStateSet_equals): add direct compare check.
3845 * cspi/spi_selection.c: tolerate NULL objs, and check
3846 exceptions before return.
3848 * cspi/spi-util.c (cspi_warn_ev): rename to
3849 (cspi_check_ev): this & don't pass ev in; no point.
3851 2001-12-10 Michael Meeks <michael@ximian.com>
3853 * test/test-simple.c: use putenv not setenv
3854 (get_environment_vars): more chatty if you're not using
3857 * test/simple-at.c: do the setenv so more people see the
3860 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3862 * libspi/registry.c:
3863 Changed check of CORBA_environment on notification to be a warning
3864 instead of an error for the moment, since we can recover from this
3865 error when caused by a queued notification from a dead app.
3868 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3869 used by all current implementors of AtkValue), and coerce to
3870 CORBA_float. (Proper general case fix may require change to Value.idl).
3872 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3876 * cspi/spi_accessible.c:
3877 Documentation fixes: added user_data params to documentation for
3878 listeners and callbacks.
3880 * cspi/spi_accessible.c:
3881 Changed AccessibleStateSet_compare to return a
3882 StateSet rather than return the difference set into a third parameter.
3885 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3888 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3889 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3893 Remove subdirectory po from SUBDIRS for now.
3895 * at-bridge/bridge.c:
3896 Beefed up a couple of debug printouts.
3897 One-line fix for signal notification name formatting.
3899 * libspi/accessible.c:
3900 Added assertion to spi_accessible_new ().
3902 * libspi/application.c:
3903 Put #ifdef qualifiers around a printf.
3906 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3908 * registryd/Makefile.am:
3910 Replaces use of XML_I18N_MERGE_SERVER_RULE with
3911 INTLTOOL_SERVER_RULE macro.
3914 Added an event listener for several ATK signals, for
3915 testing and debugging. Removed a few g_warnings.
3916 Added test output if focussed item implements the Value interface.
3918 * test/test-simple.c:
3919 Added test_value () function (known not to pass at the moment, so
3920 not actually called yet.
3922 2001-12-08 Michael Meeks <michael@ximian.com>
3924 * at-bridge/bridge.c (bridge_focus_tracker),
3925 (emit_eventv): fix the same ref. leak.
3926 (register_atk_event_listeners): don't leak.
3928 * cspi/spi-listener-impl.c (cspi_event): more
3929 protection from client code.
3931 * test/test-simple.c (test_desktop): unref the app.
3933 * test/Makefile.am: upd. TESTS.
3935 * at-bridge/bridge.c (bridge_exit_func): release the registry.
3937 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3939 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3941 * cspi/spi_registry.c: constify in strings.
3942 (deregisterGlobalEventListenerAll): don't release the ref.
3944 * cspi/spi.h: start removing redundant / conflicting
3945 gtkdoc comments, making the API readable at a glance :-)
3947 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3949 * test/keysynth-demo.c (keysynth_exit, main): upd.
3951 * test/simple-at.c (main, simple_at_exit): upd.
3953 * test/test-simple.c (unutterable_horror): kill.
3954 (utterable_normal_derefs): kill.
3955 (main): upd & do a setenv before gtk_init, so that we
3956 can use memprof - and to save the pain of remembering
3957 this, if we're running under memprof - don't exit.
3959 * cspi/spi_main.c (SPI_exit): return exit status
3961 (SPI_event_quit): impl.
3962 (SPI_event_main): simplify.
3963 (cspi_is_gnome_app): kill.
3964 (SPI_init): kill isGNOMEapp arg.
3966 * at-bridge/bridge.c (register_atk_event_listeners):
3967 re-instate the unref.
3968 (bridge_exit_func): don't re-activate the registry,
3969 protect vs. theoretical re-entry, use the
3970 AT_BRIDGE_SHUTDOWN env. var to determine whether to
3971 assert a clean shutdown - for regression tests.
3973 2001-12-08 Abel Cheung <maddog@linux.org.hk>
3975 * configure.in: Comment out dummy i18n support for now,
3976 otherwise it fails to build.
3977 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3978 EXTRA_DIST. They are missing in tarball.
3980 2001-12-07 Michael Meeks <michael@ximian.com>
3982 * util/magnifier.c: kill bonobo activation reg. race.
3984 * libspi/component.c
3985 (impl_accessibility_component_get_extents): make it match
3988 * libspi/registry.c (_registry_notify_listeners):
3989 re-remove X headers & reconcile conflicts.
3990 (spi_listener_struct_free): bad conflict resolve.
3991 (impl_accessibility_registry_register_application):
3992 more bad merging fixed.
3993 (impl_accessibility_registry_deregister_application): ditto.
3994 (spi_registry_new): ditto.
3995 (spi_registry_init): don't have an applications field.
3997 [ merge fixups2 branch to here ]
3998 2001-12-07 Michael Meeks <michael@ximian.com>
4000 * test/simple-at.c (report_focus_event),
4001 (report_focussed_accessible): remove g_warning debug.
4003 2001-12-07 Michael Meeks <michael@ximian.com>
4005 * test/test-simple.c (validate_tree): comment out some checks.
4006 (test_desktop): app now not registered idly - horay.
4008 2001-12-07 Michael Meeks <michael@ximian.com>
4010 * cspi/spi_registry.c
4011 (registerAccessibleKeystrokeListener): clean, stop it leaking
4012 great swathes of memory, and device event controller references.
4013 ensure we always pass valid sequences.
4014 (deregisterAccessibleKeystrokeListener): ditto.
4015 (generateKeyEvent): upd.
4017 * at-bridge/bridge.c (bridge_key_listener): handle
4018 registry dead exception gracefully.
4019 (bridge_focus_tracker, emit_eventv): free ev.
4021 * test/simple-at.c (report_focus_event): fix polarity.
4023 * libspi/application.c (notify_listeners): kill the ev
4024 argument, and make sure we init the ev we use.
4025 (spi_application_object_event_listener): split out a chunk
4026 (get_atk_object_ref): here & fixup.
4027 (reverse_lookup_name_for_toolkit_event): make const.
4028 (spi_application_toolkit_event_listener): fixup, kill leaks
4031 * at-bridge/bridge.c (register_atk_event_listeners):
4032 don't unref the noop object - causes grief.
4034 * libspi/registry.c: remove the X headers.
4035 turn off the debug churn.
4037 * libspi/accessible.c (spi_accessible_new_return): only
4038 release the ref if we are supposed to [doh]
4040 * test/simple-at.c (report_button_press, report_focus_event):
4041 guard vs. unexpected exit.
4043 * at-bridge/bridge.c (gtk_module_init): prune printf.
4044 (bridge_exit_func): fix app unref.
4046 * libspi/Makefile.am: don't install registry or desktop.h
4048 * libspi/*.h: update includes.
4050 * libspi/application.h: don't include ourself, or
4051 other redundant headers.
4053 2001-12-06 Michael Meeks <michael@ximian.com>
4055 * libspi/accessible.c
4056 (get_accessible_from_servant): impl.
4057 Upd. all CORBA impl.s to use it killing cut and paste.
4059 * cspi/spi_main.c (cspi_cleanup): guard vs. double
4061 (SPI_init): register atexit cleanup handler here.
4063 2001-12-06 Michael Meeks <michael@ximian.com>
4065 * at-bridge/bridge.c (gtk_module_init): g_error on
4066 activation exception
4068 2001-12-06 Michael Meeks <michael@ximian.com>
4070 * at-bridge/bridge.c (gtk_module_init): some sort of
4071 confusing merge clash - reverted.
4072 (bridge_idle_init): ditto.
4074 * test/test-simple.c (main, utterable_normal_derefs):
4075 merge from Bill - somehow not committed.
4077 2001-12-06 Michael Meeks <michael@ximian.com>
4079 * libspi/value.c (spi_value_class_init): upd.
4080 (spi_value_finalize): kill.
4082 * libspi/table.c (spi_table_finalize): kill.
4083 (spi_table_interface_new): upd.
4084 (spi_table_class_init): upd.
4085 (get_table_from_servant): impl.
4086 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4088 * libspi/selection.c (spi_selection_finalize): kill.
4089 (spi_selection_interface_new): upd.
4090 (spi_selection_class_init): upd.
4091 (get_selection_from_servant): impl.
4092 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4094 * libspi/relation.c (spi_relation_finalize): kill.
4095 (spi_relation_class_init, spi_relation_new): upd
4097 * libspi/image.c (spi_image_finalize): kill.
4098 (spi_image_class_init): upd.
4099 (spi_image_interface_new): upd.
4100 (get_image_from_servant): impl.
4101 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4103 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4104 (spi_hyperlink_finalize): kill.
4105 (spi_hyperlink_new): upd.
4106 (get_hyperlink_from_servant): impl.
4107 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4109 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4110 (spi_hypertext_finalize): kill.
4111 (spi_hypertext_class_init): upd.
4112 (get_hypertext_from_servant): impl.
4113 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4115 * libspi/editabletext.c (spi_editable_text_finalize): kill.
4116 (spi_editable_text_interface_new): upd.
4117 (get_editable_text_from_servant): impl.
4118 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4120 * libspi/text.c (get_text_from_servant): impl.
4121 All impls - update to use it killing more cut and paste,
4122 also fix bad string returns on duff args ( a somewhat
4123 impossible case to handle - but hey ).
4124 (spi_text_construct): impl.
4125 (spi_text_interface_new): upd.
4126 (spi_text_object_finalize): kill.
4128 * libspi/component.c
4129 (accessibility_component_object_finalize): kill.
4130 (spi_component_class_init): upd.
4131 (get_component_from_servant): impl. helper to kill cut & paste.
4132 (impl_accessibility_component_contains):
4133 (impl_accessibility_component_get_accessible_at_point):
4134 (impl_accessibility_component_get_position):
4135 (impl_accessibility_component_get_extents):
4136 (impl_accessibility_component_get_mdi_z_order):
4137 (impl_accessibility_component_get_layer):
4138 (spi_component_interface_new): upd.
4140 * libspi/action.c (spi_action_finalize): kill.
4141 (spi_action_class_init): upd. inherit from SpiObject.
4142 (spi_action_interface_new): upd.
4143 (get_action_from_servant): impl. helper to reduce cut & paste.
4144 (impl_getKeyBinding, impl_getName, impl_doAction),
4145 (impl_getDescription): Use it everywhere.
4147 * cspi/spi_main.c (get_live_refs): a pointer hash.
4148 (spi_object_hash, spi_object_equal): comment out.
4149 There are issues with CORBA object hashing that need
4152 * libspi/application.c (spi_application_init),
4153 (spi_application_new): upd.
4155 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4156 (spi_accessible_class_init): upd.
4157 s/accessible/object/ in epv methods.
4159 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4161 * at-bridge/bridge.c:
4162 Reorder the bridge initialization into the bridge gtk_module_init,
4163 an immediate call to bridge_register_app, and an idle_add for
4164 register_atk_event_listeners (the only code that *must* wait until
4165 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4166 the activation, creates the application's Accessible object, and
4167 queues the bridge_idle_init function. Restored call to
4168 Accessibility_Registry_deregisterApplication().
4169 Prior to making this call we obtain a new reference to the
4170 registry, which is a temporary hack that helps us handle apps that
4171 shut down the bonobo mainloop before we get there.
4173 * libspi/registry.c:
4174 Fix string leakage in debug block, and don't segv if a an app
4175 dies before its event notifications have been propagated.
4178 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4179 as stopgap measure until we get proper exception handling when
4180 objects die during or before interrogation.
4184 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4185 Also changed default value of is_gnome_app to TRUE.
4188 * test/keysynth-demo.c:
4189 Changed use of SPI_init and SPI_event_main to reflect API change above.
4192 Made report_focus_event check the warning value from getName
4193 before reporting on focussed accessible; simplifies handling of
4194 notifications from dead objects.
4196 * test/test-simple.c: (Changes not in this patch since source is
4199 2001-12-05 Michael Meeks <michael@ximian.com>
4201 * registryd/registryd.c (main): protect against
4202 bonobo-activation startup race condition.
4204 * cspi/spi_main.c (cspi_object_add_check): cope
4205 with the exception elegantly.
4207 * idl/Accessible.idl: decl. ChildGone
4209 * libspi/desktop.c (spi_desktop_dispose): impl.
4210 (spi_desktop_class_init): upd.
4211 (spi_desktop_add_application),
4212 (spi_desktop_remove_application),
4213 (abnormal_application_termination): impl.
4214 (impl_desktop_get_child_at_index): re-impl.
4217 (impl_accessibility_registry_deregister_application),
4218 (impl_accessibility_registry_register_application):
4219 kill excessive debug clutter.
4221 * test/test-simple.c (test_misc): test some NULL
4222 tolerance. (main): upd.
4224 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4225 implements no interfaces - so let's not crash.
4227 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4229 * libspi/accessible.c (spi_accessible_new_return): impl.
4230 helper to calm the cut and paste, to cope with
4231 NULL AtkObjects effectively and efficiently, and to kill
4232 the referencing bugs.
4234 * libspi/table.c (impl_getAccessibleAt),
4235 (impl_getRowHeader, impl_getColumnHeader): upd.
4237 * libspi/hyperlink.c (impl_getObject): upd.
4239 * libspi/accessible.c
4240 (impl_accessibility_accessible_get_child_at_index): upd.
4242 * libspi/component.c
4243 (impl_accessibility_component_get_accessible_at_point): upd.
4245 * test/test-simple.c (test_editable_text, test_text): impl.
4248 * cspi/spi_editabletext.c
4249 (AccessibleEditableText_insertText): constify.
4251 * test/test-simple.c (focus_me): make more robust.
4253 * libspi/accessible.c: remove some printfs in methods that
4254 we test and work fine, so we can get a clean tree dump.
4256 * test/test-simple.c (validate_accessible),
4257 (validate_tree): make tree dumping pretty too.
4259 * at-bridge/bridge.c (bridge_signal_listener): upd. so
4260 it builds without debug on.
4262 * test/test-simple.c (validate_accessible): fix the most
4265 * cspi/spi_main.c (spi_object_release): leave the nicely
4266 blanked memory around if in debug mode.
4268 * cspi/spi-listener-impl.c (cspi_event): use add_check.
4270 [committed to fixups2]
4271 2001-12-05 Michael Meeks <michael@ximian.com>
4273 * libspi/editabletext.c
4274 (spi_editable_text_class_init): g_type_class_peek_parent,
4275 not interface peek - so we finalize cleanly.
4277 * libspi/accessible.c (spi_accessible_new): kill debug.
4279 * test/test-simple.c (validate_accessible): fix ref.
4280 leak, print strings before freeing them; sigh, comment a
4281 chunk out due to strangeness.
4282 (validate_tree): unref the child after use.
4284 * cspi/spi_component.c (AccessibleComponent_getLayer):
4285 add missing break statement, switch on zlayer not the
4286 uninitialized retval.
4288 * cspi/spi_main.c (cspi_object_add): add assert, local ref
4289 before (possibly re-entering) remote unref.
4291 * test/simple-at.c (main): unref the desktop.
4293 * cspi/spi_accessible.c (cspi_accessible_is_a): move
4296 * cspi/spi_main.c (cspi_accessible_is_a): here to
4297 isolate bonobo API usage more.
4299 * libspi/registry.c (impl_accessibility_registry_register_application):
4300 prune bogus comment.
4302 2001-12-04 Michael Meeks <michael@ximian.com>
4304 * test/test-simple.c (validate_tree): upd.
4305 IndexInParent check to make it more lucid.
4306 (validate_accessible): dump the tree.
4308 * libspi/accessible.c (de_register_public_ref),
4309 (get_public_refs): impl.
4310 (spi_accessible_new): make more efficient & intuitive.
4311 Now IndexInParent check works.
4313 2001-12-04 Michael Meeks <michael@ximian.com>
4315 * cspi/spi-util.h: remove.
4317 * cspi/spi.h: move SPI_freeString here
4319 * libspi/component.c (impl_accessibility_component_get_layer):
4321 (impl_accessibility_component_get_mdi_z_order): ditto,
4322 return -1 on error - is this ok ?
4324 * test/test-simple.c (test_application): impl.
4326 * cspi/spi_accessible.c (Accessible_getApplication),
4327 (Accessible_isApplication): impl.
4329 * libspi/registry.c (spi_listener_struct_free): release
4330 the CORBA reference too.
4332 * libspi/accessible.c
4333 (impl_accessibility_accessible_get_parent): fix ref leak.
4335 * libspi/registry.c (spi_registry_new): make the registry
4336 immortal - we don't want it to go away ever.
4338 * libspi/application.c
4339 (spi_accessible_application_finalize): impl. cleanup.
4341 * cspi/spi_registry.c
4342 (deregisterGlobalEventListenerAll),
4343 (deregisterGlobalEventListener),
4344 (deregisterAccessibleKeystrokeListener): fix ref leak.
4346 * cspi/spi_main.c (SPI_init): remove redundant ref.
4348 * test/test-simple.c (unutterable_horror): impl. to force a
4353 (impl_accessibility_registry_deregister_application): release
4354 the application when we de-register it.
4356 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4357 until we have the infastructure to get it right.
4359 2001-12-03 Michael Meeks <michael@ximian.com>
4361 * libspi/Makefile.am: only build eventlistener.[ch]
4363 * libspi/accessible.c
4364 (impl_accessibility_accessible_get_child_at_index): don't leak.
4366 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4367 before we hit the idle handler.
4369 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4370 debugging than exit.
4372 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4374 * libspi/listener.c (impl_notify_event): check source
4375 not NIL before unref.
4377 * libspi/registry.c (impl_registry_notify_event): ditto.
4379 * libspi/eventlistener.c
4380 (impl_accessible_event_notify_event): unref the source.
4382 * libspi/accessibleeventlistener.c
4383 (impl_accessible_event_notify_event): unref the source.
4385 * idl/Event.idl: remove 'hash_id' attribute - of no
4388 * libspi/application.c (notify_listeners): upd list
4390 (spi_application_object_event_listener),
4391 (spi_application_toolkit_event_listener): upd to do correct
4395 (_registry_notify_listeners): update.
4396 (parse_event_type): this method also leaks like a sieve.
4397 (impl_accessibility_registry_deregister_global_event_listener):
4398 fix ETYPE_WINDOW case.
4400 * libspi/application.c
4401 (impl_accessibility_application_register_object_event_listener):
4404 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4406 * libspi/hypertext.c (impl_getLink): ditto.
4408 * cspi/spi_main.c (cspi_object_add): remove
4409 bogus CORBA_Object_duplicate.
4411 * cspi/spi-listener-impl.c (cspi_event): dup/ref
4414 * cspi/spi_accessible.c
4415 (Accessible_getRelationSet): fix leak / referencing issue.
4417 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4418 (cspi_object_add, cspi_object_unref): upd.
4419 (spi_object_release, get_live_refs): impl.
4420 (cspi_cleanup): simplify.
4422 * *.[ch]: s/boolean/SpiBoolean/
4424 * cspi/spi_accessible.c (role_names): actualy order so it
4425 corresponds with the enum !
4427 * test/test-simple.c (test_roles): check some role strings
4428 vs. enums to detect offset errors.
4430 2001-12-01 Michael Meeks <michael@ximian.com>
4432 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4434 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4436 (Accessible_getChildAtIndex): use cspi_add_check so we
4437 check the ev before using a (possibly) invalid value.
4439 * libspi/accessible.c
4440 (impl_accessibility_accessible_get_parent): don't segv
4443 * at-bridge/bridge.c (gtk_module_init): upd.
4444 (bridge_property_event_listener): don't leak strings
4446 (bridge_state_event_listener),
4447 (bridge_property_event_listener): don't use a static
4448 buffer in case of recursive event emission &
4449 re-enterancy - split out the swathe of cut and paste
4451 (emit_eventv): and fix 2 ref leaks here & comply to the
4453 (bridge_register_app): rename to
4454 (bridge_idle_init): this and kill arg parsing, split
4455 various inits & bonobo-activation registration to module
4456 init time, kill referencing error.
4457 (bridge_exit_func): fix the same leak.
4458 (bridge_focus_tracker): don't leak event structures
4460 (bridge_signal_listener): more leakage and cut & paste
4462 (bridge_key_listener): return the result - FIXME is
4463 this polarity correct ?
4464 (accessibility_keystroke_from_atk_key_event): rename
4465 (accessibility_init_keystroke_from_atk_key_event): and stop
4467 (gtk_module_init): return a value - not that it is checked by
4469 (bridge_key_listener): register my horror at casting between
4470 IDL defined structs.
4471 (bridge_get_registry): kill - not used.
4473 * cspi/spi_accessible.c (Accessible_getRole): make return const.
4475 * test/test-simple.c (test_roles): impl.
4476 (test_desktop, validate_accessible, validate_tree): impl.
4478 * cspi/spi_accessible.c (role_names): fixup bogus
4479 MAX_ROLES setup, make constants const for efficient linkage
4480 (AccessibleRole_getName): conform to coding style, make
4483 2001-11-30 Michael Meeks <michael@ximian.com>
4485 * cspi/spi.h: add missing prototype.
4487 * libspi/registry.c (spi_listener_struct_new): fix sig.
4489 * test/Makefile.am: add test-simple
4491 * test/test-simple.c: add
4493 * test/test.sh: add.
4495 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4497 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4498 do it straight - since otherwise we often get an activation race.
4500 [ work before Bill duplicated a chunk of it ... ]
4501 2001-11-30 Michael Meeks <michael@ximian.com>
4503 * libspi/keystrokelistener.c
4504 (spi_keystroke_listener_class_init): fixup arg
4507 * libspi/eventlistener.c
4508 (spi_event_listener_class_init): ditto.
4510 * tests/test.sh: add.
4512 * cspi/spi-listener-impl.h: update macros.
4514 * cspi/spi-listener-impl.c
4515 (cspi_event_listener_remove_callback): add
4516 correct pre-conditions.
4518 * cspi/spi_main.c (SPI_exit): guard vs. double
4519 exits, exit the mainloop nicely.
4520 (SPI_event_main): make more sense.
4521 (SPI_init): move the atexit evilness here so we
4522 always do it (yuck).
4523 (SPI_event_main): upd.
4525 * test/simple-at.c: update for listener changes.
4527 * registryd/registryd.c (main): prune kruft.
4529 * libspi/libspi.h: upd.
4531 * libspi/eventlistener.[ch]: rename broken macros.
4533 * libspi/accessibleeventlistener.[ch]: remove.
4535 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4537 * test/test-simple.c: Add - automated tests.
4539 * cspi/spi-listener-impl.c (cspi_event),
4540 (cspi_key_event): add user_data to invoke.
4541 (cspi_keystroke_listener_finalize): impl.
4542 (cspi_keystroke_listener_class_init): upd.
4545 (createAccessibleEventListener),
4546 (AccessibleEventListener_addCallback),
4547 (createAccessibleKeystrokeListener),
4548 (AccessibleKeystrokeListener_addCallback): upd.
4550 * libspi/deviceeventcontroller.c
4551 (spi_device_event_controller_check_key_event): add public proto.
4554 (impl_accessibility_registry_deregister_global_event_listener):
4555 always init listeners.
4556 (_registry_notify_listeners): yes it is.
4558 * cspi/spi-listener-impl.c (cspi_key_event):
4560 (cspi_event_listener_finalize): impl.
4561 (cspi_event_listener_class_init): hook up.
4562 (event_handler_new, event_handler_free),
4563 (event_list_remove_by_callback): impl.
4564 (cspi_event_listener_remove_callback),
4565 (cspi_keystroke_listener_remove_callback),
4566 (cspi_keystroke_listener_add_callback),
4567 (cspi_event_listener_add_callback): upd.
4569 * libspi/keystrokelistener.c
4570 (keystroke_listener_object_finalize): kill
4571 (spi_keystroke_listener_class_init): upd.
4572 (spi_keystroke_listener_add_callback),
4573 (spi_keystroke_listener_remove_callback): kill,
4575 (impl_key_event): prune drasticaly.
4577 * libspi/eventlistener.c
4578 (spi_event_listener_add_callback),
4579 (spi_event_listener_remove_callback): kill, use
4581 (impl_accessible_event_notify_event): upd.
4582 (spi_event_listener_object_finalize): remove.
4584 * libspi/Makefile.am: use eventlistener.[ch]
4586 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4588 * libspi/registry.c (_registry_notify_listeners):
4589 Changed listener loop iteration to use preferred convention.
4590 Got rid of string memory leaks caused be calling g_strconcat
4591 inside function calls.
4593 * libspi/registry.c (parse_event_type):
4594 Stopped g_strconcat memory leaks, free the g_strsplit return,
4595 g_strdup the split pieces when used, etc.
4597 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4600 Change method 'compare' to return a 'difference set' rather than
4601 taking a StateSet as an out parameter (more Java-friendly).
4603 * idl/Accessible.idl:
4604 Added CORBA struct 'BoundingBox', to faciliate API changes below:
4606 * idl/Component.idl:
4608 Changed methods 'getExtents' and 'getImageExtents' in these
4609 interfaces to return a BoundingBox structure.
4610 (getPosition and getSize are redundant and possibly should be
4611 removed, rather than creating a corresponding Point struct.)
4613 * cspi/spi_component.c:
4614 Modify implementation of getExtents to reflect the above IDL
4619 Add (missing) AccessibleImage_getExtents () API.
4621 * docs/reference/cspi/at-spi-cspi-sections.txt:
4622 Added AccessibleImage_getImageExtents () to docs.
4624 2001-12-03 Bill Haneman <bill.haneman@sun.com>
4626 * idl/Component.idl:
4627 Added two methods, getLayer () and getMDIZOrder (), to reflect
4628 the new ATK methods atk_object_get_layer and
4629 atk_object_get_mdi_z_order. (Which arguably should be part of the
4630 AtkComponent API and AtkObject). Also added an enum,
4631 ComponentLayer, for the first method's return value.
4633 * libspi/component.c:
4634 Added implementations for these methods.
4636 * cspi/spi_component.c:
4638 Added cspi binding methods for above,
4639 AccessibleComponent_getLayer() and
4640 AccessibleComponent_getMDIZOrder().
4641 Added cspi enum 'AccessibleComponentLayer'.
4643 * docs/reference/cspi/at-spi-cspi-sections.txt:
4644 Added above methods to docs.
4648 Changed typedef for 'boolean' type (and all references to it) to
4649 SPIBoolean, to avoid keyword clashes with C++.
4652 Changed usages of 'boolean' to SPIBoolean.
4654 * test/keysynth-demo.c:
4655 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4656 app), except where SPIBoolean is required by the callbacks API.
4658 2001-12-02 Bill Haneman <bill.haneman@sun.com>
4660 * cspi/spi_registry.c:
4661 Removed obsolete X event loop for passive keygrabs (which now
4664 * registryd/registryd.c:
4665 Removed unnecessary call to gdk_init() [cruft]. This also allows
4666 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4669 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4671 * docs/reference/cspi:
4672 Included docs for SPI_freeString in generated documentation.
4675 Renamed spi_freeString to SPI_freeString, for consistency. Added
4676 documentation for this function.
4679 Renamed spi_freeString to SPI_freeString, for consistency.
4680 Removed obsolete method declaration string_from_corba_string.
4682 * test/keysynth-demo.c:
4683 Small tweak to comments.
4686 Stopped leaking the strings returned from CSPI.
4688 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4690 Merged Michael's branch (see his ChangeLog entries below).
4692 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4693 bridge is alive, release on exit.
4695 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4696 Fix type check macro.
4699 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
4702 Added is_gnome_app static, and method cspi_is_gnome_app(),
4703 so we can call the appropriate shutdown routine at exit in SPI_exit.
4705 * cspi/spi_main.c (cspi_object_ref):
4706 Duplicate the corba object passed in, since we're keeping it around.
4708 * cspi/SPI_exit.c, cspi_cleanup:
4709 Moved the releasing of the live refs to its own function, so we
4710 can put it in g_atexit (). Call the appropriate shutdown API
4711 depending on whethe calling client is a gnome app or not
4712 (bonobo_main_quit or CORBA_ORB_shutdown).
4714 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
4715 Unref the listener when this method is called, after
4716 deregistration. Updated the API docs to note this behavior.
4718 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
4719 Bugfixes: Ref the bonobo object when returning a parent or child
4720 reference, or an AccessibleRelation. Generally made sure
4721 BonoboObject refcount is incremented whenever we return an
4724 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
4725 Fixed typo/bug in signal declaration.
4727 * libspi/accessibleeventlistener.h:
4730 * libspi/application.c (spi_application_new):
4731 Fixed leak in initialization.
4734 Remembered to increment bonobo-object refcount when returning
4735 children (applications) from desktop object.
4736 Added (empty) finalize method.
4738 * libspi/deviceeventcontroller.c:
4739 Hold a ref to listeners inside DEControllerKeyListeners.
4740 Added dec_key_listener_free() method. Use prepend instead of
4741 append in key_listener list. Fixed some refcount madness and
4742 leaks in the listener registration/deregistration - deregistration
4743 now calls dec_key_listener_free() on listeners, and on the
4744 temporarily constructed dec_key_listener() used to perform the search/match.
4746 * libspi/hypertext.c (spi_hypertest_finalize):
4747 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
4748 class. Also fixed spi_hypertext_interface_new() and
4749 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
4751 * libspi/hypertext.h:
4752 Removed pointless and duplicate AtkObject pointer from
4755 * libspi/keystrokelistener.c:
4756 Fixed incorrect type of keystroke_listener_parent_class,
4757 renamed keystroke_listener_object_finalize to
4758 spi_keystroke_listener_object_finalize.
4759 Fixed typo in signal declaration
4760 (spi_keystroke_listener_class_init).
4762 * libspi/registry.c:
4763 Added funcsions spi_listener_struct_new() and
4764 spi_listener_struct_free() to help with memory management issues.
4765 We also now use these methods instead of gnew + poking stuff into
4766 the struct, and to decrement listener counts/free the listeners
4767 when deregistering them.
4768 Fix more refcount bugs in getDesktop() and
4769 getDeviceEventController().
4772 De-ref the desktop after enumerating the applications. Explicitly
4773 decrement the refcounts on the created listeners on exit (using
4774 _unref for keystroke listeners, and via the
4775 deregisterGlobalEventListenerAll command for other event
4778 2001-11-27 Michael Meeks <michael@ximian.com>
4780 * cspi/spi-listener.h: fixup enum.
4782 2001-11-27 Michael Meeks <michael@ximian.com>
4784 * cspi/spi-listener-impl.c (cspi_event_listener_new),
4785 (cspi_keystroke_listener_new): Use the cspi variants.
4787 2001-11-26 Michael Meeks <michael@ximian.com>
4789 * test/keysynth-demo.c: fix 2 compile warnings, missing
4792 * test/simple-at.c (report_focussed_accessible),
4793 (report_focus_event, report_button_press),
4794 (check_property_change, is_command_key),
4795 (report_ordinary_key_event, report_command_key_event): upd.
4797 * util/mag_client.h: include pre-requisites.
4799 * libspi/accessibleeventlistener.c
4800 (spi_event_listener_object_finalize): free any lingering
4803 * libspi/keystrokelistener.c
4804 (keystroke_listener_object_finalize): ditto.
4806 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4807 callbacks, with cspi types.
4809 * cspi/spi_event.c (createAccessibleEventListener): chain to
4810 (AccessibleEventListener_addCallback): here.
4811 (createAccessibleKeystrokeListener): chain to
4812 (AccessibleKeystrokeListener_addCallback): here.
4814 * libspi/keystrokelistener.c
4815 (spi_keystroke_listener_class_init): add signal.
4816 (impl_key_event): emit the event.
4817 (boolean_handled_accumulator): impl.
4818 (marshal_BOOLEAN__POINTER): add, gack.
4820 * libspi/accessibleeventlistener.c
4821 (spi_event_listener_class_init): add signal.
4822 (impl_accessible_event_notify_event): emit the signal &
4823 make the loop efficient.
4824 (spi_event_listener_add_callback): prepend the callback.
4826 * libspi/accessibleeventlistener.h: add an 'event' signal,
4827 decl type on callback.
4829 * libspi/keystrokelistener.h: ditto.
4831 * cspi/spi-listener.h: make methods typesafe and
4832 make them use the new event typedefs.
4834 * test/simple-at.c (report_focussed_accessible):
4835 include mag_client.h
4836 Use *(void *)text_interface not the other thing.
4838 * configure.in: add gtk to registryd bits - since we use
4841 * util/magnifier.c: include libbonobo.h
4843 2001-11-25 Bill Haneman <bill.haneman@sun.com>
4845 * test/keysynth-demo.c:
4846 Turned this into a simple scanning keyboard, to demonstrate the
4847 use of g_timeout_add () as a means of creating timers for
4848 scanning, and the use of GtkStyle for visually indicating when
4849 virtual keyboard elements are selected.
4851 keysynth-demo now listens to any keyboard keys with zero-valued
4852 keycodes (i.e. 'unused' keys) and interprets them as
4855 Reworked the shiftlatch code so that shift-down state isn't held
4856 for long periods (it's only synthesized immediately prior to
4857 the keysynth event it's modifying). Note that shiftlatch in this
4858 demo is a convenience, not intended to take the place of AccessX
4859 which is the better choice for getting 'sticky' modifier keys.
4861 * libspi/deviceeventcontroller.c:
4862 * at-bridge/bridge.c:
4863 * cspi/spi_registry.c:
4864 Removed some debug print stuff, and put other verbosity in #ifdef
4869 Implemented some more of the magnifier IDL for the simple
4870 magnifier: namely, getZoomRegionParams.
4871 Added mag_x and mag_y members to MagnifierData struct, aid of this
4873 Added GtkWindow::realize signal handler to magnifier, to keep it
4874 from receiving keyboard focus from the WM.
4876 2001-11-23 Mark McLoughlin <mark@skynet.ie>
4878 * cspi/spi-private.h: my guess at what michael forgot
4879 before he ran off to NZ :-)
4881 2001-11-23 Michael Meeks <michael@ximian.com>
4883 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4884 comment out non existant method invoke so we link.
4886 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4887 use bonobo_exception_get_text for more friendly warnings.
4889 * cspi/spi.c (Obj_Add): move into spi_main & rename
4890 spi_object_add; kill spi.c
4892 * cspi/spi_registry.c
4893 (deregisterGlobalEventListener),
4894 (deregisterGlobalEventListenerAll),
4895 (registerGlobalEventListener): fix exception leaks.
4897 * cspi/spi_main.c (spi_exception): impl. helper, so we
4898 don't leak exceptions.
4900 * cspi/spi_selection.c
4901 (AccessibleSelection_deselectSelectedChild): return the
4904 * cspi/spi_main.c (spi_ev): impl; hack - gack.
4905 (spi_registry): ditto.
4906 (SPI_init): guard against double inits.
4908 * cspi/*.c: use spi_ev (), and spi_registry () where
4909 appropriate - a temporary hack until we have something
4910 better. Use spi_object_add
4912 2001-11-22 Michael Meeks <michael@ximian.com>
4914 * cspi/Makefile.am: re organise, install the headers.
4916 * cspi/*.h: add G_BEGIN/END_DECLS
4918 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4921 Added non-preemptive keylistener for key events with no modifiers
4922 and shift-only modifier.
4924 * libspi/keystrokelistener.c:
4925 Removed some verbose diagnostics printout.
4927 * cspi/spi_registry.c:
4928 Fixed a bug that caused all key listeners to be registered as
4931 * libspi/deviceeventcontroller.c:
4932 Fixed bug that caused XGrabKey (preemptive key grab) to be called
4933 for non-preemptive key masks.
4936 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4938 * docs/reference/idl/at-spi-idl-docs.sgml:
4939 * docs/reference/idl/at-spi-idl-sections.txt:
4940 * docs/reference/idl/at-spi-idl-overrides.txt:
4941 Added missing files.
4943 * docs/reference/Makefile.am:
4944 removed idl from SUBDIRS until we can figure a way to get gtk-doc
4945 to scan the IDL files :-(
4950 Added .cvsignore files.
4952 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4954 * libspi/deviceeventcontroller.c:
4955 * libspi/keystrokelistener.c:
4957 * cspi/spi_registry.c:
4958 Added filters for KeySets, KeyEventSeq, and event types to key
4959 event dispatching, so listeners should only receive those events
4960 that they requested :-)
4962 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4967 * docs/reference:Makefile.am:
4968 * docs/reference/cspi:
4969 * docs/reference/cspi:Makefile.am:
4970 * docs/reference/cspi:tmpl:
4971 * docs/reference/cspi:tmpl:*.sgml:
4972 * docs/reference/idl:
4973 * docs/reference/idl:Makefile.am:
4974 * docs/reference/idl:at-spi-idl-sections.txt:
4975 * docs/reference/idl:at-spi-idl-docs.sgml:
4976 * docs/reference/idl:tmpl:
4977 * docs/reference/idl:tmpl:*.sgml:
4979 Restructured docs directory to allow separate 'reference' docs
4980 section, and forked idl and cspi docs. Added the sgml template
4981 files to CVS. Added the first sections/structural sgml for the
4984 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
4986 * configure.in, libspi/Makefile.am: find libXtst.
4988 2001-11-21 Michael Meeks <michael@ximian.com>
4990 * test/accessx-gui.c: s/spi_value/value/ - doh.
4992 * libspi/base.[ch]: add.
4994 2001-11-18 Bill Haneman <bill.haneman@sun.com>
4996 * idl/Accessible.idl:
4997 * idl/Application.idl:
5000 Started gtk-doc cleanup on IDL.
5002 * libspi/deviceeventcontroller.c:
5003 Added and connected non-preemptive key notification from the
5004 toolkits (in addition to the pre-emptive support from XServer
5005 which we had before, but which causes 'focus flashing'). Filters
5006 are presently limited to key modifiers and global/non-global,
5007 KeySets are presently ignored, as are KeyEvent masks.
5009 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5010 structs into the persistant structure rather than just storing
5011 pointers to things that might not persist across servant
5014 The XGrabKey call now does async keygrabs, because synchronous
5015 ones were deadlocking with GDK_event code in a very nasty way.
5017 Added boolean to internal method notify_keylisteners, to indicate
5018 whether the event came from the 'toolkit source' or the 'global
5019 (XServer) source' - this is used in the notification process to
5020 determine which listeners to send the event to.
5022 deviceeventcontroller.c is now warning-free.
5024 * libspi/registry.c:
5025 Fixed regression in application de-registration.
5026 Also fixed some really brain-dead weirdness having to do with
5027 event dispatching - event structs are now duplicated before being
5028 re-marshalled in the dispatch to listeners. This also fixes a
5029 Solaris build problem.
5032 2001-11-20 Michael Meeks <michael@ximian.com>
5035 (impl_accessibility_registry_deregister_global_event_listener):
5038 * libspi/deviceeventcontroller.c
5039 (spi_device_event_controller_check_key_event): return
5040 FALSE on no virtual method.
5042 * libspi/*..h: make includes work on a correctly pathed install.
5044 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5046 * libspi/application.h: kill unused ( and whacked out )
5047 gboolean *spi_application_set_id (AtkObject *app, long id);
5049 2001-11-20 Michael Meeks <michael@ximian.com>
5051 * libspi/*.[ch]: further convert to bonobo's type func
5052 macros, remove redundnant casts etc.
5054 * libspi/text.c s/accessibility_text/spi_text/g,
5055 re-order to de-cruft.
5057 * libspi/hypertext.c: re-order to kill a huge slew
5058 of redundant forward decls.
5060 * libspi/relation.c: ditto.
5062 * libspi/image.c: ditto.
5064 * */.cvsignore: update
5066 2001-11-20 Michael Meeks <michael@ximian.com>
5068 * libspi/deviceeventcontroller.c
5069 (_controller_register_with_devices): use g_getenv,
5070 kill stdlib.h include.
5072 * libspi/keystrokelistener.c
5073 (spi_keystroke_listener_get_type): kill
5074 (spi_keystroke_listener_class_init),
5075 (spi_keystroke_listener_init): rename to this.
5077 * libspi/text.c (impl_getAttributes): fix warning / bug.
5079 * libspi/*.[ch]: more headers, includes and over commenting.
5081 2001-11-20 Michael Meeks <michael@ximian.com>
5083 * libspi/*.[ch]: fixup headers, includes and over commenting.
5085 * libspi/image.c (impl__get_imageDescription): const
5086 correctness warning fix. remove redundant casting.
5088 * libspi/table.c (impl_getRowDescription): ditto.
5089 (impl_getColumnDescription): ditto.
5091 * libspi/libspi.h: add.
5093 2001-11-19 Michael Meeks <michael@ximian.com>
5095 * libspi/editabletext.c (impl_setAttributes): fix warnings.
5097 * libspi/component.c (accessibility_component_get_type):
5098 rename to (spi_component_get_type): and macroify.
5099 (accessibility_component_init): rename to
5100 (spi_component_init): this
5101 (accessibility_component_class_init): rename to
5102 (spi_component_class_init): this
5104 * libspi/action.c (spi_action_get_type): kill, use the macro.
5106 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5109 * libspi/application.c (spi_application_object_event_listener),
5110 (impl_accessibility_application_register_object_event_listener):
5111 warning fixes / const understanding updates.
5113 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5116 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5118 * libspi/spi_accessible.c: Added docs and C bindings for
5119 AccessibleStateSet. (No implementations yet). Documentation
5120 coverage for C bindings now 100%. Made docs for event listeners
5125 boolean notifyListenersSync (in DeviceEventListener listener,
5126 in DeviceEvent event);
5128 oneway void notifyListenersAsync (in DeviceEventListener listener,
5129 in DeviceEvent event);
5131 Added DeviceEventListener and DeviceEvent structs (may deprecate
5132 KeyStroke and KeystrokeListener in favor of this generic
5133 event/listener framework for devices).
5135 * libspi/deviceeventcontroller.c:
5137 Changed some key listener code to take masks, etc., and paved the
5138 way for integration of toolkit/non-preemptive key events. Changed
5139 signatures of some internal methods.
5141 * at-bridge/bridge.c:
5142 Fixed regression connecting to interface signals, apparently
5143 caused by GTK+ changes.
5145 Added an internal bridge_state_listener to deal with
5146 property-change:accessible-state signals.
5148 Changed the key_listeners GList to store structs (including masks,
5149 etc.) instead of just CORBA_Objects (required for full
5150 implementation of key listener API).
5152 Connected the bridge to all currently supported Atk signals.
5153 Events now supported:
5154 object:property-change
5155 object:property-change:accessible-name
5156 object:property-change:accessible-state
5157 object:property-change:accessible-description
5158 object:property-change:accessible-parent
5159 object:property-change:accessible-value
5160 object:property-change:accessible-role
5161 object:property-change:accessible-table-caption
5162 object:property-change:accessible-table-column-description
5163 object:property-change:accessible-table-column-header
5164 object:property-change:accessible-table-row-description
5165 object:property-change:accessible-table-row-header
5166 object:property-change:accessible-table-summary
5167 object:children-changed
5168 object:visible-data-changed
5169 object:selection-changed
5170 object:text-selection-changed
5172 object:text-caret-moved
5174 object:row-reordered
5176 object:column-inserted
5177 object:column-reordered
5178 object:column-deleted
5179 object:model-changed
5181 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5183 * libspi/hyperlink.c,h:
5184 Fixed some broken stuff in hyperlink.
5186 * libspi/relation.h:
5187 * libspi/relation.c:
5188 * cspi/spi_accessible.c:
5189 Initial implementations of AccessibleRelation methods, and docs.
5191 * libspi/accessible.c:
5192 Fixed a bug that caused SEGV if an accessible
5193 object's description is NULL, and a client
5194 requests it. An empty string is now returned.
5196 * cspi/spi_editabletext.c:
5197 * cspi/spi_hypertext.c:
5199 * cspi/spi_hyperlink.c:
5203 Doc coverage now 95%.
5205 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5207 One last namespacing revision:
5208 * libspi/accessibleeventlistener.[ch]:
5209 Renamed SpiAccessibleEventListener to SpiEventListener,
5210 (no need for two namespaces ;-)
5212 And lots of documentation fixes:
5214 * docs/at-spi-docs.sgml:
5215 Fixed 'underscore vs. hyphen' bug that was preventing
5216 the gtk-doc API docs from being automatically generated.
5219 * cspi/spi-listener.h
5221 * cspi/spi_accessible.c
5223 * cspi/spi_application.c
5224 * cspi/spi_component.c
5225 * cspi/spi_editabletext.c
5227 * cspi/spi_hypertext.c
5229 * cspi/spi_registry.c
5230 * cspi/spi_selection.c
5234 * docs/at-spi-docs.sgml
5235 * docs/at-spi-sections.txt
5237 Added and fixed up gtk-doc documentation in cspi.
5239 Interfaces now (fully) documented (subject to revision and enhancement):
5241 Event Listener Support
5243 AccessibleApplication
5247 AccessibleEditableText
5254 AccessibleRelationSet
5259 2001-11-14 Bill Haneman <bill.haneman@sun.com>
5261 * at-bridge/bridge.c:
5262 Initial work for toolkit-level key snooper connection by bridge.
5267 New typedefs and fixes to support new namespacing, and cleaner
5268 separation of cspi bindings from libspi bonobo implementation.
5269 Removed inconsistent and extraneous Spi* namespace prefix that
5270 had crept into cspi headers.
5271 Lots of comment fixes that sed had missed.
5273 * cspi/spi-roletypes.h:
5274 * cspi/spi-statetypes.h:
5275 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5276 to AccessibleRoleType.
5278 * libspi/accessibleeventlistener.h:
5279 Fixed minor namespacing weirdness.
5281 * libspi/deviceeventcontroller.c:
5282 Reordered some internal API for device listeners.
5283 Changed the key registry final boolean to 'is_system_global'
5284 rather than 'is_synchronous', which is more descriptive of its
5286 Added spi_device_event_controller_new().
5287 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
5289 * libspi/keystrokelistener.[ch]:
5290 Namespaced KeystrokeListener to SpiKeystrokeListener.
5291 Changed uses of keymasks to use SPI_ prefix, and did other
5294 * libspi/keymasks.h:
5295 Namespaced keymask constants with SPI_ prefix.
5297 * libspi/registry.c:
5298 Some warning fixes, and knock-on fixes from namespace changes.
5301 Added rules for accessx-gui test program.
5303 * test/accessx-gui.c:
5304 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5305 utility. It doesn't actually use at-spi, but it's still cool and
5308 * test/keysynth-demo.c:
5312 Fixes so that these test clients work properly with the namespaced
5313 libraries. (Incompletely tested for technical reasons, fixes may follow)
5316 2001-11-13 Michael Meeks <michael@ximian.com>
5318 * libspi/application.c
5319 (impl_accessibility_application_get_version),
5320 (impl_accessibility_application_get_toolkit_name):
5322 (impl_accessibility_application_set_id),
5323 (impl_accessibility_application_get_id): remove
5324 redundant casting code.
5326 * libspi/action.c (impl_getDescription): fix warnings.
5328 * libspi/accessible.c
5329 (impl_accessibility_accessible_get_parent),
5330 (impl_accessibility_accessible_get_child_at_index),
5331 (impl_accessibility_accessible_get_state),
5332 (impl_accessibility_accessible_get_relation_set):
5333 warning fixes & include action.h
5335 2001-11-13 Michael Meeks <michael@ximian.com>
5337 * *.[ch] fix bits I screwed up:
5339 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5340 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5342 2001-11-13 Michael Meeks <michael@ximian.com>
5344 * *.[ch] Namespace libspi into spi_ and Spi.
5346 2001-13-11 Michael Meeks <michael@ximian.com>
5348 * Makefile.am: dist & install at-spi-1.0.pc
5350 * libspi/Makefile.am: install into at-spi-1.0
5352 * idl/Makefile.am (idldir): install into at-spi-1.0
5354 * at-spi-1.0.pc.in: add.
5356 * configure.in: build it.
5358 2001-11-12 Bill Haneman <bill.haneman@sun.com>
5360 * test/keysynth-demo.c:
5361 Use a 'realize' signal-handler to set the WM properties for
5362 the virtual keyboard, rather than making it a "POPUP" type
5363 override-redirect window (thanks to anders carlsson for that
5366 2001-11-11 Bill Haneman <bill.haneman@sun.com>
5369 * test/keysynth-demo.c:
5370 Added new test of key synthesis, which creates a simple
5371 (mouse-operated) onscreen keyboard. It inserts key events into
5372 the currently-focused window, thus it does not grab keyboard focus
5375 * cspi/spi_registry.c:
5376 Added C binding for AT-SPI generateKeyEvent.
5378 * libspi/deviceeventcontroller.c:
5379 Added call to XFilterEvent so that key listener works with XIM (we
5380 hope). Added event_synth_type to generateKeyEvent, so that we can
5381 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5382 synthesize a press/release pair for KeySyms.
5384 2001-11-09 Bill Haneman <bill.haneman@sun.com>
5386 * libspi/Makefile.am:
5387 * registryd/Makefile.am:
5388 (temporary) hack to include libXtst in libspi and registryd.
5389 (Needed for keystroke synthesis, see below).
5392 Improved API for registerKeystrokeListener, in accordance with
5393 discussions with Gnopernicus team and X server research.
5395 * libspi/registry.c:
5396 * libspi/deviceeventcontroller.c:
5397 * libspi/accessible.c:
5398 * libspi/keystrokelistener.c:
5399 Changes and fixes to support keylisteners for potentially
5400 consumed key events (that is, 'passive grabs').
5401 Added implementation for generateKeyEvent() [untested].
5404 Changes to registerKeystrokeListener() API, as above.
5405 Added deregisterGlobalEventListenerAll(), and
5406 deregisterKeystrokeListener(), which are needed for clean exit of
5408 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5409 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5411 * cspi/spi_registry.c:
5412 Added implementations of function prototypes mentioned above.
5414 * registryd/registryd.c:
5415 Added the key listener event source as a g_timeout(), to allow
5416 receipt of key events that are not caught by GDK (since GDK
5417 doesn't support passive keygrabs, this was necessary).
5420 Changed to attach a keylistener to 'Alt' keys, and
5421 respond to the following keycommands: Alt-M (toggle magnifier);
5422 Alt-F (toggle speech); Alt-Q (quit).
5423 Added an exit routine to deregister the listeners, and a key
5424 listener that prints some key info to the console when a key
5425 matches the listener mask (and is thus received by the listener).
5427 * util/idl/Magnifier.idl:
5428 Changes to magnifier API to support multiple zoom regions,
5429 non-uniform scaling in x and y, markDirty, and a host of other
5430 features that would be useful to magnification.
5433 * util/mag_client.c:
5434 * util/mag_client.h:
5435 * util/mag_control.c:
5437 Source code changes to support the above IDL changes.
5440 As above, and also changes to use a (slower) generic conversion
5441 path for colormap conversions, since the fast RGB conversions have been
5442 reported to fail for 16-bit displays.
5444 2001-10-26 Michael Meeks <michael@ximian.com>
5446 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5448 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
5450 * at-bridge/Makefile.am: fix LDFLAGS.
5452 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5454 * at-bridge/bridge.c:
5455 Re-worked listeners for toolkit events, now we have signal
5456 and property listeners. Added a private method
5457 register_atk_event_listeners(), which registers with the
5458 various atk and gtk signals we need to monitor in order to emit
5460 Added emission hook for AtkObject:property-change events, to
5461 support the 'property listeners'.
5462 Fixed some alloc()s of Accessibility_Event structs to use CORBA
5465 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5466 which emit warnings and exit, respectively, if CORBA errors occur
5467 during remote calls, and we now use these methods to check most of
5468 our CORBA calls in the C bindings.
5470 * cspi/spi_accessible.c:
5471 Changed AccessibleSelection_refSelectedChild() to
5472 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5473 now increment refcounts.
5475 * cspi/spi_component.c:
5476 Fixed some long pointer casts (dangerous!) to pass pointers to
5477 CORBA_longs of the proper type to the CORBA stubs, and copy the
5478 data into the longs that were passed into the C bindings code.
5480 * at-bridge/bridge.c:
5482 * libspi/accessible.c:
5483 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5484 hyperlinks, AtkHyperlink is an object type.
5486 * libspi/application.c:
5487 Added various conversions to and from "generic" event types and
5488 atk-specific types; this is really part of the 'bridge'
5489 implementation but is valid for all AtkObject-based accessibility
5492 * libspi/editabletext.c:
5493 Fixed nasty bug wherein editable text's finalize method was
5494 unref'ing tha AtkObject reference that the text parent class was
5495 about to unref _again_. There was also a nasty inheritance bug
5496 that meant that the AccessibleEditableText class was corrupt.
5498 * libspi/selection.c:
5499 Provided implementations for some selection API that was broken.
5501 * idl/Application.idl:
5502 Added registerObjectEventListener () method.
5505 Fixed a number of return values that were Bonobo_Unknowns from
5506 bonobo_object_corba_objref(), which I
5507 forgot to dup before returning. Changed instances of
5508 bonobo_object_corba_objref (bonobo_object(o)) to
5509 BONOBO_OBJREF(o), for concision and clarity.
5511 2001-10-13 Louise Miller <louise.miller@sun.com>
5513 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5514 idl/Event.idl, idl/Registry.idl
5515 Changed these files to include Bonobo_Unknown.idl instead
5518 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
5520 * libspi/component.c libspi/component.h:
5521 Fixed typo. Added assertions for object checks in
5522 AccessibleComponent code.
5524 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5526 * idl/Accessible.idl:
5527 Added 'isEqual (Accessible *object)'
5528 method for Accessible. (Not Yet Implemented).
5531 Changed signature of registerKeystrokeListener() to
5532 take a KeySet and KeyEventSeq so that specific keys and event
5533 types could be requested for monitoring, and added a flag
5534 is_synchronous so that either synchronous or asynchronous
5535 notification could be requested. (However this is not all
5536 implemented yet). This also meant adding two new typedefs,
5537 KeyEventSeq and KeySet.
5540 Added two new relations, RELATION_TOOLTIP_FOR and
5541 RELATION_LEAFNODE_OF.
5544 Added new state, STATE_HAS_TOOLTIP.
5546 * libspi/text.c, editabletext.c:
5547 Added new assertions to all casts of bonobo-objects from
5548 CORBA servants, to prevent Text API calls on non-text objects.
5549 Changed suspect casts of int-pointer types, so that we
5550 always send a valid CORBA_long pointer to the CORBA APIs that use
5551 in/out long parameters. We then have to copy from the CORBA_long
5552 into the regular long or int for return to the C bindings, or
5553 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5556 * libspi/deviceeventcontroller.c:
5557 Cleaned these sources up.
5559 Changed return type for getCharacterAtOffset to
5560 CORBA_unsigned_long, to allow for 32-bit characters.
5563 2001-10-08 Bill Haneman <bill.haneman@sun.com>
5567 Fixed 'make dist' so that distro compiles...
5568 * libspi/keymasks.h:
5570 * cspi/spi-listener.c:
5571 KeystrokeListenerCB now returns a boolean.
5573 Added KeyEventType struct, and KeyStroke.
5574 Also added createKeystrokeListener(),
5575 KeystrokeListener_addCallback(),
5576 KeystrokeListener_removeCallback(), and added a keymask to
5577 registerKeystrokeListener().
5578 * cspi/spi_accessible.c:
5579 Changed numerous return types for interfaces from
5580 AccessibleComponent to Accessible<InterfaceName>; this was
5581 probably a cut-and-paste error.
5583 Implementations of new KeystrokeListener api (from spi.h,
5586 Changes to key modifier mapping.
5587 Created ControllerEventMask struct.
5588 Made DeviceEventController derive from Bonobo::Unknown.
5590 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5591 * libspi/deviceeventcontroller.c:
5592 Added a number of new internal (private) methods.
5593 * libspi/editabletext.c:
5594 * libspi/editabletext.h:
5595 Fixed a number of bugs related to the fact that
5596 editabletext inherits from text. Fixed the EditableText struct,
5597 the init() call, and use correct casts when calling Text methods
5598 from an EditableText object. Removed (duplicate) atko from the
5599 EditableText structure, we use the one in the parent Text
5600 structure via the casts mentioned above.
5601 * libspi/keystrokelistener.[ch]:
5602 * libspi/registry.c:
5603 Changes in support of keyboard handling (above).
5605 Keyboard handling, though partly functional, is still not
5606 recommended for at-spi client use as there is considerable
5607 work yet to be done.
5610 Changed some places where pointers to various int types
5611 are cast to be pointers to CORBA_long types and vice-versa:
5612 pointer casting is not safe so we pass pointers of the correct
5613 types and then cast the result before putting it into the target
5616 * libspi/text.h: minor typos corrected.
5618 We now speak not only the name of a Text element, but the
5619 first sentence of its content, when it receives focus.
5620 I also changed the text compression to 75% from 50%.
5621 * util/Accessibility_Util.server.in:
5622 Changed the default magnifier type to be a 3x vertical
5623 splitscreen magnifier (was previously a 2x horizontal one).
5625 2001-10-03 Bill Haneman <bill.haneman@sun.com>
5627 * libspi/keystrokelistener.h:
5628 * libspi/keystrokelistener.c:
5629 Initial functional implementations of KeystrokeListener.
5632 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
5634 Fixed string handling for NULL strings in libspi.
5635 Added spi_freeString to free strings returned by C bindings.
5637 2001-09-30 Bill Haneman <bill.haneman@sun.com>
5639 * libspi/keystrokelistener.h:
5640 * libspi/keystrokelistener.c:
5641 Began (no-op) implementations of KeystrokeListener
5643 * libspi/deviceeventcontroller.c:
5644 * libspi/deviceeventcontroller.h:
5645 Began creating implementations of DeviceEventController,
5646 to handle keystroke and mouse event listening and
5648 * libspi/accessible.c:
5649 Stubbed-in the implementations for
5650 Accessibility_Accessible_getState and
5651 Accessibility_Accessible_getRelationSet.
5652 * libspi/registry.c:
5653 Improved de-registration process and fixed some bugs,
5654 deregistration now works correctly.
5656 Added initialization of applications list (to NULL).
5658 Reduced speech compression from 0.5 to 0.7, for demo.
5659 Changed call to gdk_window_set_decorations()
5660 to gtk_window_set_decorated().
5661 * at-bridge/bridge.c:
5662 Bridge now deregisters when app exits, via
5663 registration of a cleanup function
5664 with the g_atexit() call.
5665 Required making 'app' static, renamed 'this_app'.
5666 Fixed broken use of bonobo_init, passing argv wrongly.
5668 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5672 Created a new directory for
5673 accessibility-related utilities, primarily for
5674 testing and demo purposes, but with possible
5681 Onscreen magnifier utility that
5682 is implemented as a bonobo service.
5684 * util/mag_client.c:
5685 * util/mag_client.h:
5686 Client-side support (simple C bindings)
5687 for Magnification service
5689 * util/mag_control.c:
5690 Client program example for
5691 Magnification service
5693 * util/Accessibility_Magnifier.server.in:
5694 Bonobo-activation file for the
5695 Magnification service.
5698 * util/idl/Magnifier.idl:
5699 IDL defining the bonobo Magnification
5703 Modifications to use the bonobo-activated magnifier
5704 above, in place of trying to connect to an existing
5705 magnifier that uses socket-listening IPC.
5707 If env variable MAGNIFIER is set, a magnifier service
5708 will be started if one does not exist.
5710 2001-09-25 Bill Haneman <bill.haneman@sun.com>
5712 * at-bridge/bridge.c:
5713 applied patch from Marc to build and run
5714 against new glib and gtk+ (seemed like a change
5715 to bonobo_init signature was made ?)
5717 made festival-server support turned off by default.
5718 Added support for a simple magnifier (off by default)
5719 which will be added to a 'util' directory later.
5720 * at-bridge/Makefile.am:
5721 Changed "application.h" header from a 'source'
5722 to a 'dependency' of libat-bridge.
5724 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5733 Added interface implementation c files to list of
5734 includes so they are included in libcspi.
5737 Changed prototype of AccessibleAction_doAction to return a
5739 Changed prototype of AccessibleTable_getCaption to
5740 return an Accessible.
5741 Changed prototype of AccessibleTable_getSelectedRows
5742 and AccessibleTable_getSelectedColumns to
5743 return a long (returns the number of selected rows
5744 or columns respectively).
5745 Changed name of AccessibleText_refRunAttributes to
5746 AccessibleText_getAttributes.
5747 Changed prototype of AccessibleText_getCharacterExtents to
5748 return a void rather than a boolean.
5749 Added support for a AccessibleCoordType parameter
5750 specifying what type of coordinates are desired.
5751 Added an AccessibleCordType parameter to
5752 AccessibleText_getPointAtOffset.
5754 * cspi/spi_accessible.c:
5755 Added code to return the outstanding interfaces from
5756 Accessible_queryInterface.
5758 * cspi/spi_action.c:
5760 Corrected call to getNActions to call the c binding
5763 * cspi/spi_editabletext.c:
5765 Changed name from setRunAttributes to setAttributes.
5767 * cspi/spi_hyperlink.c:
5769 Changed call to getNAnchors to correctly call the c
5770 binding for an attribute.
5772 * cspi/spi_hypertext.c:
5774 Changed getImageDescription to correctly call the
5775 binding for an attribute.
5777 * cspi/spi_selection.c:
5778 Changed getNSelectedChildren to correctly call the c
5779 binding for the attribute.
5780 Changed refSelectedChild to getSelectedChild.
5784 Changed getCaption to return an Accessible.
5785 Fixed calls which retrieve attributes.
5786 Changed refAt to getAccessibleAt.
5787 Changed getNSelectedRows and getNSelectedColumns to
5791 Changed getCharacterExtents and getPointAtOffset to accept an
5792 AccessibleCoordType.
5794 Changed calls which retrieve attributes.
5795 Changed refRunAttributes to getAttributes.
5800 * idl/Hyperlink.idl:
5801 Changed n_anchors attribute to nAnchors to keep naming
5802 convention consistent.
5805 Made Table inherit from Bonobo::Unknown.
5806 Added nSelectedColumns and nSelectedRows attributes.
5809 Made Value inherit from Bonobo::Unknown.
5811 * libspi/hyperlink.c:
5812 Change for nAnchors attributte name change.
5814 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5822 Added interface implementation c files to list of
5823 includes so they are included in libcspi.
5826 Changed prototype of AccessibleAction_doAction to return a
5828 Changed prototype of AccessibleTable_getCaption to
5829 return an Accessible.
5830 Changed prototype of AccessibleTable_getSelectedRows
5831 and AccessibleTable_getSelectedColumns to
5832 return a long (returns the number of selected rows
5833 or columns respectively).
5834 Changed name of AccessibleText_refRunAttributes to
5835 AccessibleText_getAttributes.
5836 Changed prototype of AccessibleText_getCharacterExtents to
5837 return a void rather than a boolean.
5838 Added support for a AccessibleCoordType parameter
5839 specifying what type of coordinates are desired.
5840 Added an AccessibleCordType parameter to
5841 AccessibleText_getPointAtOffset.
5843 * cspi/spi_accessible.c:
5844 Added code to return the outstanding interfaces from
5845 Accessible_queryInterface.
5847 * cspi/spi_action.c:
5849 Corrected call to getNActions to call the c binding
5852 * cspi/spi_editabletext.c:
5854 Changed name from setRunAttributes to setAttributes.
5856 * cspi/spi_hyperlink.c:
5858 Changed call to getNAnchors to correctly call the c
5859 binding for an attribute.
5861 * cspi/spi_hypertext.c:
5863 Changed getImageDescription to correctly call the
5864 binding for an attribute.
5866 * cspi/spi_selection.c:
5867 Changed getNSelectedChildren to correctly call the c
5868 binding for the attribute.
5869 Changed refSelectedChild to getSelectedChild.
5873 Changed getCaption to return an Accessible.
5874 Fixed calls which retrieve attributes.
5875 Changed refAt to getAccessibleAt.
5876 Changed getNSelectedRows and getNSelectedColumns to
5880 Changed getCharacterExtents and getPointAtOffset to accept an
5881 AccessibleCoordType.
5883 Changed calls which retrieve attributes.
5884 Changed refRunAttributes to getAttributes.
5889 * idl/Hyperlink.idl:
5890 Changed n_anchors attribute to nAnchors to keep naming
5891 convention consistent.
5894 Made Table inherit from Bonobo::Unknown.
5895 Added nSelectedColumns and nSelectedRows attributes.
5898 Made Value inherit from Bonobo::Unknown.
5900 * libspi/hyperlink.c:
5901 Change for nAnchors attributte name change.
5904 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
5906 implementations-- made server implementations own AtkObject pointers
5907 rather than their respective AtkInterrface pointers to fix
5908 refcounting. AtkHyperlink is still broken.
5910 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5911 * cspi/spi_accessible.c:
5912 Added method Accessible_Role_getName(),
5913 and requisite string array (role_names).
5914 Added conversion string_from_corba_strin() call
5915 to Accessible_getName and _getDescription.
5916 * libspi/accessible.c:
5917 Added implementation for Accessible_getRole()
5919 Added festival support, used if environment variable
5922 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5924 * at-bridge/bridge.c:
5925 Now allocate Accessibility_Event using
5926 Accessibility_Event__alloc() instead of g_new0().
5927 * libspi/accessibleeventlistener.c:
5928 Initialize AccessibleEventListener->callbacks to NULL.
5929 Fixed accessible__event_listener_init() param, changed to
5930 "AccessibleEventListener *" type.
5931 Changed a bonobo_object_release_unref() call to
5932 Accessibility_Accessible_unref().
5933 * libspi/listener.c:
5934 Changed Bonobo_Unknown_unref to (equivalent)
5935 Accessibility_Accessible_unref.
5936 * libspi/registry.c:
5937 Changed bonobo_object_release_unref to
5938 Accessibility_Accessible_unref.
5940 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5943 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5944 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5945 spi-util.c spi-util.h
5946 Implementations for C bindings to remaining accessibility
5949 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5952 changed return value of Action from void to boolean to
5953 bring in line with ATK.
5956 Changed getText funcions to return "out" start and end offsets.
5957 Changed getAttributes to take and offset and return the start
5958 and end offset of the attribute run.
5959 Changed getOffsetAtPoint and getCharacterExtents to take an
5960 enum describing whether coordinates are window or screen.
5963 libspi/action.c libspi/action.h libspi/editabletext.c
5964 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5965 libspi/hypertext.c libspi/hypertext.h libspi/image.c
5966 libspi/image.h libspi/selection.c libspi/selection.h
5967 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
5968 libspi/value.c libspi/value.h
5969 Added server implementations for outstanding ATK interfaces
5970 not yet implemented.
5972 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5975 Added (missing) getName() method.
5976 Made nActions an attribute.
5977 * idl/EditableText.idl:
5978 Changed order of params in setAttributes.
5979 * idl/Hyperlink.idl:
5980 Removed getAnchor, added getURI.
5982 Changed attributes to methods, for efficiency
5983 (so that getting extents can be done in one call)
5984 * idl/Selection.idl:
5985 Changed nSelectedChildren to attribute, and re-indented.
5986 * idl/Table.idl: changed nrows, ncolumns, caption, summary
5988 * idl/Text.idl: reformatted to match our coding style.
5989 (temporarily?) removed getRowColumnAtOffset().
5990 Changed text selection API to support multi-select and
5991 non-contiguous selections, as in ATK.
5992 * idl/Value.idl: changed some methods to attributes.
5994 2001-08-24 Mark McLoughlin <mark@skynet.ie>
5996 * libspi/listener.c(impl_notify_event):
5997 BonoboUnkown_unref the source instead
5998 of bonobo_object_release_unref - the ORB
5999 handles the releasing.
6001 * configure.in: require ORBit-2.3.94 for
6004 2001-08-21 Bill Haneman <bill.haneman@sun.com>
6006 Tagged CVS repository 'EA_1_0'.
6007 * README.EARLY_ACCESS:
6008 Alphabetized acknowledgements list, and
6010 Listed some known dependencies of at-spi.
6012 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6014 * docs/at-spi-docs.sgml:
6015 * docs/at-spi-sections.txt:
6016 * docs/at-spi-overrides.txt: (Added zero-length file)
6017 Documentation improvements - gtk-doc should build
6018 docs for all implemented C bindings now.
6021 * cspi/spi.c: (New file)
6022 * cspi/spi_event.c: (New file)
6023 * cspi/spi_registry.c: (New file)
6024 * cspi/spi_accessible.c: (New file)
6025 * cspi/spi_application.c: (New file)
6026 * cspi/spi_component.c: (New file)
6027 Split spi_main.c into six parts, and included them from
6028 "spi.c". This is a bit of a hack, probably temporary,
6029 but required by gtk-doc, apparently.
6031 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6034 * docs/at-spi-docs.sgml:
6035 * docs/at-spi-sections.txt:
6037 Initial checkins/modifications for gtk-doc generation.
6040 Added (missing) interface query methods to Accessible's C binding.
6042 Added GenericInterface type definition.
6044 Added query for AccessibleComponent interface to focus event handler.
6045 Added printout of bounding box for focussed component.
6046 * libspi/component.c:
6047 Added partial implementation for AccessibleComponent to C binding.
6048 * idl/Application.idl:
6049 * libspi/registry.c:
6050 * libspi/listener.c:
6051 * libspi/application.c:
6052 * libspi/application.h:
6053 Changed "ID" attribute type from string to long.
6055 2001-08-19 Bill Haneman <bill.haneman@sun.com>
6059 Made method naming consistent: methods taking object args
6060 start with uppercase, other methods (except those using
6061 acronyms) start with lowercase. Underscores delimit between
6062 object names and method names:
6063 SPI_init() - uppercase since it starts with an acronym.
6064 getDesktopCount () - lowercase start since no object param0.
6065 Accessible_getName() - uppercase object type name, studlyCaps method
6069 Added gtk-doc documentation for all currently implemented
6070 methods in the C bindings API.
6072 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6074 * Makefile.am : changed build order to build test last.
6077 Changed "createEventListener" to "CreateEventListener".
6078 * libspi/accessibleeventlistener.c :
6079 Bugfix for addition of callbacks.
6080 * test/Makefile.am :
6081 * test/simple-at.c :
6082 Added new test that uses the C bindings API.
6084 * libspi/listener.c :
6085 * libspi/registry.c :
6086 * libspi/accessibleeventlistener.c :
6087 * at-bridge/bridge.c :
6088 Renamed member "target" of Accessibility_Event to "source",
6089 which is more descriptive.
6092 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6096 * cspi/Makefile.am :
6097 Added makefile support for at-spi/cspi directory.
6100 * cspi/spi-listener.h : (NEW FILE)
6101 Added support for/use of spi-listener.h.
6103 C bindings now build successfully, with no warnings.
6104 * libspi/accessibleeventlistener.h : (NEW FILE)
6105 * libspi/accessibleeventlistener.c : (NEW FILE)
6106 * libspi/Makefile.am :
6107 Added new object type "AccessibleEventListener"
6108 which inherits from Listener, and allows attachment
6109 of in-process callbacks (so that a client with a listening
6110 object instance can add functionality to the local
6111 implementation, dynamically).
6113 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6115 * libspi/accessible.c:
6116 Add implementation for get_index_in_parent().
6118 Added #include of "spi-roletypes.h", and
6119 added enumerated type AccessibleCoordType.
6120 Added definition for KeystrokeListener (function type).
6123 * cspi/spi-statetypes.h :
6124 * cspi/spi-roletypes.h :
6126 Added these headers, used by spi.h.
6128 Added code (NOTE: not yet built by make).
6130 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6132 * libspi/Makefile.am: generate imodule
6133 at the same time as other idl compiler
6136 2001-08-17 Bill Haneman <bill.haneman@sun.com>
6137 * libspi/registry.c :
6138 * libspi/application.c :
6139 * idl/Application.idl :
6140 Made registration with toolkit an application method,
6141 which is required since each app has its own toolkit static
6142 environment. Thus the bridge must register for
6143 notification of toolkit events from each application in turn.
6144 Toolkit notifications are now successfully registered for, and
6145 sent to the listening at client.
6147 Changed toolkit event string to use hyphens rather than underscores.
6148 * libspi/listener.c :
6149 listner now gives more info in debug mode - it reports the
6150 name of the event received, as well as the name of the source.
6153 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6155 * libspi/registry.c :
6156 added more implementation for toolkit events.
6157 Fixed bug such that toolkit event registrations
6158 (via atk) use the whole event name string, not
6160 Removed a useless call to an ORBit_ method.
6161 * at-bridge/bridge.c :
6162 Removed unused local sbuf[] variable.
6164 We now register for Gtk:GtkWidget:button_press_event
6165 events as well as "focus:" events.
6167 Add some more API from Registry.idl that was missing,
6168 for keystroke listening, keystroke and mouse event
6169 synthesis, and enumeration of accessible desktops.
6171 2001-08-16 Michael Meeks <michael@ximian.com>
6173 * configure.in: use AM_GLIB_GNU_GETTEXT.
6175 * Makefile.am (SUBDIRS): kill intl.
6177 2001-08-15 Michael Meeks <michael@ximian.com>
6179 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6181 * configure.in: upd.
6183 * configure.in: depend on a recent bonobo-activation that
6184 will find our server files ...
6186 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6188 * libspi/accessible.c : accessible_new() :
6189 Now we add the Component interface via bonobo_object_add_interface,
6190 if the contained AtkObject implements AtkComponent.
6191 * libspi/accessible.h : now include "component.h"
6192 * libspi/component.h :
6193 * libspi/component.c : added files - implementation of
6194 bonobo wrapper object for Accessibility/Component
6195 * libspi/listener.c :
6196 Added test code to check for Accessibility/Component:1.0
6197 interface and report whether it is implemented by the
6199 * libspi/registry.c :
6200 Now we check for not only the hash of the whole event
6201 string before relaying the event, we also check the
6202 "minor" event string (without the detail string).
6203 This allows event listeners to be registered against
6204 all events of a certain major+minor type, or just
6205 against a specific major+minor+detail type.
6206 * libspi/accessible.c :
6207 Added implementations for Accessible:get_parent(),
6208 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6209 * libspi/registry.c :
6210 * libspi/listener.c :
6211 Replaced calls to Accessibility_Accessible_ref() and
6212 Accessibility_Accessible_unref() with
6213 calls to bonobo_object_dup_ref() and
6214 bonobo_object_release_unref(), so that the CORBA object
6215 is dup-ed and released when relayed, as well as the bonobo object.
6217 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6219 * libspi/Makefile.am,
6220 registryd/Makefile.am,
6221 at-bridge/Makefile.am.
6222 test/Makefile.am, configure.in:
6223 reverse previous changes.
6225 * /idl/Image.idl: fix typo.
6227 * test/Makefile.am: put DEBUG_FLAGS
6230 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6232 * test/app.c: use argv[0] instead of
6235 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6237 * libspi/Makefile.am,
6238 registryd/Makefile.am,
6239 at-bridge/Makefile.am.
6240 test/Makefile.am, configure.in:
6241 cleanup, replace individual LIBS/CFLAGS with
6242 AT_COMMON_{LIBS|CFLAGS}.
6246 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6248 * configure.in, libspi/Makefile.am:
6249 Change IDL path checking for bonobo-activation
6252 2001-08-15 Bill Haneman <bill.haneman@sun.com>
6254 * registryd/registry.c : separated event listeners to use
6255 3 separate lists (focus, window, toolkit). Began testing
6256 event names against hashes before relaying events.
6257 * test/at.c : now register for events of type "focus:"
6258 * test/app.c : now generate events of type "focus:"
6259 * at-bridge/bridge.c : register with ATK for focus events,
6260 and we now relay those focus events to any "focus:" listeners.
6261 This now works with the bridge as a GTK_MODULE when running test/at.
6262 * libspi/registry.c :
6263 * libspi/listener.c :
6264 now we ref event sources before propagating, and unref on receipt.
6265 * libspi/registry.c :
6266 some changes to internal structs, to support event typestring hashes.
6267 * text/app.c : changed the way the appname is generated.
6268 * cspi : added directory that will hold the C bindings library for
6269 non-CORBA/bonobo-savvy clients.
6270 * cspi/spi.h : header file that contains the function prototypes for the C binding.
6271 * idl/Component.idl : added in parameter to indicate coord system for
6272 geometry-related calls.
6273 * idl/Hyperlink.idl : added readonly n_links attribute
6274 * idl/Image.idl : changed methods to attributes.
6276 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6278 * at-bridge/Makefile.am: link against
6279 ../libspi/libspi.la instead of -lspi.
6281 * at-spi/test/app.c: include
6282 bonobo-activation.h. Use a default appname
6283 if one is not provided.
6285 2001-08-14 Bill Haneman <bill.haneman@sun.com>
6287 * idl/Registry.idl : temporarily changed register_Application
6288 to oneway, to work around issue with initial registration
6290 * idl/Application.idl : changed attribute "id" from readonly
6291 to read-write, since it needs to be assigned by Registry.
6292 * registryd/registryd.c : added call to set application id
6294 * registryd/registry.c : changed de-registration procedure to
6295 use CORBA_Object_hash() to find matching object ref in application
6296 lists and listener lists.
6297 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6298 began distinguishing between event types (work in progress).
6300 2001-08-13 Bill Haneman <bill.haneman@sun.com>
6303 * libspi/application.c:
6304 Added implementations for get/set id, get_toolkitName,
6306 * registryd/registryd.c :
6310 Converted from use of OAF to bonobo-activation.
6311 * libspi/desktop.h :
6312 * libspi/desktop.c :
6314 Removed references to atksimpleobject, since base atkobject
6315 implementation now provides functionality we need.
6316 * libspi/atksimpleobject.c :
6317 * libspi/atksimpleobject.h :
6322 * at-bridge/Makefile.am
6323 * at-bridge/bridge.c
6326 Added directory "bridge" and contents, and added dependencies
6327 in Makefile.am/configure.in.
6328 Initial checkin of "at-bridge".
6329 This code is a GTK_MODULE which automatically registers
6330 GTK+ apps with the accessibility registry, using an object
6331 reference to the root ATK object.
6333 2001-08-10 Mark McLoughlin <mark@skynet.ie>
6335 * po/Makefile.in.in: Remove. Again. If this
6336 doesn't get autogenerated - you need to update
6339 2001-08-07 Mark McLoughlin <mark@skynet.ie>
6341 * po/Makefile.in.in: Add. Again.
6343 2001-07-31 Bill Haneman <bill.haneman@sun.com>
6345 * libspi/accessible.c : added support for 'description' property.
6346 * libspi/accessible.c
6348 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6349 (since the two are now equivalent in libbonobo)
6357 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6358 Bonobo::Unknown as does Accessibility::Accessible.
6359 * idl/StreamableContent.idl : as above, and replaced internal InputStream
6360 interface with Bonobo::Stream, since it was redundant with it.
6361 (The Stream returned by a StreamableContext object is expected to
6362 implement only a subset of Bonobo::Stream)
6364 2001-07-28 Anders Carlsson <andersca@gnome.org>
6366 * libspi/accessible.c (accessible_object_finalize): Change
6367 g_free to g_object_unref since the AtkObject is a GObject.
6369 2001-07-30 Bill Haneman <bill.haneman@sun.com>
6371 * idl/Accessibility.idl: add new IDL files
6374 * idl/Action.idl: Definitions of actionable UI object
6375 * idl/Component.idl: Definitions of UI component geometry, etc.
6376 * idl/Hyperlink.idl: Defs of hyperlink behavior
6377 * idl/Image.idl: Def of accessible image
6378 * idl/Selection.idl: Definition of UI object with selectable children
6379 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6380 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6381 * idl/Text.idl: Interface defs for UI elements with complex textual content
6382 * idl/Value.idl: Definition of UI element that is a value controller or display
6384 2001-07-27 Michael Meeks <michael@ximian.com>
6386 * po/Makefile.in.in: remove autogenerated file from CVS.
6388 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6391 * idl/Registry.idl: include guard.
6393 * idl/Accessibility.idl: Add, and include all the other IDL
6396 * idl/*.idl: remove mass of pragmas etc.
6398 2001-07-26 Michael Meeks <michael@ximian.com>
6400 * registryd/Makefile.am (registryd_SOURCES): remove
6403 2001-07-27 Mark McLoughlin <mark@skynet.ie>
6405 * libspi/.cvsignore, registryd/.cvsignore,
6406 test/.cvsignore: updated.
6408 * po/Makefile.in.in: gettext update.
6410 2001-07-25 Bill Haneman <bill.haneman@sun.com>
6412 * initial CVS checkin
6414 2001-06-29 Michael Meeks <michael@ximian.com>
6416 * configure.in: add AM_CONFIG_HEADER to gen config.h