1 2003-09-04 Bill Haneman <billh@gnome.org>
3 * cspi/spi_event.c: Documentation improvements for
4 (SPI_registerAccessibleKeylistener).
6 * docs/reference/tmpl/spi_registry.sgml:
7 Documentation improvements for SpiAccessibleKeylistenerCB.
9 2003-09-02 Mugurel Tudor <mugurelu@go.ro>
11 * configure.in: Added "ro" to ALL_LINGUAS.
14 2003-09-01 Padraig O'Briain <padraig.obriain@sun.com>
16 * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
17 not decremented to zero. Fixes bug #120725.
19 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
21 * configure.in: Added "ja" to ALL_LINGUAS.
23 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
25 * configure.in: Added "is" to ALL_LINGUAS.
27 2003-08-22 Christian Rose <menthos@menthos.com>
29 * configure.in: Added "nl" to ALL_LINGUAS.
31 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
33 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
34 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
36 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
38 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
39 type for unspecified exception.
40 * cspi_streamablecontect): Add include of string.h for memcpy.
41 (stream_release): Correct call to bonobo_object_release_unref
42 (stream_cache_item_free): Correct call to bonobo_object_release_unref
43 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
44 argument of _cspi_expection_throw.
45 * libspi/hyperlink.c: Add include of libspi/action.h:
46 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
47 * libspi/streamablecontent.c: add include of libspi/component.h.
48 * regisrtyd/deviceeventcontroller.c:
49 (spi_dec_translate_mask): Removed unused variable priv.
50 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
51 * registryd/registry.c:
52 (registry_filter_event): Remove unused variable queue_is-empty.
53 (impl_registry_notify_event): Use correct modifier in fprintf call.
55 This fixes compiler warnings reported in bug #120220.
57 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
59 * registryd/registryd.c: Remove this file.
61 2003-08-17 Sanlig Badral <badral@openmn.org>
63 * configure.in: Added mn to ALL_LINGUAS.
65 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
67 * configure.in: Added et to ALL_LINGUAS.
69 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
71 * test/event-listener-test.c: Change active-descendant to
72 active-descendant-changed.
74 2003-08-10 Sami Pesonen <sampeson@iki.fi>
76 * configure.in: Added "fi" in ALL_LINGUAS.
78 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
80 * configure.in: Added "hi" in ALL_LINGUAS.
82 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
84 * configure.in: Revved to 1.3.6.
88 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
90 * registryd/deviceeventcontroller.c
91 (spi_device_event_controller_object_finalize): Fix typo in previous
94 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
96 * registryd/deviceeventcontroller.c
97 (spi_device_event_controller_object_finalize): Fix build on
98 systems without XEvIE.
100 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
102 * acconfig.h, configure.in, registryd/Makefile.am,
103 registryd/devicecontoller.[ch]: Add XEViE support.
105 2003-08-06 Wang Jian <lark@linux.net.cn>
107 * configure.in: Added "zh_CN" to ALL_LINGUAS.
109 2003-08-06 Metin Amiroff<metin@karegen.com>
111 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
113 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
115 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
116 MODIFIER_ALT in correct place.
118 This fixes part of bug #118114.
120 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
122 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
124 2003-07-28 Changwoo Ryu <cwryu@debian.org>
126 * configure.in: Added "ko" to ALL_LINGUAS.
128 2003-07-28 Ole Laursen <olau@hardworking.dk>
130 * configure.in: Added "da" to the commented out ALL_LINGUAS.
132 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
134 * configure.in: Added "sq" to ALL_LINGUAS.
136 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
138 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
140 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
142 * configure.in: updated ALL_LINGUAS list
144 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
146 * configure.in: Added Belarusian to ALL_LINGUAS.
148 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
150 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
152 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
153 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
155 This fixes bug #116949.
157 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
159 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
160 Correct CSPI to SPI in function documentation.
162 This fixes bug #118054.
164 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
166 * configure.in: Added Russian to ALL_LINGUAS.
168 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
170 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
172 2003-07-14 Danilo Šegan <dsegan@gmx.net>
174 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
176 2003-07-10 Joel Brich <joel.brich@laposte.net>
178 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
180 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
182 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
184 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
186 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
187 resources allocated for AccessibleEvent. See cspi_event().
189 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
190 static variable streams to NULL.
192 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
193 Update so that AcessibleEvent_ref will work.
195 This fixes bug #116624.
197 2003-07-06 Jordi Mallach <jordi@sindominio.net>
199 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
201 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
203 * configure.in: Added "fr" (French) to ALL_LINGUAS.
205 2003-07-02 Christian Neumair <chris@gnome-de.org>
207 * configure.in: Added "de" (German) to ALL_LINGUAS.
209 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
211 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
213 2003-07-01 Miloslav Trmac <mitr@volny.cz>
215 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
217 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
219 * configure.in: Added "pl" to ALL_LINGUAS.
221 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
223 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
225 2003-06-30 Bill Haneman <bill.haneman@sun.com>
228 (get_action_from_servant):
229 Removed assertion that action is implemented on an AtkObject.
231 * libspi/hyperlink.c:
233 Aggregate AccessibleAction interface on the hyperlink object if
234 the object implements AtkAction. (This convention is used in
237 2003-06-30 Bill Haneman <bill.haneman@sun.com>
239 * configure.in: Revved to 1.3.5.
241 * registryd/Accessibility_Registry.server.in.in:
242 Marked up appropriate strings for translation.
244 * atk-bridge/bridge.c: Marked a couple of
245 user-visible warnings for translation. Questionable
246 whether they are really useful, but possibly so.
249 2003-06-28 Christian Rose <menthos@menthos.com>
251 * configure.in: Added "sv" to ALL_LINGUAS.
253 2003-06-26 Bill Haneman <bill.haneman@sun.com>
255 * registryd/registry.c:
256 (spi_registry_object_finalize): Unref the deviceeventcontroller.
257 (registry_defer_on_event): Defer focus: events, this is an
258 improvement to the patch for bug #108664.
260 * TODO: Update with 2.4/"Dev Complete" items.
262 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
264 * atk-bridge/bridge.c:
265 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
266 looks up signals once.
267 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
268 if doing registration.
269 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
270 when doing registration.
272 This fixes bug #115014.
274 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
276 * atk-bridge/bridge.c:
277 (atk_bridge_init): Add signal handler for children-changed:remove on
278 root when in a BonoboComponent.
279 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
280 for first toplevel only other incrememt variable toplevels.
281 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
282 application and remove listeners.
283 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
285 (spi_atk_deregister_event_listeners): New function which removes
287 (reinit_register_vars): New fuction which reinitializes variables.
289 This fixes bug #111578.
291 2003-06-13 Bill Haneman <bill.haneman@sun.com>
293 * configure.in: version 1.3.4.
295 * cspi/spi_accessible.c:
296 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
299 2003-06-13 Michael Meeks <michael@ximian.com>
301 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
303 * cspi/spi_main.c (cspi_peek_ev): impl.
305 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
307 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
309 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
311 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
312 SPI_ROLE_AUTOCOMPLETE
314 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
316 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
317 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
319 2003-06-11 Bill Haneman <bill.haneman@sun.com>
321 * libspi/streamablecontent.h:
322 * libspi/streamablecontent.c:
323 New files, provide implementation/wrappers for
324 Accessibility_StreamableContent.
326 * cspi/spi_streamablecontent.c:
327 Connected the C wrappers to the libspi C bindings.
328 (AccessibleStreamableContent_close): New method.
331 (AccessibleStreamableContent_close): New method, needed
332 since we have an "open, [seek], read, close" model in cspi.
334 2003-06-11 Bill Haneman <bill.haneman@sun.com>
336 Fix for #108664; Padraig's revision of my original patch.
338 * registryd/registry.h:
339 Added event queue list, is_queuing, and exit_notify_timeout
340 to the registry struct.
342 * registryd/registry.c:
343 (registry_init): Initialize new struct from registry.h.
344 (impl_registry_notify_event):
345 Filter events before notifying, in case some need to be
347 (registry_filter_event): New,
348 we defer certain incoming events (for instance
349 window:deactivate) because we may wish to hide
350 or reject them based on pending events. This is
351 mostly a workaround for bug #108664.
352 (registry_queue_event, registry_start_queue): New.
353 (registry_defer_on_event): Test event to see if it
355 (registry_reset_on_event): Returns TRUE if the
356 event should cause a queue reset.
357 (registry_discard_on_event): Returns TRUE if the event
358 should cause the previous queue contents to be discarded.
359 (registry_timeout_flush_queue): Flushes the pending event
360 queue if no reset/discard-triggering events have come in
361 within the timeout period.
362 (registry_emit_event): New.
363 (registry_clone_notify_context): New, used when queueing the
364 event notify contexts.
366 2003-06-10 Bill Haneman <bill.haneman@sun.com>
368 * configure.in: Version revved to 1.3.2, lt 0.9.2
369 Incremented ATK required version to 1.3.4.
371 * cspi/spi_registry.c:
372 (SPI_generateKeyEvent):
373 We now pass the keystring along if it's non-null.
375 * registryd/deviceeventcontroller.c:
376 (keysym_mod_mask): New method, returns modifier mask
377 required to generate a keysym from a given keycode.
378 (dec_synth_keysym): New method.
379 (dec_synth_keystring): New method.
380 (dec_get_modifier_state): New method.
381 (dec_lock_modifiers): New
382 (dec_unlock_modifiers): New.
383 (dec_keysym_for_unichar): New, rather brute-force
384 conversion from UCS-4 to X KeySyms. Only works for
385 Latin at the moment, with partial implementations for
386 Greek, Hebrew, and (incomplete) Katakana.
387 (impl_generate_keyboard_event): Now implement
388 "KEYSTRING" synthesis and implement "KEYSYM"
390 (keycode_from_keysym): Improved, passes a returned
391 modmask value now if the corresponding param is non-NULL.
393 Fixes bugs #92143 and #109776.
396 * test/keysynth-test.c:
397 New test program for key synthesis, to confirm fixes for
401 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
403 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
405 * cspi/spi_accessible.c (cspi_init_relation_type_table):
406 Add line for RELATION_POPUP_FOR
408 * docs/reference/cspi/tmpl/spi_relation.sgml:
409 Add relation SPI_RELATION_POPUP_FOR
411 * docs/reference/cspi/tmpl/spi_stateset.sgml:
412 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
414 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
416 * libspi/relation.c (spi_init_relation_type_table):
417 Add line for RELATION_POPUP_FOR
419 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
421 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
422 there are still windows which have not been deleted and emit
423 window:deactivate, if necessary and window:destroy events.
424 This fixes bug #114370. The change on June 5th was not correct.
426 2003-06-09 Bill Haneman <bill.haneman@sun.com>
428 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
431 (SPI_dupString): Allow dup-ing of a string such that it's safe to
433 New methods for client exception handling and interception.
434 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
435 (SPI_exceptionHandlerPop): You guessed it...
436 (SPI_getSourceType): Return the type of object which offended.
437 (SPI_getExceptionCode): Return an enum code telling, possibly,
438 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
439 (SPIAccessibleException_getSource): get the source object for
440 exceptions that come from Accessibles, if SPIExceptionSourceType is
441 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
442 (SPIException_getDescription): New, returns a string description of
443 the problem. [Not yet a stable ABI, strings are not frozen]
445 * cspi/spi-private.h:
446 Added implementation details of opaque SPIException
450 Implementations of above. Also
451 (_cspi_exception_throw): new private method that
452 dispatches exceptions to handlers, called from cspi-bonobo.c
454 * cspi/bonobo/cspi-bonobo.c:
455 (cspi_check_ev): call _cspi_exception_throw.
456 Don't print a warning message if the exception has been
457 handled by _cspi_exception_throw.
459 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
461 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
462 there are still windows which have not been deleted and emit
463 window:deactivate, if necessary and window:destroy events.
464 This fixes bug #114370.
466 2003-06-03 Bill Haneman <bill.haneman@sun.com>
469 (cspi_accessible_is_a): Make non-fatal
470 if the object reference is dead.
472 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
474 * cspi/spi_main.c: #include <stdio.h>
475 * test/simple-at.c: ditto
476 * test/event-listener-test.c: ditto
477 * test/screen-review-test.c: ditto
479 2003-05-30 Michael Meeks <michael@ximian.com>
481 * test/test-simple.c (main): use CORBA_ORB_perform_work
482 instead of an unnecessary linc_ call.
484 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
486 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
487 Add SPI_STATE_INDETERMINATE.
489 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
492 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
494 * libspi/stateset.c (init_state_type_tables): Add support for
497 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
499 * configure: Update versions of atk and gail required.
500 This fixes bug #113268.
502 2003-05-02 Bill Haneman <bill.haneman@sun.com>
504 * configure.in: Revved micro version to 1.3.1 (because of build fix).
506 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
508 * libspi/Makefile.am:
509 Ensure headers are generated before being used by c sources.
511 2003-05-01 Bill Haneman <bill.haneman@sun.com>
514 Simplified lt versioning rules.
515 Incremented version to 1.3.0, to indicate that we're on the
518 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
520 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
521 Add MKDB_OPTIONS=--outtput-format=xml
523 * docs/reference/cspi/at-spi-cspi-docs.sgml
524 docs/reference/idl/at-spi-idl-docs.sgml:
525 Convert to Docbook XML.
527 This fixes bug #111793.
529 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
531 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
532 AcccessibleKeyEventType, AccessibleKeyMaskType.
534 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
536 * cspi/state-types.h: Add documentation for AccessibleState.
538 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
539 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
540 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
541 AccessibleComponentLayer.
543 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
546 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
548 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
549 Accessible. Add description of AccessibleEvent,
550 AccessibleEventListenerCB.
552 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
555 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
556 documentation. Add description of AccessibleKeystrokeListenerCB,
557 AccessibleKeyEventMask, AccessibleModifierMaskType,
558 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
559 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
561 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
564 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
567 This fixes bug #104730.
569 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
571 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
572 Set is_text field of Accessibility_DeviceEvent data structure.
574 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
575 is-text field of AccessibleDeviceEvent data structure.
577 This addresses part of bug #108666.
579 * registryd/devcieeventcontroller.c: Unset debug option.
581 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
584 (cpi_initial_relation_type_table): New function which initializes
585 mapping between Accessibility_RelationType and AccessibleRelationType.
586 (cspi_relation_type_from_spi_relation_type): New function which
587 translates an Accessibility_RelationType into an AccessibleRelationType.
588 (AccessibleRelation_getRelationType): Use
589 cpi_relation_type_get_spi_relation_type to return correct value.
590 (spi_state_to_corba): Return correct type for default case.
592 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
593 Use Accessibility_EventType instead of Accessibility_KeyEventType.
595 * cspi/cspi-bonobo-listener.c:
596 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
599 * libspi/accessible.c, libspi/action.c, libspi/application.c,
600 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
601 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
602 libspi/image.c, libspi/listener.c, libspi/selection.c,
603 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
604 registryd/desktop.c, registryd/registry.c:
605 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
607 * libspi/eventlistener.c
608 Remove semicolon after BONOBO_TYPE_FUNC.
611 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
612 (spi_init_relation_type_table): Initialize using correct type.
614 * registryd/desktop.c:
615 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
616 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
617 of Accessibility_KeyEventType.
619 * test/key-listener-test.c (report_tab_key_event): Use fprintf
622 * tests/simple-at.c, tests/screen-review-test.c:
623 Add include for <strings.h>.
625 * tests.stress-test.c:
626 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
628 These changes fix compiler warnings when using FORTE compiler on
629 Solaris; fixes bug #107479.
632 2003-04-10 Bill Haneman <bill.haneman@sun.com>
635 * configure.in: revved to 1.1.10
638 (SPI_KEYMASK_NUMLOCK): Added.
640 * registryd/deviceeventcontroller.c:
641 (spi_key_event_matches_listener): AND with a smaller
642 bitmask (as we should).
643 (spi_dec_translate_mask):
644 New method, sets the virtual NumLock modifier bit
645 if numlock is on. Eventually it can handle other virtual
646 modifier bits if needed, or other marshalling from
647 at-spi modifier masks to platform (X) masks.
648 (spi_dec_key_listener_new):
649 Call spi_dec_translate_mask to set up virtual mod bits
650 in the 'mask' field when creating a new listener struct.
651 (spi_dec_emit_modifier_event):
652 Set the virtual (i.e. NumLock) bits before emitting event.
653 (spi_controller_register_with_devices):
654 Query for the NumLock modifier 'physical' bit if Xkb is
655 present, for use in above methods.
659 2003-04-10 Bill Haneman <bill.haneman@sun.com>
661 * registryd/deviceeventcontroller.c:
662 (spi_keystroke_from_x_key_event):
663 Instead of checking to see if the keysym is
664 printable, check the string from XLookupString
665 if available, get the first unicode character from it,
666 and call g_unichar_isprint to determine whether the
667 is_text flag should be TRUE or FALSE.
671 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
673 * atk-bridge/bridge.c: Add support for extended events
674 * cspi/spi_event.c: Add documentation and implementation for
676 * tests/event-listener-test.c: Add tests for extended events.
678 This fixes bugs #100424 and #100426.
680 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
682 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
683 of LT_CURRENT. This fixes bug #89350.
685 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
687 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
688 number of signal parameter values before accessing them. This fixes
691 2003-04-01 Bill Haneman <bill.haneman@sun.com>
693 * configure.in: Fixed duplicate inclusion of -lspi.
694 * branched for gnome-2-2/HEAD.
695 [created tag "gnome-2-2"]
697 2003-03-07 Bill Haneman <bill.haneman@sun.com>
699 * configure.in: 1.1.9 release.
702 2003-03-07 Bill Haneman <bill.haneman@sun.com>
704 [needed by GOK, to fix bugs 107985 and 107988]
705 * registryd/deviceeventcontroller.c:
706 (spi_dec_clear_unlatch_pending):
707 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
708 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
709 (spi_dec_init_mouse_listener):Emit warning if mouse button
711 (spi_device_event_controller_forward_mouse_event):
712 Removed unnecessary parens from a conditional.
713 (global_filter_fn):Added TODO comment.
714 (impl_generate_keyboard_event):
715 Cancel a pending relatch if a 'delatching' key was
718 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
720 * atk-bridge/bridge.c:
721 Change atk_signal_child_changed to atk_signal_children_changed.
722 Reorganize code in spi_atk_bridge_signal_listener().
724 * test/event-listener-test.c:
725 Add children_changed_listener and report_children_changed_event()
726 to test AccessibleChildEvent_getChildAccessible.
728 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
730 * cspi/spi_event.c (cspi_internal_event_get_text): Change
731 g_strdup to CORBA_String_dup (bug #105291)
733 * test/event-listener-test.c (report_text_event): Add call to
736 2003-02-28 Bill Haneman <bill.haneman@sun.com>
738 * registryd/deviceeventcontroller.c:
739 (spi_keystroke_from_x_key_event):
740 Fix string and keysym return codes to match modifier state.
743 2003-02-28 Bill Haneman <bill.haneman@sun.com>
745 * registryd/deviceeventcontroller.c:
746 (spi_keystroke_from_x_key_event):
747 Fix segv due to improper use of isprint(c). [bug #107254]
749 2003-02-24 Bill Haneman <bill.haneman@sun.com>
752 (get_accessible_text_boundary_type):
753 Move default return value to (new) default case in switch.
754 (get_accessible_text_clip_type):
755 Move default return value to (new) default case in switch.
757 * libspi/application.c:
758 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
759 Remove unused methods.
760 (impl_accessibility_application_register_object_event_listener):
761 Remove unused methods.
764 Added #include of <math.h>.
766 * registryd/deviceeventcontroller.c:
767 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
768 we don't currently use this method.
769 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
771 (impl_generate_key_event):
772 Remove unused variables.
773 (impl_generate_mouse_event):
774 Initialize button to zero, just in case we get an invalid
775 input. Added support for mouse buttons 4 and 5.
776 (spi_device_event_controller_new):
777 Removed unused variable declaration for 'private'.
779 Added #include of <gdk/gdk.h>
781 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
783 * configure.in: Update to work when X is not installed in expected
784 location. Fixes bug #105836.
786 * atk-bridge/bridge.c
787 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
789 (spi_atk_register_event_listener): Add signal listener for
791 (spi_atk_bridge_signal_listener): Event event when link-selected
792 signal is emitted. (bug #104622)
794 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
795 on returned string. (bug #105291)
797 * test/event-listener-test.c: Add test for link-selected.
799 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
801 * atk-bridge/Makefile.am: Correct typo in previous commit.
803 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
805 * atk-bridge/Makefile.am: Allow for build directory to be different
806 from source directory
808 * registryd/Makefile.am: Allow for build directory to be different
809 from source directory
813 2003-01-29 Bill Haneman <bill.haneman@sun.com>
816 Fixed dependencies for libcspi so that libspi gets pulled in
817 properly. Fixes 104741.
821 Clean up inline docs a little.
823 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
825 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
826 This is done by implementing AtkComponent for SpiAtkDesktop, which is
827 the AtkObject within an SpiDesktop.
828 This addresses bug #101524.
830 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
831 Remove call to gdk_init().
833 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
834 so that Display is set when SpiDesktop is created.
836 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
838 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
839 This fixes bug #102830.
841 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
843 * test/test-simple.c: Update to take account of fact that GailButton
844 now implements AtkText.
845 (create_text_window): Set name on AtkObject for GtkEntry.
846 (validate_accessible): Check accessible name before calling test_text().
848 * libspi/Makefile.am: Fix problem with building outside of source
849 directory. Bug #98120.
851 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
852 typo in documentation comments. Bug #94275.
854 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
856 * libspi/text.c (impl_getBoundedRanges): Bug fix.
858 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
861 Add includes to avoid compiler warnings on Solaris.
862 (impl_getRangeExtents): Bug fix.
864 2002-12-17 Bill Haneman <bill.haneman@sun.com>
866 Fix for 100944, [API addition approved by Gman and murrayc].
873 * idl/Accessibility_Text.idl:
874 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
875 (Text::getRangeExtents): New method for efficient
876 bounds query of a text range.
877 (Text::getBoundedRanges): New method for efficient
878 clipping of text to bounding boxes.
879 (unImplemented7, unImplemented8):
880 Removed these padding methods to preserve bincompat.
883 (impl_getRangeExtents): implementation of new IDL.
884 (impl_getBoundedRanges): implementation of new IDL.
885 (SpiTextRect): Internal use struct.
886 (_spi_text_rect_union): internal method, calculates union of two
887 SpiTextRect bounding rects.
888 (_spi_text_range_seq_from_gslist): internal method, allows us
889 to build our sequence efficiently as a gslist then convert it
891 (_spi_bounds_contain): internal method, determines whether
892 a text character is "in" or "out" of a clip rect according to
893 values of TEXT_CLIP_TYPE.
894 (spi_text_class_init): Initialize the new methods in the epv.
897 (AccessibleTextClipType): New enum used by screen review api.
898 (AccessibleTextRange): New struct used by screen review api.
899 (AccessibleText_getRangeExtents):
900 cspi binding for Accessibility_Text_getRangeExtents.
901 (AccessibleText_getBoundedRanges):
902 cspi binding for Accessibility_Text_getBoundedRanges.
903 (AccessibleTextRange_freeRanges): convenience method.
906 (AccessibleText_getRangeExtents):
907 cspi binding for Accessibility_Text_getRangeExtents.
908 (AccessibleText_getBoundedRanges):
909 cspi binding for Accessibility_Text_getBoundedRanges.
910 (AccessibleTextRange_freeRanges): convenience method.
911 (get_accessible_text_clip_type): internal conversion method.
912 (get_accessible_text_ranges_from_range_seq): internal conversion method.
914 * registryd/deviceeventcontroller.c:
915 (spi_dec_mouse_check):
916 Improved behavior for mouse:abs events
917 [same granularity as mouse:rel events, and no
918 events when mouse is idle].
920 2002-12-16 Michael Meeks <michael@ximian.com>
922 * cspi/spi_accessible.c (spi_state_to_corba): rename.
924 * libspi/stateset.c (state_spi_to_atk): split out
925 ( fix several remote array bounds nasties )
926 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
927 (impl_remove): make safe from array bounds issues.
928 (spi_atk_state_from_spi_state): impl.
930 * libspi/stateset.h (spi_state_set_cache_is_empty):
931 add a set of wrapper defines to get layering right.
933 * cspi/spi_accessible.c: update state set stuff to
936 2002-12-14 Michael Meeks <michael@ximian.com>
938 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
939 to avoid 2 roundtrips to the registry per key event
940 (spi_atk_bridge_key_listener): upd.
941 (deregister_application): release the dec.
943 * registryd/registry.c (notify_listeners_cb):
944 bin lots of re-enterant complexity - we no longer
945 do a round-trip bonobo ref here, ensure that a single
946 listener's exception failure won't poison all other
948 (impl_registry_notify_event): bin obvious memory leak.
950 2002-12-13 Michael Meeks <michael@ximian.com>
952 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
953 init the ev so the error is meaningful.
954 (spi_atk_bridge_key_listener): ditto.
956 * cspi/spi_main.c (cspi_ev): init the ev so we start
957 with a clean slate, otherwise the first exception
960 * cspi/spi_text.c (get_accessible_text_boundary_type):
961 add a fallthrough for no warnings.
963 * cspi/spi_registry.c: prune unused warnings.
965 * cspi/spi_main.c (cspi_object_take): fix
966 mind-blowing brokenness ( by watching the compile
969 * cspi/spi_accessible.c (Accessible_getStateSet):
970 re-impl. to use an AtkStateSet.
971 (spi_state_type_from_accessible_state),
972 (init_state_table): bin these.
974 * libspi/stateset.c (spi_atk_state_set_from_sequence):
976 (atk_state_set_from_accessibility_state_set): here.
978 * cspi/spi_accessible.c (spi_state_to_atk): impl.
979 (AccessibleStateSet_contains, AccessibleStateSet_ref),
980 (AccessibleStateSet_unref, AccessibleStateSet_contains),
981 (AccessibleStateSet_add, AccessibleStateSet_remove),
982 (AccessibleStateSet_equals, AccessibleStateSet_compare),
983 (AccessibleStateSet_isEmpty): re-write to use a local
986 2002-12-13 Bill Haneman <bill.haneman@sun.com>
988 * configure.in: Revved to 1.1.7 (new keymask vals).
990 2002-12-10 Bill Haneman <bill.haneman@sun.com>
993 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
995 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
998 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
999 to compare two CORBA_TypeCodes.
1000 (cspi_internal_event_add): Silence warning from FORTE compiler.
1002 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
1003 avoid implicit declaration of functions.
1005 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
1007 * atk-bridge/bridge.c:
1008 (spi_atk_bridge_init_event_type_consts): Store signal id for
1009 active-descendant-changed signal.
1010 (spi_atk_register_event_listeners): Add signal listener for
1011 active-descendant-changed signal,
1012 (spi_atk_bridge_signal_listener): Move code in function
1013 spi_atk-signal_emit_event() into this function.
1014 Add support for active-descendant-changed
1015 Update support for child-changed signal.
1016 (spi_bridge_window_event_listener): Silence warning.
1018 * libspi/spi_private.[ch]:
1019 (spi_init_any_object): Change second parameter from CORBA_Object to
1021 Omit call to CORBA_Object_duplicate().
1022 Set CORBA_any's _value to CORBA_Object*.
1024 2002-12-06 Bill Haneman <bill.haneman@sun.com>
1030 (AccessibleEvent_ref, AccessibleEvent_unref):
1031 New methods, for persisting an event outside the emission context.
1032 Must be used if the new accessor methods are to be called
1033 outside of the event listener's callback.
1035 * cspi/bonobo/cspi-bonobo.c:
1036 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1037 as second parameter instead of NULL, so we can call
1038 cspi_check_ev afterwards.
1041 (cspi_object_take): New internal method,
1042 converts a CORBA_Object reference to a hard ref on
1043 an Accessible if possible, returning NULL if the object
1044 reference is invalid or an Accessible * otherwise.
1047 (AccessibleEvent_ref):
1048 Increment the event's internal private refcount, and
1049 add the event's internal struct to an internal cache
1050 if it's not already there.
1051 (AccessibleEvent_unref):
1052 Decrement the event's refcount and remove it from
1053 the cspi event cache if refcount==0.
1054 (cspi_event_compare): New private method.
1055 Compares two event structs via their ids. Used
1057 (cspi_internal_event_lookup): New private method.
1058 (cspi_internal_event_check): New private method,
1059 a 0-order sanity check for events to make sure their
1060 private data is intact.
1061 (cspi_internal_event_add, cspi_internal_event_remove):
1062 New private methods for managiing the event cache.
1064 * cspi/bonobo/cspi-bonobo-listener.c:
1066 Initialize the new private data elements (id, magic, ref_count).
1068 * atk-bridge/bridge.c:
1069 (spi_atk_bridge_signal_listener):
1070 Fixed bug #100530, passing wrong params to emission func.
1072 * registryd/deviceeventcontroller.c:
1073 (spi_dec_button_update_and_emit):
1074 Fixed type in mask bit operations; fix for #99799.
1076 2002-12-02 Bill Haneman <bill.haneman@sun.com>
1078 Removed some of the more dangerous workarounds from
1079 previous commit; they are only needed by GOK, which
1080 in reality should be using another method to accomplish
1081 the goals. So on reconsideration some of the workarounds
1082 need to be reverted:
1084 * registryd/deviceeventcontroller.c:
1085 (spi_keycodes_contain, spi_dec_init_keycode_list):
1086 Removed these methods, used only by a nasty hack to try
1087 and detect whether a key synthesis should be allowed
1088 to reset the XKB latch state or not. This code was only
1089 required to work around an interaction between GOK,
1090 button events, and XKB.
1091 (impl_generate_key_event):
1092 Removed hack at end of key generation that tried to
1093 "do the right thing" if XKB latch keys were generated
1094 in the midst of button press/release pairs.
1097 Added a check for HAVE_XINPUT. Not normally used yet.
1099 2002-11-25 Bill Haneman <bill.haneman@sun.com>
1101 Workarounds and fixes for mouse event/XKB interaction.
1103 * registryd/deviceeventcontroller.c:
1104 (spi_keycodes_contain, spi_dec_init_keycode_list):
1105 New internal methods.
1106 (spi_dec_set_unlatch_pending):
1107 Split the method that tells XKB to expect an
1108 unlatch (and revert it) out of the rest of the
1109 event handling code. This method is called by the
1110 two mouse event handlers (the poll and the filter).
1111 (spi_dec_update_and_emit, spi_dec_mouse_check):
1112 New methods split from spi_dec_poll_mouse_moved.
1113 The second one is now called from inside the filterFn
1114 when an XKB delatch event is received, to determine
1115 whether to revert the delatch or not.
1116 (spi_poll_mouse_moved): Refactor; also we can now
1117 properly handle the case where multiple button states
1118 have changed between polling cycles and we didn't get
1119 notified due to another client's grab.
1121 Synchronize the server while handling an XKB notification.
1122 Ugly, but apparently necessary to avoid nasty races.
1123 Check the mouse state on receipt of an XKB latch change,
1124 to decide whether to revert the latch or not. (Latches are
1125 reverted if there is an immediately preceding mouse button
1126 event that a client has consumed, in which case we don't want
1127 the user to see the side-effect of the event).
1128 (spi_device_event_controller_forward_mouse_event):
1129 Check for modifier events and fire before resetting mouse_mask_state,
1130 prevents losing modifier events.
1132 (impl_generate_keyboard_event):
1133 If we've just generated a keyboard event for a non-shift key,
1134 we don't want to revert the pending XKB latch.
1135 Otherwise, check the modifier state (via a call to
1136 spi_dev_mouse_check) and set the relatch mask to
1137 that state before returning.
1139 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1142 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1145 * atk-bridge/bridge.c:
1146 (spi_atk_register_event_listeners):
1147 Don't re-register for ATK events if the registry has died
1148 and the app needs to re-register; the ATK listeners are in
1149 process and doing so will cause duplicate emission.
1151 * registryd/deviceeventcontroller.c:
1152 (spi_poll_mouse_moved):
1153 Reformat the source, detect and emit multiple button-change
1154 events (i.e. if multiple buttons have changed between poll
1156 Add code to detect mouse-down events even when the pointer
1157 is grabbed; workaround for GOK bug 98420.
1158 (spi_controller_register_with_devices):
1159 Call XTestGrabControl with 'impervious' flag set to True,
1160 allows us to synthesize events and query the pointer even during
1161 an active grab by another client.
1162 (spi_device_event_controller_forward_mouse_event):
1163 Set the mouse_mask_state to the mouse_button_state from
1164 the intercepted event, to synchronize the grab listener with
1167 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1169 * cspi/spi_accessible.c:
1170 (AccessibleRole_getName):
1171 Added necessary strings for making this (deprecated)
1172 method work with the new role types.
1173 (init_role_table, role_table):
1174 Added definition of SPI_ROLE_APPLICATION.
1176 * libspi/spi-roletypes.h:
1177 Added SPI_ROLE_APPLICATION.
1179 * idl/Accessibility_Role.idl:
1180 Added ROLE_APPLICATION.
1182 * docs/reference/cspi/at-spi-cspi-decl.txt:
1183 Added SPI_ROLE_APPLICATION to docs.
1185 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1187 * cspi/spi_accessible.c
1188 (cspi_init_role_table): Do not write beyond end of role_table.
1189 (Accessible_getRole): Use correct type for value returned by
1190 Accessibility_Accessible_getRole().
1192 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1193 beyond end of role_table. (This fixes bug #98269)
1195 * libspi/application.c: Add include file spi-private.h for
1196 definition of spi_init_any_nil.
1198 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1202 * libspi/spi-private.h:
1203 Added DGB() macro, and extern int _dbg declaration.
1205 * registryd/registry.c:
1206 (definitions) storage for _dbg.
1207 (spi_registry_init):
1208 Get environment variable "AT_SPI_DEBUG".
1209 (spi_registry_set_debug):
1210 New method, to initialize _dbg value.
1211 (spi_listener_struct_new, spi_registry_object_finalize):
1212 (notify_listeners_cb):
1213 Changed fprintfs to use DBG and g_warning().
1215 * registryd/deviceeventcontroller.c:
1216 (_deregister_keygrab, spi_controller_register_device_listener):
1217 Changed debug/warning messages to use DBG macro.
1219 * libspi/listener.c:
1220 (impl_notify_event):
1221 Changed warning messages to use DBG macro and g_warning().
1223 * atk-bridge/bridge.c:
1224 (atk_bridge_init, spi_atk_bridge_get_registry):
1225 (spi_atk_bridge_exit_func):
1226 (spi_atk_bridge_property_event_listener):
1227 Changed status, warning, and error messages to use
1228 g_warning, g_message, and DBG macros.
1231 Read the state of the AT_SPI_DEBUG environment variable
1232 and set a local '_dbg' accordingly.
1234 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1236 FIXES for 98836, 98842, other bugs.
1239 Revved to 1.1.4, interface-age=4, binary-age=4.
1241 * registryd/deviceeventcontroller.c:
1243 Fixed crasher bug in last_mouse_pos initialization.
1245 * registryd/registry.c:
1246 (desktop_add_application, desktop_remove_application):
1247 Added (and then commented out) some support for
1248 object context marshalling. [TODO]
1250 * atk-bridge/bridge.c:
1251 (spi_atk_bridge_event_context_create):
1252 Commented out object context creation until it can
1253 be properly tested and debugged.
1255 * registryd/registry.c:
1256 (impl_registry_notify_event):
1257 Fixed crasher bug, we were calling
1258 spi_re_entrant_list_foreach () with an empty list.
1260 2002-11-18 Bill Haneman <bill.haneman@sun.com>
1262 * idl/Accessibility_Action.idl:
1263 * idl/Accessibility_Component.idl:
1264 * idl/Accessibility_Desktop.idl:
1265 * idl/Accessibility_Event.idl:
1266 * idl/Accessibility_Hyperlink.idl:
1267 * idl/Accessibility_Image.idl:
1268 * idl/Accessibility_Relation.idl:
1269 * idl/Accessibility_Selection.idl:
1270 * idl/Accessibility_State.idl:
1271 * idl/Accessibility_Value.idl:
1272 Updated unimplemented slot count to minimum of
1273 four for all interfaces, for ABI freeze.
1275 * idl/Accessibility_EditableText.idl:
1276 * idl/Accessibility_Text.idl:
1277 Updated unimplemented slot count to six
1280 * idl/Accessibility_Registry.idl:
1281 Updated unimplemented slot count to six
1282 (also for DeviceEventController),
1285 * idl/Accessibility_Table.idl:
1286 Updated unimplemented slot count to eight,
1289 * idl/Accessibility_Event.idl:
1290 Added CORBA_any "any_data" member to Event struct.
1292 * idl/Accessibility_Event.idl:
1293 Added CORBA_any "any_data" member to Event struct.
1295 * atk-bridge/bridge.c:
1297 atk_signal_text_changed, atk_signal_child_changed,
1298 signal ids queried from gtype system.
1299 (AtkBridgeEventContextType): New enum.
1300 (AtkBridgeEventContextData): New struct.
1301 (AtkBridgeEventContext): New struct.
1302 (atk_bridge_init_event_type_consts):
1303 New method, initializes type contants for comparison
1304 prior to emit_eventv.
1305 (atk_bridge_event_context_init): New method,
1306 initializes a CORBA_any from an AtkBridgeEventContext.
1307 (atk_bridge_focus_tracker): Call spi_init_any_nil to
1308 initialize the event.any_data struct.
1309 (spi_atk_bridge_event_context_create): New method,
1310 creates an AtkBridgeEventContext from signal/event info.
1311 (spi_atk_bridge_event_context_free): New method.
1312 (spi_atk_emit_eventv): Changed to take an
1313 AtkBridgeEventContext parameter. We now initialize
1314 the event.any_data member prior to notifying the
1315 Registry, via the AtkBridgeEventContext.
1316 (spi_atk_bridge_property_event_listener):
1317 (spi_atk_bridge_state_event_listener):
1318 Match emit_eventv signature.
1319 (spi_atk_bridge_object_event_listener):
1320 Match emit_eventv signature, and create an
1321 event context from the event details.
1322 Free the event context afterwards.
1323 (spi_atk_bridge_window_event_listener):
1324 Create an event context, pass it to the
1328 (AccessibleEvent_getContextString):
1329 (AccessibleEvent_getContextObject):
1330 New methods, allow query of AccessibleEvent objects
1331 for more context details (via the "any_data" member
1332 of the Event struct, above).
1335 Definitions for AccessibleEvent_getContextString
1336 and AccessibleEvent_getContextObject.
1338 * cspi/spi_listener.h:
1339 (InternalEvent): New struct.
1342 (AccessibleEvent_getContextString):
1343 (AccessibleEvent_getContextObject):
1344 Implementations of new methods, for obtaining
1345 additional context information from some event types.
1347 * cspi/spi_registry.c:
1348 (SPI_registerGlobalEventListener):
1349 Added mention of active-descendant-changed event in docs.
1351 * cspi/cspi-bonobo-listener.c:
1353 Marshal the any into the AccessibleEvent via
1356 * libspi/spi-private.h:
1357 #include <orbit/orbit.h>
1359 (spi_init_any_string):
1360 (spi_init_any_object):
1361 New convenience function declarations.
1365 (spi_init_any_string):
1366 (spi_init_any_object):
1367 New convenience function implementations.
1369 * registryd/deviceeventcontroller.c:
1370 (spi_poll_dec_mouse_moved):
1371 (spi_device_event_controller_forward_mous_event):
1372 Initialize any_data member of event.
1373 (spi_deregister_controller_device_listener):
1374 Fix incorrect param pass which was preventing deregistration.
1376 * registryd/registry.c:
1377 (desktop_add_application):
1378 (desktop_remove_application):
1379 Add object data to event's any_data before dispatch.
1381 Fix for error messages from GAIL.
1383 * test/event-listener-test.c:
1384 Test new ContextString and "any_data" API:
1385 (report_text_event): New method query and output context string.
1386 (main): register a new text listener with report_text_event
1389 2002-11-19 Darren Kenny <darren.kenny@sun.com>
1391 Fixes for bugs 98127 and 97914.
1392 * cspi/spi-roletypes.h:
1393 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1395 * cspi/spi-statetypes.h:
1396 Added SPI_STATE_MANAGES_DESCENDANTS
1398 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1399 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1400 * cspi/spi_accessible.c:
1401 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1402 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
1403 Accessibility_STATE_MANAGES_DESCENDANTS
1404 * libspi/accessible.c:
1405 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1406 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
1407 As requested by Bill, I also cleaned up the alignment.
1408 * libspi/relation.c:
1409 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1410 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1411 * libspi/stateset.c:
1412 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1413 Accessibility_STATE_MANAGES_DESCENDANTS
1414 * docs/reference/cspi/tmpl/spi_accessible.sgml:
1415 Document changes reflecting modifications to roles.
1416 * docs/reference/cspi/tmpl/spi_relation.sgml:
1417 Document changes reflecting modifications to relations.
1418 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1419 Document changes reflecting modifications to states.
1421 2002-11-17 Bill Haneman <bill.haneman@sun.com>
1424 Revved to 1.1.3, interface-age=3, binary-age=3.
1425 Added REBUILD macro.
1428 Removed accessx-gui from the tests, since we have a nice
1429 keyboard accessibility capplet now :-)
1431 * test/keysynth-demo.c:
1432 (increment_scan): removed do-nothing default: case,
1435 * test/visual-bell.c:
1436 (main) : removed do-nothing default: case,
1439 * cspi/spi_action.c:
1440 (AccessibleAction_getKeyBinding_):
1441 Documented keybinding string format.
1445 (AccessibleText_getAttributes):
1446 Documented the text attribute string format.
1447 It's changed to use semicolon delimiters also,
1448 to prevent clashes with CSS attributes, but the old
1449 trick of looking for ", " strings will still work
1450 (as unreliably as ever). Fix for bug related to 97916.
1453 Include <cspi/bonobo/cspi-bonobo-listener.h>
1454 Fixes build warning.
1455 (SPI_freeAccessibleKeySet):
1456 (AccessibleKeystrokeListener_addCallback):
1457 (AccessibleKeystrokeListener_removeCallback):
1458 Modify to use AccessibleDeviceListener API internally,
1459 instead of AccessibleKeystrokeListener.
1461 * idl/Accessibility_Event.idl:
1462 Added two more empty slots to EventListener (for a total of four).
1464 * idl/Accessibility_Accessible.idl:
1465 Added four empty slots to Accessible interface.
1467 2002-11-15 Bill Haneman <bill.haneman@sun.com>
1469 * idl/Accessibility_Registry.idl:
1470 (KeyEventType, EventType):
1471 Marked KeyEventType as deprecated; it duplicates
1472 functionality of EventType, which has been extended to
1473 include Mouse-button events.
1474 (KeyEventTypeSeq): defined in terms of EventType.
1475 (registerDeviceEventListener, deregisterDeviceEventListener):
1476 New methods, for managing listeners to device events,
1477 which potentially may consume them.
1480 Added definition for AccessibleDeviceListener.
1482 * cspi/spi-listener.h:
1483 (enum AccessibleDeviceEventType):
1484 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1485 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1486 for backwards compat.
1487 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1488 and typedef'd AccessibleKeystroke to it for back-compat.
1489 (AccessibleDeviceListenerCB):
1490 New function prototype typedef.
1493 (AccessibleDeviceEventMask): New typedef.
1494 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1495 (AccessibleKeyMaskType):
1496 Set equivalent to AccessibleModifierMaskType for back-compat.
1497 (SPI_createAccessibleKeystrokeListener):
1498 (AccessibleKeystrokeListener_unref):
1499 Deprecated in favor of equivalent (better-named) new API below..
1500 keystroke listeners are like all device listeners.
1501 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1502 New API names for old features :-).
1503 (AccessibleDeviceListener_addCallback):
1504 (AccessibleDeviceListener_removeCallback):
1505 (SPI_registerDeviceEventListener):
1506 (SPI_deregisterDeviceEventListener):
1510 (SPI_createAccessibleKeystrokeListener):
1511 Use new preferred API, cspi_device_listener_new() and
1512 cspi_device_listener_add_cb().
1513 (AccessibleKeystrokeListener_removeCallback):
1514 Use new preferred API, cspi_device_listener_remove_cb().
1515 (AccessibleKeystrokeListener_unref):
1516 Use new preferred API, cspi_device_listener_unref().
1517 (SPI_createAccessibleDeviceListener):
1518 (AccessibleDeviceListener_addCallback):
1519 (AccessibleDeviceListener_removeCallback):
1520 Implementation of new API.
1522 * cspi/spi_registry.c:
1523 (SPI_registerDeviceEventListener):
1524 (SPI_deregisterDeviceEventListener):
1525 Implementation of new API. Fixed memory leak and removed need to
1526 allocate EventTypeSeq (thanks Michael for catching this).
1527 Squashed a wayward CORBA_exception_free that shouldn't get called.
1529 * cspi/bonobo/cspi-bonobo-listener.c:
1531 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1532 (cspi_key_event): renamed to cspi_device_event().
1533 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1534 Extended to handle mouse button events as well as key events.
1535 (CSpiKeystrokeListener):
1536 Class superceded by CSpiDeviceListener.
1537 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1538 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1540 * cspi/bonobo/cspi-bonobo-listener.h:
1541 (CSpiKeystrokeListener):
1542 Class superceded by CSpiDeviceListener.
1543 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1544 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1546 * libspi/Makefile.am:
1547 Replaced keystrokelistener.h and keystrokelistener.c
1548 with devicelistener.h and devicelistener.c; keystrokelisener.h
1549 stub retained for back-compat.
1551 * libspi/keystrokelistener.c:
1555 Replaced inclusion of keystrokelistener.h with devicelistener.h.
1557 * registryd/deviceeventcontroller.c:
1558 (DEControllerListener): Added Accessibility_EventTypeSeq member.
1559 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1560 (DEControllerPrivateData): Added xkb settings data.
1561 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1562 button release events (which can't be captured via XGrabButton).
1563 Don't dispatch via the 'normal' event mechanism if the device event was
1565 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1566 Handle the typeseq data in its new location (see above).
1567 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1568 New methods, for "generic" device listeners.
1569 (spi_controller_register_device_listener):
1570 Now handle mouse event listeners as well as key listeners.
1571 (spi_controller_notify_mouselisteners):
1572 New internal method.
1573 (spi_device_event_controller_forward_mouse_event):
1574 Now we notify mouse device listeners as well as generating the
1575 non-consumable "mouse:" events.
1577 We must check and restore the XKB
1578 modifier map if we consume the event, since the act of triggering
1579 a mouse event will normally reset the XKB latch. This is required for
1581 (spi_controller_register_with_devices):
1582 Load the XKB settings when registering, and register for XKB
1583 state notify events.
1584 (spi_key_eventtype_seq_contains_event):
1585 Renamed spi_eventtype_seq_contains_event, since it's used
1586 internally for all device event types now.
1587 (spi_key_event_matches_listener):
1588 Uses spi_eventtype_seq_contains_event now.
1589 (spi_device_event_controller_object_finalize):
1590 Free the private data and the XkbKeyboard struct.
1591 (impl_register_device_listener, impl_deregister_device_listener):
1592 Implementation of new IDL.
1593 (spi_deregister_controller_device_listener):
1594 New internal method.
1595 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1596 More efficient implementation, we don't have to create a new
1597 XkbControls structure every time we query.
1598 (spi_device_event_controller_class_init):
1599 Initialize the epv entries for the new IDL. Assign the
1600 "spi-dec-private" quark.
1601 (spi_device_event_controller_init):
1602 Initialize the private data.
1603 (spi_device_event_controller_forward_key_event):
1604 Removed a bogus CORBA_exception_free() call.
1606 * registryd/deviceeventcontroller.h:
1607 Replaced inclusion of keystrokelistener.h with
1610 * test/event-listener-test.c:
1611 (report_mouse_event):
1614 Added mouse-event device listener.
1616 * test/test-simple.c:
1617 (create_test_window):
1618 Fixed regression (we were instantiating a GtkRange,
1619 which is now an abstract class). Also fixed to match
1620 existing AtkRole names, this seems to have changed in ATK
1621 awhile ago; too late now I think, and the new
1622 mechanism is at least elegant and consistent with the
1623 glib enum "nick" APIs.
1625 2002-11-15 Darren Kenny <darren.kenny@sun.com>
1627 * idl/Accessibility_Relation.idl:
1628 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1629 RELATION_EMBEDS,RELATION_EMBEDDED_BY
1630 * idl/Accessibility_Role.idl:
1631 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1632 * idl/Accessibility_State.idl:
1633 add STATE_MANAGES_DESCENDANTS
1634 * test/event-listener-test.c:
1635 Added a listener for active-descendant events.
1637 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
1639 * atk-bridge/bridge.c
1640 (atk_bridge_init): If application is Bonobo component wait until top
1641 level is added before registering
1642 (spi_atk_bridge_do_registration): New function which contains code,
1643 formerly in atk_bridge_init, to do application registration.
1644 (spi_atk_bridge_toplevel_added): Signal called when top level
1645 added to Bonobo component
1647 This fixes bug #83134.
1649 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
1651 * registryd/deviceeventcontroller.c
1652 Fixed compilation error caused by calling gettimeofday()
1655 2002-10-18 Bill Haneman <bill.haneman@sun.com>
1660 Added template for HAVE_XKB.
1663 Changes to check for XKB, and to set the HAVE_XKB #define if it
1666 * libspi/listener.c:
1667 ()impl_notify_event): Make failure to get event source name
1670 * registryd/deviceeventcontroller.c:
1671 (#include): include X11/XKBlib.h.
1672 (DEControllerPrivateData) : New struct.
1673 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
1675 (dec_synth_keycode_press) (dec_synth_keycode_release):
1676 New methods; split the key synthesis code into these methods.
1677 They check XKB settings before determining the "time" values to
1678 pass to Xtest; this fixes bug #95828.
1679 (impl_generate_keyboard_event): Changed to use methods above,
1680 instead of callng Xtest directly.
1681 (spi_device_event_controller_init): Initialize new privae struct s
1683 (spi_device_event_controllr_object_finalize):
1684 Free the (new) private data.
1686 * registryd/deviceeventcontroller.h:
1687 Add new gpointer to end of struct data.
1689 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1692 Incremented revision to 1.1.2, SONAME is still '.so', library
1693 extensions are ".so.0.0.2".
1695 * registryd/deviceeventcontroller.c:
1696 FIXES FOR #93592 and #95940.
1697 (statics): renamed mouse_button_state to mouse_mask_state,
1698 added key_modifier_mask.
1699 (spi_dec_poll_mouse_moved):
1700 Added key modifier checks, and emit "keyboard:modifiers"
1701 events when the key modifiers currently in use change.
1702 Also generate "mouse:abs" events periodically, even if the mouse
1703 is stationary (should we?).
1704 Alternatively we could generate "mouse:abs" events for either all
1705 mouse movements, or every 'nth' mouse movement, or at the
1706 beginning and end of every "active" mouse period.
1708 * test/event-listener-test.c:
1709 (main): Added listener for "keyboard:modifiers" events.
1711 2002-10-15 Bill Haneman <bill.haneman@sun.com>
1713 * libspi/keymasks.h:
1714 Added key mask #defines for mouse buttons; e.g.
1715 SPI_KEYMASK_BUTTON1, etc.
1718 Incremented dependency on ATK to version 1.1.0. (This dependency
1719 is probably premature but will soon be real enough).
1721 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
1723 * libspi/hyperlink.[ch]
1724 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
1725 (get_hyperlink_from_servant): Check object is AtkHyperlink not
1728 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
1733 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
1735 * registryd/deviceeventcontroller.c
1736 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
1737 events to be ignored.
1738 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
1739 keyboard_mode so that XAllowEvents() can be called.
1743 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
1745 * cspi/spi-accessible.c: Correct names of roles returned by
1746 AccessibleRole_getName(). Fixes bug #95055.
1748 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
1750 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
1753 * registryd/registry.c
1754 (desktop_remove_application: Write diagnostic message to stderr for
1757 (impl_accessibility_registry_deregister_global_event_listener):
1758 Correct size of lists array. This addresses bug #94555).
1760 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
1762 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
1765 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
1767 * registryd/Makefile: Add CLEANFILES so that .server file is removed
1770 * registryd/registry.c (impl_registry_notify_event): Remove
1771 unnecessary call to parser_event_type().
1773 * docs/reference/cspi/tmpl/spi_component.sgml:
1774 Add reference to SPI_LAYER_WINDOW.
1776 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
1778 * registryd/registry.c
1779 (desktop_add_application): Remove leak.
1780 (desktop_remove_application): Remove leak.
1781 (parser_event_type): Remove leak.
1783 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
1785 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1786 bogus call to CORBA_string_dup(). Also removed unnecessary
1787 g_string_dup/g_free calls.
1789 2002-09-13 Bill Haneman <bill.haneman@sun.com>
1791 * registryd/deviceeventcontroller.c:
1792 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1794 * test/event-listener-test.c:
1795 main: commented out three redundant listeners, to reduce output
1796 noise. (They still are potentially useful for testing).
1799 2002-09-13 Michael Meeks <michael@ximian.com>
1801 * Update all the copyrights to include Ximian.
1803 2002-09-06 Mark McLoughlin <mark@skynet.ie>
1805 * cspi/spi.h: add SPI_LAYER_WINDOW.
1807 * cspi/spi_component.c: (AccessibleComponent_getLayer):
1808 add Accessibility_LAYER_WINDOW case.
1810 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1812 * libspi/component.c: (impl_accessibility_component_get_layer):
1813 add ATK_LAYER_WINDOW case.
1815 2002-08-28 Bill Haneman <bill.haneman@sun.com>
1817 * configure.in: incremented micro version.
1819 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1821 2002-08-20 Bill Haneman <bill.haneman@sun.com>
1824 Clarified and reworded our commit policy.
1827 Started an API "todo" addition list for 2.2.
1830 (impl_getSelection):
1831 Free char pointer from atk_text_get_selection, which was being leaked.
1833 2002-08-19 Bill Haneman <bill.haneman@sun.com>
1836 Small revision to author acknowledgement.
1838 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1840 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1841 If signal has detail add it to the type of the event.
1844 2002-08-12 Michael Meeks <michael@ximian.com>
1846 * test/test-simple.c (global_listener_cb): bin bogosity.
1847 (test_keylisteners): disable, still doesn't work reliably,
1848 certainly not on my system anyway.
1850 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1851 don't leak a reference on the DEC. This round-trip
1852 fetching of the DEC per keystroke sucks, it should be
1855 * cspi/spi-private.h,
1856 * cspi/cspi-lowlevel.h,
1857 * cspi/bonobo/cspi-bonobo-listener.[ch],
1858 * cspi/bonobo/cspi-bonobo.c: get the copyright
1859 notices better - there is still a large amount of
1860 work in at-spi falsely attributed solely to Sun.
1862 * cspi/spi_main.c (cspi_object_ref): kill bogus
1863 hash lookup, just increment the ref.
1864 (SPI_freeString): make explicit the fact that we
1865 handle NULL strings just fine.
1866 (report_leaked_ref): obey coding standards.
1867 (cspi_object_hash, cspi_object_equal): kill retval.
1868 (cspi_object_release): only release if not on loan.
1869 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1870 (cspi_object_borrow, cspi_object_return): impl.
1872 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1873 use cspi_object_borrow / return.
1875 2002-08-12 Darren Kenny <darren.kenny@sun.com>
1877 * cspi/bonobo/cspi-bonobo-listener.c:
1879 Don't call cspi_oject_new() because this is creating a new Accessible
1880 every single time that an event is fired. This causes ATs like at-poke
1881 to nolonger recognise the source of the event and thus ignore it.
1882 Re-use the object from the cache, ref it and then unref it after the
1883 listeners have been called.
1885 2002-08-06 Darren Kenny <darren.kenny@sun.com>
1887 * test/event-listener-test.c:
1888 Added command-line options to disable mouse events (m) and
1891 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
1893 * configure.in: Update required versions of ATK, GTK+ and GAIL
1895 * cspi-1.0.pc.in: Add dependency for X include files
1898 * cspi/bonobo/Makefile.am:
1899 Add $(X_CFLAGS) so that X include files
1900 are picked up even if not in standard place (bug #71686)
1902 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1904 * registryd/deviceeventcontroller.c: fix for 84261
1905 (spi_dec_mouse_moved):
1906 Added test of mouse button mask, so that we can detect mouse
1907 button release. Unfortunately we can't otherwise detect mouse
1908 button release events without consuming the mouse press event,
1909 because of the way XGrabButton works. This means that our mouse
1910 release events have a latency dependent on the polling period
1911 while the mouse button is down. At least in this case we only
1912 have to poll while the button is down, and not at other times.
1913 If the button masks don't match with what the last press event
1914 reported, we report the appropriate button release event.
1915 (spi_dec_ungrab_mouse):
1916 New method (not yet called).
1917 (spi_device_event_controller_forward_mouse_event):
1918 New method, sends mouse press event from GdkFilter.
1919 (spi_dec_init_mouse_listener):
1920 Added code to call XGrabButton, redirecting mouse button events to
1921 the root window and our Gdk event loop.
1923 Added code to filter mouse button events, and reordered.
1925 * test/event-listener-test.c:
1927 Added registration for mouse events of type "mouse:button".
1929 2002-06-25 Bill Haneman <bill.haneman@sun.com>
1931 * registryd/deviceeventcontroller.c: partial fix for 84261
1932 (spi_dec_poll_mouse_idle):
1933 New method, a timeout which checks to see if the mouse
1935 (spi_dec_poll_mouse_moving):
1936 A timeout to be called when mouse motion is underway.
1937 (spi_dec_poll_mouse_moved):
1938 A method which fires an event if the mouse has moved, and reports
1939 whether or not it did so.
1940 (spi_dec_init_mouse_listener):
1941 A method which sets up the timeouts above.
1942 (spi_device_event_controller_new):
1943 Now calls spi_dec_init_mouse_listener.
1945 * registryd/registry.c:
1946 (spi_registry_init):
1947 Now we initialize the device event controller when the registry is
1948 initialized, instead of waiting until a client has requested a key
1949 event notification; this is because we need the event controller
1950 for mouse events, but the mouse event registration API is a
1951 "registry" call and doesn't explicitly call the
1952 deviceeventcontroller.
1953 We now report mouse motion events with a 100 ms idle latency and
1954 a 20 ms granularity when motion is in progress.
1956 * test/event-listener-test.c:
1958 We now register the "detail listener" for events of type
1959 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1960 delivered only for the first mouse event received, and thereafter
1961 "mouse:abs" events are delivered.)
1963 * cspi/spi_registry.c:
1964 DOCS: Documented the above mouse event typestrings.
1966 2002-06-21 Bill Haneman <bill.haneman@sun.com>
1968 Happy Summer Solstice...
1970 * registryd/deviceeventcontroller.c: [fix for bug 84100]
1971 (spi_controller_notify_keylisteners):
1972 Changes to remove a listener from the listener list, freeing its
1973 open keygrabs, if a notification to that listener fails. This
1974 means that although a dead listener can continue to hold a passive
1975 keygrab, a maximum of one dispatch to such a listener can fail
1976 before the listener is removed from the list, thus the keygrab
1977 will be released on the next occurrence.
1978 As part of this fix:
1979 (spi_notify_keylisteners):
1980 Renamed to spi_controller_notify_keylisteners, as the controller
1981 instance must now be passed as an argument.
1982 The copied 'notify' GList is now a list of DEControllerKeyListener
1983 objects, since we need more than just the CORBA reference if a
1984 notify fails and we need to deregister the listener.
1985 (impl_notify_listeners_sync):
1986 (impl_notify_listeners_async):
1987 (spi_device_event_controller_forward_key_event):
1988 Modify use of notify_keylisteners in accordance with above
1990 (spi_deregister_controller_key_listener):
1991 New method introduced by refactoring, from
1992 impl_deregister_keystroke_listener.
1993 (impl_deregister_keystroke_listener):
1994 Call spi_deregister_controller_key_listener.
1995 (spi_key_listener_clone):
1996 New method to copy a key listner without doing a 'ref' on the
1997 remote object instance; used to create a notifier list.
1998 (spi_key_listener_data_free):
1999 New method, frees data without unreffing the source.
2001 (spi_key_listener_clone_free): new method.
2002 (spi_key_listener_free):
2003 refactored to call spi_key_listener_data_free.
2005 2002-06-20 Bill Haneman <bill.haneman@sun.com>
2007 * registryd/registry.c: [fix for bug 86048]
2008 (notify_listeners_cb):
2009 Clear CORBA system exceptions which occur when notifying
2010 listeners, before returning to the source of the original event,
2011 since the event source doesn't care if the relayed notify failed.
2012 In other words, don't complain to the atk-bridge if the registry
2013 could not notify all its listeners, that's no fault of the
2014 application and thus should not appear to be an error from the
2015 application's perspective.
2017 * cspi/spi_main.c: [fix for bug 85980]
2019 Replaced use of bonobo_object_dup_ref with call to the wrapper
2020 method, csou_dup_ref (); this silences a compiler warning and
2021 provided more portability.
2023 Ping the registry before return, and restart if necessary.
2025 * cspi/bonobo/cspi-bonobo.c:
2027 New internal method.
2029 Fixed this method to return an object reference, as it should have
2032 * cspi/cspi-lowlevel.h:
2033 Added internal definition for cspi_ping() and fixed
2034 return type of cspi_dup_ref().
2037 2002-06-19 Bill Haneman <bill.haneman@sun.com>
2039 * atk-bridge/bridge.c: [fix for bug 85305]
2040 (spi_atk_bridge_register_application):
2041 New method where the initial application registry calls have been
2042 moved; it allows an application to re-register in response to
2043 certain error conditions (such as a registry restart, see below).
2045 Moved some initialization code to the method
2046 spi_atk_bridge_get_registry, below.
2047 (spi_atk_bridge_get_registry):
2048 New, private accessor function for the Accessibility_Registry
2049 instance. If the registry has not been started before, or has
2050 died (as detected by failure of a CORBA exception), it is
2051 restarted before return, and spi_atk_bridge_register_application
2052 is called again to register with the new bridge instance.
2053 (spi_atk_emit_eventv):
2054 Set registry_died on error; use spi_atk_bridge_get_registry () to
2055 access the registry.
2057 * registryd/registry.c:
2058 (impl_accessibility_registry_register_global_event_listener):
2059 Set listener's event_type_quark to etype.minor instead of
2060 etype.major (fix for bug 84856).
2062 * test/event-listener-test.c:
2063 (report_detail_event):
2064 Change the output string so that user/tester can tell that the
2065 'detail listener' was called instead of the 'generic listener'.
2067 2002-06-18 Bill Haneman <bill.haneman@sun.com>
2069 Fixes for bugs 84900, 84908, 84897, 84898.
2074 Revved version to 1.1.0
2075 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2076 version is going to HEAD which will be used for gnome-2-0-1 and later.)
2078 * idl/Accessibility_Registry.idl:
2079 (EventListener::notifyEvent):
2080 Removed 'oneway' directive after extensive consulation with
2081 ORBit2 team and others. This means also that unref() of the event
2082 source can and should be done synchronously after emission, rather
2083 than remotely in the client, after servicing the notify call on
2086 NOTE: This change speeds up listener performance considerably, but
2087 introduces new latency on the application side. We may want to
2088 add an event queue to the atk-bridge.
2090 * atk-bridge/bridge.c:
2091 (spi_atk_bridge_focus_tracker):
2092 Do a local unref() on the event source after emission.
2094 * registryd/registry.c:
2095 (desktop_remove_application):
2096 Do an unref() on the event source after emission.
2097 (desktop_add_application):
2098 Do an unref() on the event source after emission.
2099 (notify_listeners_cb):
2100 When relaying an event, don't automatically add the event source
2101 to the local object cache, just CORBA_dup it instead. Likewise,
2102 if this method reenters, release the ref rather than calling
2104 (impl_registry_notify_event):
2105 No longer call remote unref() on the event source after dispatch.
2107 * libspi/eventlistener.c:
2108 (impl_accessible_event_notify_event):
2109 Removed remote unref ()
2111 * cspi/bonobo/cspi-bonobo-listener.c:
2113 We now call cspi_object_new() instead of cspi_object_add() on
2114 receipt of an event; thus we only have an implicit object ref
2115 while the cspi_event method is being executed. If we need to keep
2116 a reference to the object, the listener must call ref() on the
2117 object. Thus also we don't need to call cspi_object_unref() after
2118 invoking the listener callbacks in this method.
2122 New internal API for creating a new cspi object, without adding it
2123 to the object cache.
2125 Now uses cspi_object_new() to create the cspi object instance.
2127 Now checks to see if the object is in the internal object cache,
2128 and adds it if necessary before incrementing its refcount (note
2129 that new objects are added with a refcount of 1).
2130 (report_leaked_ref):
2131 New method which gives some information on leaked object instances
2132 if leak detection is turned on.
2134 * test/event-listener-test.c:
2135 (timing_test_event):
2136 New method, used for testing event delivery timing for special
2137 events of type "object:test". It reports elapsed time and
2138 events/sec every 500 events.
2140 Added a new listener, 'test listener', to check timing of event
2141 receipt as noted above.
2143 Added some timing output here also, reports elapsed time every 100
2146 * test/stress-test.c:
2147 Emit events of type "object:test", for use with "event-listener-test".
2149 * test/test-simple.c:
2150 (global_listener_cb):
2151 Call Accessible_ref() on the event source before calling
2152 validate_accessible, since the validation process does pointer
2153 comparisons on the event source, meaning that the event source
2154 needs to be added to the local object cache first. Any use of
2155 such pointer comparisons between Accessible objects requires that
2156 the caller hold an explicit reference to those objects.
2157 We also must therefore call Accessible_unref() when leaving this method.
2159 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2161 * registryd/deviceeventcontroller.c:
2162 (spi_controller_update_key_grabs):
2163 Fix for #84735, subsequent keygrab listeners not informed of
2164 registration failure.
2167 (spi_base_construct):
2168 Add an assertion on construct, to make sure the GObject passed in
2169 is really a GObject.
2171 Explicitly initialize object->gobj pointer to NULL;
2173 * cspi/bonobo/cspi-bonobo-listener.c:
2174 (cspi_object_add_ref):
2175 New method, can specify whether to dup-ref a bonobo object passed
2176 in if it's newly added to the object cache.
2178 Now calls cspi_object_add_ref with second param of "FALSE". This
2179 prevents us from doing a pointless dup-ref followed by
2180 release-unref for all those cases where the object is already in
2181 our object cache (fix for #85205).
2183 * atk-bridge/bridge.c:
2184 (spi_atk_bridge_idle_init):
2185 Removed this method, we don't need to initialize in an idle
2188 Changed to call spi_atk_register_event_listeners directly, not via an
2189 idle handler. (fix for #81139)
2190 (gnome_accessibility_module_shutdown):
2191 Removed conditional around deregistration of listeners, since we
2192 don't use the idle handler and thus have always registered when
2194 (spi_init_keystroke_from_atk_key_event):
2195 Changed references to Accessibility_KEY_PRESSED to
2196 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2198 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2200 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2205 * test/stress-test.c:
2208 (may have been an incomplete commit yesterday?)
2210 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2213 Added target for new stress-test.
2215 * test/stress-test.c:
2216 New test, sends 1000 focus notifies in quick succession.
2218 * test/key-listener-test.c:
2219 Now we report whether a keylistener registration
2220 request succeeded or failed.
2222 * test/event-listener-test.c:
2223 Uncommented some listeners which are now implemented.
2226 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2228 * registryd/deviceeventcontroller.c:
2229 (spi_controller_update_key_grabs):
2230 Fix for #82509, lack of failure notification when
2231 ALL_WINDOWS keygrabs fail due to XGrabKey
2232 failure: we synchronize the server when
2233 registering a passive grab, to make sure we get the
2234 error message before the call returns.
2236 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2238 * test/test-simple.c:
2240 Removed #ifdef KEY_IMPL_WORKS guards.
2241 (test_keylisteners):
2242 Removed #ifdef KEY_IMPL_WORKS guards.
2243 Fixed bug which was causing a hang waiting for a
2244 "press" event (which was already overwritten by a "release"
2245 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2247 Added code to set globals 'key_press_received' and
2248 'key_release_received'.
2251 Added section "1.1 API Proposed Additions" which
2252 lists API additions desired for at-spi-1.1 (only one so far).
2253 Updated TODO list a little.
2255 2002-06-02 Bill Haneman <bill.haneman@sun.com>
2257 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2260 * configure.in: Revved to 1.0.0.
2262 * idl/Accessibility_Registry.idl:
2263 (registerKeystrokeListener):
2264 Added boolean return value.
2266 * registryd/registry.c:
2267 (notify_listeners_cb): Minor fix to debug output.
2269 * registryd/Accessibility_Registry.server.in.in:
2270 Revved version number in OAFIID to 1.0.
2272 * registryd/registryd.c:
2274 Use new OAFIID version.
2276 * cspi/bonobo/cspi-bonobo.c:
2278 Use new OAFIID version.
2284 * atk-bridge/bridge.c:
2286 Use new OAFIID version.
2288 * registryd/deviceeventcontroller.c:
2289 (impl_register_keystroke_listener):
2290 Added CORBA_boolean return value.
2291 (spi_controller_register_device_listener):
2292 Added gboolean return value.
2293 (spi_controller_register_global_keygrabs):
2294 Added gboolean return value.
2295 (spi_key_set_contains_key):
2296 Added implementation for many more control keys,
2297 for instance F1-F12, arrow keys, End, Home, Page_Up,
2299 [TODO: some still not implemented].
2301 * text/screen-review-test.c:
2302 (text_chunk_pad_string):
2303 New function: it provides mapping between coordinate
2304 positions of text chunks and character positions in the
2305 screen-review-line output string.
2306 (text_chunk_to_string):
2307 New function, calls text_chunk_pad_string with various
2308 pad/delimiter characters. Pushbuttons are delimited with
2309 square brackets, Frames with vertical 'pipe' lines, and
2310 other text with double quotes.
2311 (text_chunk_list_to_string):
2312 Calls new function text_chunk_to_string.
2313 (toplevel_composite):
2314 New function to composite layers CANVAS through
2315 POPUP in each toplevel (other layers are composited
2316 across toplevels, i.e. BACKGROUND and OVERLAY).
2317 (review_buffer_composite):
2318 Revise to use new methods.
2324 2002-05-31 Laszlo Peter <laca@sun.com>
2326 * configure.in: add the Xtst libdir to the runpath on Solaris,
2327 since it's not in the default library search path.
2329 2002-05-29 jacob berkman <jacob@ximian.com>
2331 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2333 2002-05-29 Bill Haneman <bill.haneman@sun.com>
2335 * test/screen-review-test.c:
2336 (text_chunk_pad_string):
2337 Added method, which pads the string according to the
2338 text bounds of the chunk. It also takes a 3-character
2339 string as a param which indicates the characters to be
2340 used for start, padding, and end delimitation of the chunk.
2341 (text_chunk_to_string):
2342 Changed to use text_chunk_pad_string.
2344 * configure.in: Fixed bug in AC_OUTPUT that was
2345 causing path substitution in Accessibility_Registry.server
2348 2002-05-23 Bill Haneman <bill.haneman@sun.com>
2350 * text/screen-review-test.c:
2351 (guess_string_clip):
2352 New method which attempts a best-guess at clipping
2353 text from components (like Java labels) which don't
2354 actually implement AccessibleText. This inaccurate
2355 clip is based on the assumption that the label is
2356 justified left-and-right, and monospaced.
2357 (text_chunk_get_clipped_string):
2358 We now call guess_string_clip() for text-containing
2359 components that don't implement AccessibleText.
2361 * test/screen-review-test.c:
2362 (review_buffer_get_text_chunk):
2363 We now pull "name" from labels if they do not implement
2364 AccessibleText (i.e. for Java labels).
2365 (get_screen_review_line_at):
2366 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2369 Replaceded AC_OUTPUT target
2370 registryd/Accessibility_Registry.server with
2371 registryd/Accessibility_Registry.server.in.
2373 * registryd/Accessibility_Registry.server.in:
2374 Removed (this is now a Makefile target).
2376 * registryd/Accessibility_Registry.server.in.in:
2377 Added (source for target above). We now use $(libexecdir) as
2378 prefix for the executable at-spi-registryd.
2380 * registry/Makefile.am:
2381 Now install at-spi-registryd into $(libexecdir), and build .server
2382 file with path (see above).
2384 2002-05-22 Bill Haneman <bill.haneman@sun.com>
2386 * test/screen-review-test.c:
2387 (text_chunk_get_clipped_string):
2388 We now check to see if words fall within clip bounds
2389 before resorting to character-by-character clip bounds testing.
2391 * TODO: Added a section for "2.2 Proposed API Additions".
2393 2002-05-21 Bill Haneman <bill.haneman@sun.com>
2395 * test/screen-review-test.c:
2397 Added a screen review benchmarking and test program to test
2400 * cspi/spi_accessible.c:
2402 Made some of the debug strings passed to cspi_check_ev a
2403 little more specific.
2405 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
2407 * test/screen-review-test.c: Fix crashes in debug statements
2409 2002-05-20 Bill Haneman <bill.haneman@sun.com>
2411 * test/screen-review-test.c: Added this file.
2413 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2415 * atk-bridge/bridge.c: changed "object:state-change" to
2416 "object:state-changed" to match docs.
2418 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2420 * atk-bridge/bridge.c: Hooked up state-change event details.
2422 2002-05-11 Bill Haneman <bill.haneman@sun.com>
2424 * registryd/registry.c:
2425 Fixed quarking bug in event string parsing; now events with
2426 detail parameters get matched correctly to listeners.
2429 * util/idl/Magnifier.idl: remove.
2431 * util/*.[ch]: Remove.
2432 Magnification utilities and IDL are now in module gnome-mag.
2434 2002-05-10 Bill Haneman <bill.haneman@sun.com>
2436 * registryd/deviceeventcontroller.c:
2437 Fixed bug in grab key conversion which was causing keycode grabs
2438 to be converted to AnyKey grabs.
2441 updated NEWS file to reflect recent spin-off of gnome-mag.
2443 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
2445 * cspi/spi_accessible.c: Added exception checks. Fixed completely
2446 busted AccessibleStateSet_compare. Removed redundant casts.
2448 * cspi/spi-action.c: Removed redundant casts.
2450 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2452 * cspi/spi_component.c: Fixed typos and casting error.
2454 * cspi/spi_editabletext.c: Removed redundant casts.
2456 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2458 * cspi/spi_hypertext.c: Eliminated redundant casts.
2460 * cspi/spi_image.c: Eliminated redundant casts.
2462 * cspi/spi_registry.c: Eliminated redundant casts.
2463 SPI_deregisterGlobalEventListenerAll () removed retval variable.
2464 * cspi/spi_selection.c: Removed redundant casts.
2465 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
2466 handling. Screen geometry and text offsets were being returned as 0
2467 on error which is technically valid-- changed these to return -1.
2468 Added marshaller for text boundary types to fix bug with boundary
2469 types being passed incorrectly to atk.
2471 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2474 * cspi/spi_registry.c:
2475 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2476 which was uncovered by the recent key changes.
2478 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2480 * test/event-listener-test.c:
2482 Added new test, "event-listener-test";
2483 this code does two things; it benchmarks traversal time
2484 for the accessible hierarchy for the first running accessible
2485 app, and it connects listeners for all supported event types.
2486 It is thus useful as an example event listener and for
2487 diagnostics/debugging of event generation.
2489 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2492 Removed unnecessary dependency on libutil.
2495 Revved micro version: 0.13.1
2497 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2500 Removed util/Makefile from targets.
2503 Removed util subdir from SUBDIRS (temporarily,
2504 pending removal of magnifier-only code
2508 #ifdef-ed out magnifier dependencies, since
2509 magnifier IDL, headers, and binary now live in
2510 module gnome-mag and we don't want at-spi to depend
2511 on gnome-mag. A magnifier demo which can run alongside
2512 simple-at is forthcoming in the gnome-mag module.
2514 NOTE: Split magnifier binary, IDL, and magnification
2515 activation code from at-spi into module gnome-mag.
2517 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
2519 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2520 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2522 2002-05-03 Bill Haneman <bill.haneman@sun.com>
2525 Revved to version 0.13.0
2527 * idl/Accessibility_Registry.idl:
2528 Changed definition of KeySet from sequence of longs to sequence of
2529 KeyDefinitions, and added KeyDefinition struct.
2530 Required for fix to bug 80616.
2532 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2533 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2534 to use new definition (see above).
2536 * registryd/deviceeventcontroller.c: handle_keygrab(),
2537 spi_keyset_contains_key():
2538 Changed to make use of new struct; this allows matching based on
2539 string key-name, for instance "Tab". This also allows matching of
2540 composed characters, non-alphanumeric characters in a way that
2541 doesn't involve dependencies on X keysym codes directly, etc.
2543 * test/key-listener-test.c:
2544 Added test for Alt-Tab key using "string" specification of keyset,
2545 and modified one of the tests to use a keycode-based keyset.
2546 Thus this test both tests and demonstrates the creation and use of
2547 keysets of three forms: specified via keycode array,
2548 keysym array, and string array. (The string case only contains a
2549 single string, i.e. a string array of length 1).
2552 Turned on PRINT_TREE option by default. Also fixed a
2553 string-freeing bug in the PRINT_TREE code.
2554 Added a listener to window:minimize events.
2556 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
2558 * atk-bridge/bridge.c:
2559 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2560 for window:activate and window:deactiveate
2561 (atk_bridge_property_event_listener atk_bridge_signal_listener
2562 atk_bridge_window_event_listener) Tidy debug code
2564 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
2566 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2567 Fixed handling for NULL return value from ATK.
2569 * libspi/action.c libspi/component.c libspi/editabletext.
2570 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2571 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2572 Removed redundant casts.
2574 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2575 Fixed off by one bug.
2577 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2578 function not present in idl)
2580 2002-05-02 jacob berkman <jacob@ximian.com>
2582 * atk-bridge/Makefile.am: make atk-bridge a real module
2584 2002-04-26 Radek Doulik <rodo@ximian.com>
2586 * libspi/stateset.c (spi_init_state_type_tables): fix size of
2587 atk_state_types table
2589 2002-04-22 jacob berkman <jacob@ximian.com>
2592 * libspi/Makefile.am: add deps on the built files to help
2593 automake, and don't version the ORBit typelib
2595 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
2597 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
2598 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2599 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
2600 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2601 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2602 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2603 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2604 libspi/accessible.h libspi/accessible.h libspi/base.h
2605 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
2606 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2607 libspi/relation.h libspi/remoteobject.h libspi/selection.h
2608 libspi/spi-private.h libspi/statetset.h libspi/table.h
2609 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2610 util/mag_client.h util/mag_control.c util/mag_image.c
2611 util/mag_image.h util/magnifier.c util/magnifier.h:
2612 Add missing file headers; standardize existing ones
2614 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
2616 * atk-bridge/bridge.c: Added window event support.
2618 2002-04-18 Michael Meeks <michael@ximian.com>
2620 * libspi/relation.c (impl_getNTargets): impl.
2621 (impl_getTarget): impl.
2623 * libspi/Makefile.am: fix stateset install.
2625 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2628 Started putting useful info in this file.
2630 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
2632 * atk-bridge/bridge.c:
2633 Propagate state-changed notifications to ATs
2635 * cspi/spi_registry.c: update docs to reflect actual behavior of
2636 state-change events.
2638 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2641 Incremented version to 0.12.1
2643 * util/mag_client.h:
2644 Add missing declaration for magnifier_exit,
2645 used by mag_control.c - Forte compiler didn't like
2646 the implicit redeclaration of the function :-(
2649 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2652 Revved version to 0.12 due to API change (see below).
2654 * cspi/spi-roletypes.h:
2655 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
2656 definition from the inline docs, and added docs
2657 for SPI_ROLE_LAST_DEFINED.
2660 * cspi/spi_streamablecontent.c:
2661 Added missing seek_type parameter to
2662 (so far unused) method,
2663 AccessibleStreamableContent_seek().
2664 [ RT approval JodyG. ]
2667 Fixed docs for SPI_createAccessibleKeystrokeListener.
2669 * cspi/spi_registry.c:
2670 Fixed docs for SPI_KEYSET_ALL_KEYS.
2672 * docs/reference/cspi/at-spi-cspi-sections.txt:
2673 Added a number of missing APIs to SECTIONS.
2675 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2677 * registryd/Makefile.am:
2679 * cspi/bonobo/Makefile.am:
2680 Add $(X_LIBS) to makefiles.
2682 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2685 Revved version to 0.11.
2687 * libspi/component.c:
2688 Added implementation for grabFocus.
2690 * idl/Accessibility_Component.idl
2691 (Accessibility_Component_grabFocus):
2692 Made this method return boolean to indicate success or failure, to
2693 be consistent with cspi and the corresponding ATK method.
2695 * idl/Accessibility_Selection.idl
2696 (Accessibility_Selection_selectAll) :
2697 Made these methods return boolean to indicate success or
2698 failure, to be consistent with cspi and the corresponding ATK methods.
2700 * idl/Accessibility_EditableText.idl
2701 (Accessibility_EditableText_setTextContents,
2702 Accessibility_EditableText_insertText,
2703 Accessibility_EditableText_cutText,
2704 Accessibility_EditableText_deleteText,
2705 Accessibility_EditableText_pasteText):
2706 Made these methods return boolean to indicate
2709 * cspi/spi_editabletext.c:
2710 Made these methods return booleans.
2712 * libspi/selection.c:
2713 * libspi/component.c:
2714 * libspi/editabletext.c:
2715 Connected the boolean returns from ATK
2716 to the server-side code referenced above.
2718 2002-04-14 Bill Haneman <bill.haneman@sun.com>
2720 * idl/Accessibility_Table.idl: Added missing methods,
2721 Accessibility_Table_addRowSelection,
2722 Accessibility_Table_addColumnSelection,
2723 Accessibility_Table_removeRowSelection,
2724 Accessibility_Table_removeColumnSelection.
2727 Added C wrappers for above IDL:
2728 AccessibleTable_addRowSelection,
2729 AccessibleTable_addColumnSelection,
2730 AccessibleTable_removeRowSelection,
2731 AccessibleTable_removeColumnSelection.
2734 Added server-side implementation code for IDL above, connecting
2735 to pre-existing ATK api.
2737 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
2739 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
2741 * libspi/accessible.c: Added implementation fo
2742 Accessibility_Accessible_get_state.
2744 * libspi/libspi.h: Added stateset.h to the list of includes.
2746 * libspi/stateset.c: Fixed broken implementation.
2748 2002-04-13 Bill Haneman <bill.haneman@sun.com>
2751 Added implementation code for Accessibility_Magnifier_exit ().
2753 * util/mag_control.c:
2754 Added test code for above method; you can
2755 now kill an existing magnifier via
2756 ./mag_control q, from the util directory.
2758 * test/key-listener-test.c:
2760 Added a new test, for our key listener API.
2762 2002-04-11 Bill Haneman <bill.haneman@sun.com>
2764 * test/app.c, test/keysynth-demo.c:
2766 Replace use of snprintf with g_snprintf.
2767 (fix for bugzilla 78249)
2769 2002-03-27 Michael Meeks <michael@ximian.com>
2773 * util/Makefile.am (INCLUDES): fix.
2774 (DONT_DIST_SOURCE): don't distribute the
2777 * libspi/Makefile.am (dist-hook): ditto.
2779 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
2781 * libspi/hypertext.c:
2782 Fix warnings when yelp is used with atk-bridge
2784 2002-03-21 Michael Meeks <michael@ximian.com>
2786 * libspi/application.c (spi_application_new):
2787 use spi_accessible_construct so we use the AtkObject
2790 2002-03-19 Michael Meeks <michael@ximian.com>
2792 * registryd/registry.c (desktop_remove_application),
2793 (desktop_add_application): clean coding style.
2795 * registryd/desktop.c (spi_desktop_remove_application),
2796 (spi_desktop_add_application): kill re-enterency hazards.
2797 (spi_desktop_dispose): remove bogus redundant cast
2798 obscuring bug; fix bug too.
2799 (spi_desktop_init): make the desktop object immortal.
2801 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2804 Added a #define-guarded tree-traversal step
2805 when enumerating the apps (diagnostic tool).
2807 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2809 * idl/Accessibility_Role.idl:
2810 Added ROLE_DRAWING_AREA which seemed to be missing from the
2813 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2815 * cspi/spi-roletypes.h cspi/spi_accessible.c
2816 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2819 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2820 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2821 AT when applications are added and removed from the desktop. This
2822 reverts the previous broken implementation using the backing
2823 AtkObject for the SpiDesktop.
2825 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2827 * registryd/desktop.c: emit the "children-changed::add" and
2828 "children-changed::remove" signals on the backing ATK object for
2829 the desktop so AT can tell when applications are started and shut
2832 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2834 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2836 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2838 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2840 * cspi/spi_accessible.c: Implemented c bindings for stateset support
2842 * cspi/state-types.h: synched with IDL and ATK
2844 2002-03-13 Bill Haneman <bill.haneman@sun.com>
2846 * libspi/accessible.c
2847 (impl_accessibility_accessible_get_child_at_index):
2848 Change return value for g_return_if_fail ()
2849 to CORBA_OBJECT_NIL instead of "0" (!)
2851 * registryd/Makefile.am:
2852 * registryd/Accessibility_Register.server.in:
2853 Changed name of executable, "registryd",
2854 to something more informative:
2857 2002-03-13 Michael Meeks <michael@ximian.com>
2859 * atk-bridge/bridge.c (atk_bridge_init): don't register
2860 if we're in a bonobo-component, rather than a bonobo app.
2862 2002-03-13 Michael Meeks <michael@ximian.com>
2864 * atk-bridge/bridge.c (gtk_module_init): split
2865 out body to (atk_bridge_init): here, since otherwise
2866 we get symbol conflicts and oddness when invoked
2867 from (gnome_accessibility_module_init): here (upd.)
2869 2002-03-11 Bill Haneman <bill.haneman@sun.com>
2872 New file. Explicitly allow "build sheriff" putbacks provided
2873 they are tested on Solaris.
2875 * docs/reference/cspi/Makefile.am:
2876 Added '-' to the "cp" command for index.sgml.
2877 ("patch by thomasvs, soon coming to a GUADEC near you")
2880 Incremented version number (0.9.0) for new release.
2881 Changed macro that checks for popt, to better detect
2882 obsolete versions of popt.
2885 Added X_LIBS to AC_SUBST, for applications
2886 that call Xlib API directly.
2889 2002-03-07 Bill Haneman <bill.haneman@sun.com>
2892 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2895 Fix regression caused by hard-coding major
2896 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2899 * test/test-simple.c (test_editable_text),
2900 (test_test): revert previous change (error was
2901 a regression in gail which is now fixed).
2903 2002-03-04 Michael Meeks <michael@ximian.com>
2905 * test/test-simple.c (test_editable_text),
2906 (test_text): pass G_MAXINT instead of '-1' for
2907 whole string - is this a good thing !?
2909 * cspi/spi_accessible.c
2910 (Accessible_getRelationSet): fix crasher bug
2911 overwriting the end of the array.
2913 * test/test-simple.c (validate_accessible): free,
2914 not g_free returned relation set.
2916 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2918 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2919 implemented stateset support
2921 * idl/Accessibility_State.idl: Made necessary changes to
2922 the IDL to support state sets.
2924 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2926 * registryd/deviceeventcontroller.c:
2927 Added implementation for generateMouseEvent.
2929 * cspi/spi_registry.c:
2930 Connected new implementation for generateMouseEvent
2933 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2936 Incremented revision (but no change in public API
2937 outside of 'utils', which are not installed public yet.)
2939 * libspi/component.c:
2940 Changed to use atk_component API for layers and
2941 mdi_zorder, instead of deprecated atk_object API.
2943 Magnification Utility Enhancements:
2946 Added implementation of createZoomRegion, clearAllZoomRegions,
2947 resizeZoomRegion. Added new commandline argument
2948 "--no-initial-region". Note that clearAllZoomRegions doesn't
2949 unmap the old '0' region as it should (yet), and the other
2950 methods only work when creating/resizing a single region,
2951 which is "region 0".
2952 (Code for multiple region support will be added later.)
2955 Now we raise the magnifier window each time it's refreshed;
2956 this will help keep it on top.
2958 * util/mag_client.h:
2959 Added simple wrappers for above, used by mag_control.
2960 For general use, it's recommended to use the bonobo magnifier
2961 control API directly instead of using these wrappers.
2964 Moved ZoomRegionData from magnifier.c to this file.
2966 * util/mag_control.c:
2967 Added some code to exercise new IDL implementations.
2969 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2971 * libspi/text.c: Provide implementation for getAttributes.
2973 2002-02-04 Bill Haneman <bill.haneman@sun.com>
2976 Incremented revision.
2978 * test/test-simple.c:
2979 Replaced use of deprecated g_main_iteration with
2980 g_main_context_iteration.
2982 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
2985 Incremented revision for desktop alpha 2.
2987 2002-01-28 Mark McLoughlin <mark@skynet.ie>
2989 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2992 * test/simple-at.c: include netinet/in.h.
2994 2002-01-24 Mark McLoughlin <mark@skynet.ie>
2996 * cspi/spi_accessible.c: (Accessible_getRelationSet):
2997 use NULL, not CORBA_OBJECT_NIL.
2999 * libspi/accessible.c:
3000 (impl_accessibility_accessible_get_relation_set):
3001 allocate the sequence correctly.
3003 * libspi/remoteobject.h: kill spi_remote_object_new.
3005 * test/test-simple.c: (validate_accessible): add code
3006 to test relation sets, now all we need is to figure
3007 out how to excercise this code path :/
3009 2002-01-18 Michael Meeks <michael@ximian.com>
3011 * test/test-simple.c
3012 (key_listener_cb): consume the key.
3013 (test_keylisteners): update.
3014 (main): wait for any pending unrefs on events.
3016 * registryd/deviceeventcontroller.c
3017 (spi_controller_update_key_grabs): only re-issue the
3018 grab on a key release.
3019 (spi_device_event_controller_forward_key_event):
3020 refresh the keygrabs before we notify the listeners,
3021 to reduce the X ungrab / re-grab race.
3022 (spi_controller_register_with_devices): remove
3023 XSelectInput - we do that with the gdk_window_ call.
3024 (_spi_controller_device_error_handler): return a value.
3025 s/GDK_DISPLAY/spi_get_display/
3027 2002-01-17 Michael Meeks <michael@ximian.com>
3029 * registryd/deviceeventcontroller.c
3030 (_deregister_keygrab): don't blow out the later
3033 * test/test-simple.c (test_keylisteners): do a
3034 more intelligent validation.
3036 2002-01-14 Michael Meeks <michael@ximian.com>
3038 * atk-bridge/bridge.c
3039 (gnome_accessibility_module_init),
3040 (gnome_accessibility_module_shutdown): impl.
3041 (gtk_module_init): protect vs. double inits.
3042 (add_signal_listener): impl.
3043 (spi_atk_bridge_state_event_listener): kill
3044 (deregister_application): split out of
3045 (spi_atk_bridge_exit_func): here.
3047 2002-01-18 Bill Haneman <bill.haneman@sun.com>
3050 Added caret tracking when using magnifier, and
3051 now use text bounds for focus tracking of text elements, rather than
3052 the component bounds - this is helpful for short text fields in long
3053 table cells, at high magnification.
3055 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3057 * registryd/deviceeventcontroller.c:
3058 Regression fix for keylistener de-registration; global keygrabs
3059 were not being released when deregisterKeystrokeListener was
3060 called in cspi, since
3061 Accessibility_DeviceEventController_deregisterKeystrokeListener
3062 was called with a zero-length keyset. That is because the cspi
3063 method, SPI_deregisterKeystrokeListener, does not take a keyset
3064 parameter but instead should remove all the key grabs held be a
3066 The code in impl_deregister_keystroke_listener was changed to copy
3067 the keylist from the listener instance previously registered with
3068 the DeviceEventController before releasing the grabs.
3070 * registryd/registry.c:
3071 * registryd/deviceeventcontroller.c:
3072 * libspi/spi-private.h:
3074 Changed spelling of "re-enterant" to "re-entrant" globally.
3076 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3078 * test/test-simple.c:
3079 Changed key listeners test - the test was slightly mis-using the
3080 (admittedly poorly documented) SPI_generateKeyboardEvent API.
3081 It now uses '=' as the key event listened to and generated,
3082 relying on a keysym match rather than assuming that keycode 33
3083 is always equal to keysym '!'.
3085 2002-01-15 Bill Haneman <bill.haneman@sun.com>
3088 Changed simple-at to use a specific keyset, rather than
3089 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3090 manager, desktop, etc.
3092 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3094 * registryd/deviceeventcontroller.c:
3095 Replaced standard X error handler with a special handler that
3096 is non-fatal for failed keygrabs. This works around
3097 problems with keygrab clashes sometimes observed on
3099 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
3100 mouse handling code as yet).
3102 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3105 Incremented revision for desktop alpha release.
3108 Fixed a couple of the more glaring errors (still not
3111 2002-01-11 Michael Meeks <michael@ximian.com>
3113 * registryd/deviceeventcontroller.c
3114 (spi_device_event_controller_forward_key_event): kill
3115 XUngrabKey / XKeyGrab race.
3116 (spi_controller_grab_keyboard): rename to
3117 (spi_controller_update_key_grabs): this, and deal
3118 with incremental adding / removing grabs more
3120 (_register_keygrab): ensure we're not pending a remove.
3121 (spi_grab_mask_free): impl.
3122 (spi_controller_register_global_keygrabs): split out
3124 (handle_keygrab): impl.
3125 (_deregister_keygrab): impl.
3126 (spi_controller_deregister_global_keygrabs): impl.
3127 (spi_controller_update_key_grabs): re-issue the grab if
3128 we just recieved a notification.
3130 * test/test-simple.c (key_listener_cb): remove debug.
3132 * registryd/deviceeventcontroller.c
3133 (spi_controller_register_device_listener): after
3134 registering a global keygrab, actualy register it !
3135 don't wait for a timeout; doh !
3137 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3138 to make it more readable / manipulable.
3139 s/grabmask/grab_mask/ s/refcount/ref_count/
3140 s/keyval/key_val/ s/modmask/mod_mask
3142 2002-01-08 Michael Meeks <michael@ximian.com>
3144 * registryd/deviceeventcontroller.c
3145 (spi_controller_register_with_devices): use gdk calls to
3147 (global_filter_fn): implement the filter.
3148 (spi_device_event_controller_check_key_event): rename to
3149 (spi_device_event_controller_forward_key_event): this & upd.
3150 (spi_get_display): replace with GDK_DISPLAY.
3152 * registryd/deviceeventcontroller.c
3153 (spi_controller_deregister_device_listener): unroll into
3154 (impl_deregister_keystroke_listener): here to simplify.
3155 (spi_controller_register_global_keygrabs): split cut and
3156 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3157 (spi_controller_deregister_device_listener): remove.
3158 (impl_register_mouse_listener): remove, no mouse listener
3159 support in at-spi-1.0
3161 * registryd/registry.c
3162 (_device_event_controller_hook): kill.
3163 (spi_registry_init): upd.
3165 * registryd/deviceeventcontroller.c
3166 (spi_device_event_controller_class_init): upd.
3167 (spi_check_key_event): merge into.
3168 (spi_device_event_controller_check_key_event):
3169 here and kill strange static ev init, don't leak
3170 the x_event - nor dynamicaly allocate it.
3172 * registryd/registry-main.c (main): re-direct
3173 timeout to remove strange vtable mess.
3175 * registryd/deviceeventcontroller.c
3176 (remove_listener_cb): impl.
3177 (spi_controller_deregister_device_listener):
3178 fix re-enterancy hazard.
3180 2002-01-07 Michael Meeks <michael@ximian.com>
3182 * registryd/deviceeventcontroller.c
3183 (spi_device_event_controller_new): upd.
3184 (impl_notify_listeners_sync): upd. debug.
3185 (spi_notify_keylisteners): fix re-enterancy hazards,
3186 prettify, remove O(n*n) iteration.
3187 (spi_controller_grab_keyboard): fix iteration.
3188 (spi_check_key_event): re-format to suit coding style.
3189 Clean all the warnings - we're warning free.
3191 * registryd/deviceeventcontroller.h:
3192 * registryd/registry.h: make mutualy referential with
3193 typesafe forward references instead of (!) void pointer
3196 2002-01-11 Michael Meeks <michael@ximian.com>
3198 * cspi/spi_accessible.c (role_names): add a role name
3199 to sync this array with the enum; and make the regression
3202 2002-01-10 Michael Meeks <michael@ximian.com>
3204 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3205 allow expansion of enumeration & kill warning.
3207 * test/test-simple.c (key_listener_cb): impl.
3208 (test_keylisteners): impl.
3210 * cspi/spi-listener.h: make listener signatures const
3211 on the provided (const) events.
3213 * test/keysynth-demo.c: upd. to const events.
3215 * test/simple-at.c: ditto.
3217 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3220 Rev the version to 0.5 (the previous tarball was named 0.4,
3221 even though the micro number was 3), so we need to rev upwards
3222 again for beta2/"desktop-alpha"
3225 Checked in a demo script, which requires editing before use!
3226 Proceed with caution.
3229 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3231 * cspi/spi_accessible.c:
3232 Add a couple of missing enum initializations, and fix some enum
3235 * cspi/spi_registry.c:
3236 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3238 * docs/reference/cspi/at-spi-cspi-sections.txt:
3239 Remove/fix a couple of broken document references.
3242 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3243 as Alt-Control to listen for commands, since on some systems
3244 Control-Alt may already be grabbed.
3246 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3249 Update version number to 0.4 for Beta2.
3251 * libspi/accessible.c, libspi/accessible.h:
3252 Expose spi_accessible_construct, to enable libgail-gnome
3253 construction from spi_accessible subtype.
3255 * utils/magnifier.c:
3256 Workaround for bug in some non-gnome-compliant window managers
3257 which made magnifier resize improperly.
3259 2002-01-09 Bill Haneman <bill.haneman@sun.com>
3261 * libspi/accessible.c: (spi_accessible_new) :
3262 Move the test for SPI_IS_REMOTE_OBJECT to
3263 spi_accessible_new_return, fixing a bug and compile time warning.
3265 2002-01-08 Michael Meeks <michael@ximian.com>
3267 * registryd/registry.c (parse_event_type): remove strndup.
3269 * libspi/Makefile.am (libspi_la_SOURCES): remove
3270 sources already included in the headers section.
3272 * libspi/util.c: add.
3274 * libspi/spi-private.h: add.
3276 * registryd/registry.c: update to moved list iterators.
3278 2002-01-05 Michael Meeks <michael@ximian.com>
3280 * test/simple-at.c (main): upd. auto-module set to atk-bridge
3282 * test/test-simple.c (main): ditto.
3284 2002-01-04 Michael Meeks <michael@ximian.com>
3286 * libspi/accessible.c (spi_accessible_new): remove 2nd,
3287 redundant construct.
3289 * registryd/registry.c
3290 (get_listener_list): impl.
3291 (impl_accessibility_registry_register_global_event_listener):
3292 re-impl. to simplify using ~, remove dodgy const cast off.
3293 (parse_event_type): constify.
3294 (impl_accessibility_registry_deregister_global_event_listener_all):
3295 re-write, more efficiency and simplicity, kill re-enterancy
3297 (compare_listener_corbaref, compare_corba_objects),
3298 (compare_listener_quarks): define out.
3299 (impl_accessibility_registry_deregister_global_event_listener):
3300 re-write for effiency, and nail re-enterancy hazard.
3301 (impl_accessibility_registry_get_desktop_list): impl.
3302 (re_enterant_list_delete_link): impl.
3303 (re_enterant_list_foreach): impl.
3304 (remove_listener_cb): impl.
3305 (_registry_notify_listeners): kill.
3306 (notify_listeners_cb): impl.
3308 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3309 (SPI_getDesktopList): impl.
3311 * test/test-simple.c (test_desktop): test the methods.
3313 2002-01-03 Michael Meeks <michael@ximian.com>
3315 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3316 keystrings since we free them
3317 (SPI_freeAccessibleKeySet): in here.
3319 * libspi/accessible.c (spi_accessible_new): kill warning,
3320 wonder what is going on with the constructor here.
3322 2002-03-01 Bill Haneman <bill.haneman@sun.com>
3324 * libspi/accessible.c (spi_accessible_new ()) :
3325 Added check to see if AtkObject is an SpiRemoteObject before
3326 creating an SpiAccessible.
3328 2002-05-01 Bill Haneman <bill.haneman@sun.com>
3330 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3331 Enable keygrabs using the Control modifier, now that they are
3332 working properly (they were previously disabled).
3335 Change the command keygrab for this demo to "Control+Alt", so as
3336 to conflict with fewer other key commands on the system; this
3337 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3339 Removed a pointlessly-chatty keylistener for unshifted keys
3340 (shifted keys are still reported).
3342 2002-02-01 Bill Haneman <bill.haneman@sun.com>
3344 * libspi/remoteobject.h:
3345 * libspi/remoteobject.c:
3346 Added definitions for special AtkObject subtype, required for
3347 support of remote components (specifically, used by BonoboControl
3348 accessibility implementation).
3350 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
3352 * cspi/spi.h: synched relation types with ATK
3354 * cspi/spi_accessible.c: Added implementations of
3355 AcccessibleRelation_* methods
3357 * idl/Accessibility_Relation.idl: added getRelationTypeName
3358 method. Synched known relation types with ATK. Allowed for
3359 relation type extension with the RELATION_EXTENDED type.
3361 * libspi/relation.c: Provided implementations for
3362 AccessibleRelation methods.
3364 2002-01-01 Bill Haneman <bill.haneman@sun.com>
3366 API tweaks for today's API 'freeze'.
3369 Added placeholder functions to allow future compatible expansion
3370 of the IDL interfaces.
3372 * idl/Accessibility_Registry.idl:
3373 Changed generateKeyEvent to generateKeyboardEvent. Changed
3374 signature of this method to accept an optional keystring in
3375 parameter (for complex text input synthesis) and changed use of
3376 simple 'boolean' parameter in registerKeystrokeListener to a
3377 struct, EventListenerMode.
3379 * cspi/spi_accessible.c:
3381 * cspi/spi_streamablecontent.c:
3382 Added references to AccessibleStreamableContent interface, and
3383 definition and implementation of AccessibleStreamableContent
3386 * cspi/spi_registry.c:
3388 Changed generateKeyEvent API to generateKeyboardEvent,
3389 taking a new (optional) keystring parameter to support complex
3394 Renamed directory (to better reflect its actual purpose, bridging
3395 from at-spi to ATK). The .so module is also now named
3398 * idl/Accessibility_Hypertext.idl:
3399 * libspi/accessible.c:
3400 * libspi/hypertext.h:
3401 * libspi/hypertext.c:
3402 Changed Accessibility_Hypertext to *not* derive from
3405 * cspi/spi_registry.c:
3406 Added list of legal event type names for 'window' events, which
3407 completes the registry event API.
3409 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
3411 * at-bridge/bridge.c: Added registration for separate
3412 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3413 signals. If either of the first two parameters to the generic
3414 bridge signal handler are ints, they are passed on as event
3415 details. This allows an AT to determine what text was inserted.
3417 2001-12-21 Bill Haneman <bill.haneman@sun.com>
3419 * registryd/deviceeventcontroller.c:
3420 Fixed regressions in generateKeyEvent caused by the removal of
3421 gdk_init from registryd; we now use pure X calls to connect to the
3422 display, which makes sense because deviceeventcontroller already
3423 uses a fair bit of X API (should eventually be migrated to a
3424 'portability layer').
3426 * registryd/desktop.c:
3427 Fixed minor regression in spi_desktop_init, changed the way the
3428 desktop name is being set to work with new spi_base API
3429 (gobject-based, rather than AtkObject-based).
3431 * registryd/Makefile.am:
3432 Minor revision of makefile to use XTST_LIBS variable rather than
3433 hard-wiring the Xtst LD_ADD element.
3435 * test/keysynth-demo.c:
3436 Tweaked an output message; added initialization of the
3437 'keystrings' member of the "switch listener" key_set.
3439 * libspi/relation.c:
3440 Squashed compile-time warning.
3442 * libspi/accessible.c:
3443 Cosmetic and formatting fixes, renamed a static method.
3445 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3447 * libspi/accessible.c
3449 * libspi/application.c
3452 * libspi/component.c
3453 * libspi/editabletext.c
3454 * libspi/hyperlink.c
3455 * libspi/hypertext.c
3457 * libspi/selection.c
3461 * registryd/desktop.c:
3462 Changed SpiBase to contain a GObject pointer rather than an AtkObject
3464 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3466 * idl/Accessibility_Registry.idl:
3467 Added boolean member 'is_text' to DeviceEvent. This is for the
3468 use of key events, and helps prevent ambiguity between composed
3469 key strings and keysym names, since both may potentially be
3470 returned in the 'event_string' member.
3472 * at-bridge/bridge.c:
3473 * registryd/deviceeventcontroller.c:
3474 Use the 'is_text' member when notifying device event listeners.
3475 Knon issue: composed characters are not dealt with correctly by
3476 the global key listener implementation yet.
3478 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3480 * at-bridge/bridge.c:
3481 Namespaced local static methods to spi_atk_bridge_* where
3482 previously named bridge_*, and spi_* elsewhere.
3484 * at-bridge/bridge.c:
3485 * cspi/bonobo/cspi-bonobo-listener.c:
3486 Added demarshalling/conversion for string member of
3487 Accessibility_DeviceEvent to AccessibleKeystroke.
3489 * registryd/deviceeventcontroller.c:
3490 Added code to fill the Accessibility_DeviceEvent key string value
3491 member for global key events (i.e. from XGrabKey), to match
3492 behavior of Accessibility_DeviceEvent from the toolkit key events
3493 from the bridge. Fixed timestamp in global key event notifications.
3496 Added printout of key event's string value to
3497 report_ordinary_key_event, for demo/debugging purposes.
3499 2001-12-15 Bill Haneman <bill.haneman@sun.com>
3501 * idl/Accessibility_Registry.idl:
3502 Removed Accessibility_KeyStroke structure in favor of generic
3503 Accessibility_DeviceEvent structure.
3504 Changed Accessibility_ControllerEventMask from a struct to an
3507 * at-bridge/bridge.c:
3508 Changed APIs to use DeviceEvent structure as above, and removed
3509 bogus casting between these event structures.
3511 * cspi/spi-listener.h:
3512 Added keystring member of AccessibleKeystroke structure, to enable
3513 matching on event "names" rather than only hardware codes and
3517 Added keystrings member of AccessibleKeySet struct, to allow
3518 matching on event names (as above).
3519 Added declarations for SPI_createAccessibleKeySet and
3520 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
3521 event modmasks directly as unsigned ints rather than structs with
3522 refcounts, in the DeviceEventController methods.
3524 * cspi/spi_registry.c:
3525 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3527 * cspi/spi-roletypes.h:
3528 Added documentation of newly added SPI Roles.
3530 * cspi/bonobo/cspi-bonobo-listener.c:
3531 Changes in support of API changes above.
3533 * libspi/accessible.c:
3534 Converted APIs to use DeviceEvent structure (see IDL changes
3537 * registryd/deviceeventcontroller.c:
3538 Added DEControllerGrabMask structure to track keygrabs not only by
3539 modmask but by keyset as well; this allows us to do "global"
3540 (i.e. X) keygrabs on a per-key or keyset basis rather than always
3541 grabbing on AnyKey and then filtering after-the-fact.
3542 Bugfixes for event filtration mean that we don't get false matches
3543 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3545 * registryd/deviceeventcontroller.c:
3546 Namespaced a number of static methods to use spi_ prefix. Major
3547 revision to internals of global (i.e. X) key grabs.
3549 * registryd/deviceeventcontroller.h:
3550 Removed keymask_list and added keygrabs_list to
3551 SpiDeviceEventController struct.
3554 Added use of SPI_createAccessibleKeySet API when creating a
3555 listener for only one key. Attach a listener to "shift spacebar
3556 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
3557 X key event names to SPI key event names, so that listeners are
3558 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3560 * test/keysynth-demo.c:
3561 Changed (incorrect) use of X key event names (KeyPressed,
3562 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3565 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3567 * libspi/accessible.c:
3568 Convert all AtkRole enumerations to Accessibility_Role enums when
3569 getting a role from an AtkObject.
3571 * cspi/spi_accessible.c:
3572 Complete the conversion of Accessibility_Role enums at runtime to
3573 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3574 role enums correctly match those given in spi-roletypes.h.
3575 Re-synchronize the local names list for AccessibleRole_getName ().
3576 AccessibleRole_getName is now deprecated, since it duplicates the
3577 more reliable Accessible_getRoleName.
3578 Added some role types from Accessibility_Role.idl.
3580 * idl/Accessibility_Role.idl:
3581 Added some role types used by AtkRole.
3583 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3586 * cspi/spi_registry.c:
3588 * cspi/cspi-bonobo-listener.c:
3589 Namespaced all methods that did not begin with an "SPI_" or
3590 "Accessible" prefix to "SPI_".
3593 Homogenized internal function namespace to "cspi_" for statics.
3596 Patched tests to use the new CSPI API.
3598 * docs/reference/cspi/at-spi-cspi-sections.txt:
3599 Updated docs to reflect namespace changes, and added a number of
3600 methods to the documentation.
3602 * registryd/registry.c:
3603 Changed use of strings and string hashes in listener event
3604 matching and parse_event_string to use GQuark, which is guaranteed
3607 * registryd/registry.h:
3608 Squashed annoying warning.
3610 * idl/Accessibility_Role.idl:
3611 Extended range of available Accessibility_Role values.
3613 * cspi/spi_accessible.c:
3614 Re-ordered role names.
3616 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3618 * idl/Accessibility_Value.idl:
3619 Revert use of union back to CORBA_double, since the double type is
3620 more efficient and can contain the other types without loss of
3623 * idl/Accessibility_Accessible.idl:
3624 Added method Accessibility:Accessible:getRoleName, to complement
3625 Accessibility:Accessible:getRole.
3627 * cspi/spi_accessible.c:
3629 Added C binding for above, Accessible_getRoleName (), and changed
3630 signature of Accessible_getRole () to return an AccessibleRole.
3632 * cspi/spi-roletypes.h:
3633 Changed AccessibleRole_getName to return a char * instead of a
3634 const char *. This method is now at least temporarily deprecated
3635 in favor of asking Accessibles for their RoleNames directly.
3638 Revert to match Accessibility_Value.idl;
3642 Change signature of AccessibleValue methods to use double rather
3646 * cspi/spi_accessible.c:
3647 Changed Accessible_getRole to return an AccessibleRole enum rather
3648 than a UTF-8 string. The UTF-8 string can still be obtained via
3649 AccessibleRole_getName ().
3651 * test/test-simple.c:
3652 Add test_action. Small fixup to match API change to Accessible_getRole.
3655 Bugfix for get_action_from_servant ().
3657 2001-12-11 Michael Meeks <michael@ximian.com>
3659 * libspi/libspi.h: remove registry.h and
3660 desktop.h, deviceeventcontroller.h
3662 * libspi/Makefile.am: remove registry.[ch],
3663 desktop.[ch], deviceeventcontroller.[ch]
3665 * registryd/Makefile.am: add registry.[ch],
3666 desktop.[ch], rename registryd.c to registry-main.c.
3667 add deviceeventcontroller.[ch]
3669 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3672 Replace setenv() call with putenv ().
3674 * libspi/component.c:
3675 Bugfix in AccessibleComponent_getExtents (),
3678 2001-12-11 Michael Meeks <michael@ximian.com>
3680 * libspi/image.c (impl_getImageExtents): impl.
3681 (spi_image_class_init): upd.
3684 (AccessibleImage_getImageDescription): fix daft bug
3687 * test/test-simple.c (global_listener_cb): update
3688 to only quit if not --poke
3689 (main): catch --poke.
3690 (validate_accessible): upd. dumping, call test_image
3693 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3696 * idl/Accessibility.idl: update all IDL includes.
3698 * idl/*.idl - rename to namespace - this sucks, blame
3699 mjs' bad decision for oafd.
3701 * test/test-simple.c (create_test_window): add more tests.
3702 (create_tree): split this out.
3703 (validate_accessible): bugfix.
3705 2001-12-11 Michael Meeks <michael@ximian.com>
3707 * cspi/bonobo/cspi-bonobo-listener.c:
3708 (cspi_kestroke_listener_unref),
3709 (cspi_event_listener_unref): impl. undoing previous
3710 homenous environment - for Bill.
3712 * cspi/spi_table.c (long_seq_to_array): use
3715 * cspi/spi_main.c: split out all bonoboish bits into
3718 * cspi/spi-impl.h: upd. typedefs.
3720 * cspi/spi_registry.c: update to lowlevel API,
3721 return booleans to indicate success in some places.
3723 * cspi/spi_event.c: update to lowlevel API.
3725 * cspi/bonobo/Makefile.am: add.
3727 * cspi/bonobo/cspi-lowlevel.h: add
3729 * cspi/bonobo/cspi-bonobo.c: add
3731 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
3733 * cspi/Makefile.am: remove spi-listener-impl.[ch],
3734 (SUBDIRS): add bonobo, link in the libs.
3736 * cspi/spi-util.c: kill this file.
3738 * TODO: merge in my bits.
3740 2001-12-11 Michael Meeks <michael@ximian.com>
3742 * test/test-simple.c (test_value, test_table, main):
3743 remove unused variables causing warnings.
3745 * configure.in: cleanup checks - require gail.
3747 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3750 Changed Value interface to use SValue (scalars) rather than
3751 assuming all values are floats. This allows floats, doubles,
3752 longs, shorts, and unsigned values to be manipulated.
3753 Introduced Accessibility:SValue union.
3756 Updated to use new API above, and to work correctly with GValues
3757 of different types in AtkValue.
3760 Updated to use new API above. cspi's API is as yet unchanged.
3763 Updated the Value revision action item.
3765 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3767 * test/test-simple.c:
3768 Added test_table (GtkTreeView widget in test window to follow).
3769 Un-commented test_value, added GtkRange widget.
3770 Added GtkTreeView widget with GtkListStore. It passes regression
3771 test but leaks one SPI object for some reason.
3774 Fixed bug in impl__set_currentValue.
3776 2001-12-10 Michael Meeks <michael@ximian.com>
3778 * cspi/spi_text.c: audit for exception handling,
3779 tolerating NULL object references safely etc.
3781 * cspi/spi_value.c: ditto.
3783 * cspi/spi_table.c (AccessibleTable_getSummary),
3784 (AccessibleTable_getAccessibleAt),
3785 (AccessibleTable_getRowHeader),
3786 (AccessibleTable_getColumnHeader),
3787 (AccessibleTable_getCaption): fix bugs hidden by
3789 (long_seq_to_array): impl.
3790 (AccessibleTable_getSelectedRows),
3791 (AccessibleTable_getSelectedColumns): use it.
3793 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3796 Added a TODO list (rough and short for now).
3798 * cspi/spi_hyperlink.c:
3799 * cspi/spi_hypertext.c:
3800 Fixed macro name typos, and remove use of obsolete macro in
3801 AccessibleHyperlink_getLink.
3803 * cspi/spi_action.c:
3804 * cspi/spi_accessible.c:
3805 * cspi/spi_application.c:
3806 * cspi/spi_component.c:
3807 * cspi/spi_selection.c:
3810 Documentation fixes (removed return values from ref/unref methods).
3812 2001-12-10 Michael Meeks <michael@ximian.com>
3814 * cspi/spi_action.c: audit for exception handling,
3815 tolerating NULL object references safely etc.
3817 * cspi/spi_accessible.c: ditto.
3819 * cspi/spi_component.c: ditto.
3821 * cspi/spi_editabletext.c: ditto.
3823 * cspi/spi_hyperlink.c: ditto.
3825 * cspi/spi_hypertext.c: ditto.
3827 * cspi/spi_image.c: ditto.
3829 * cspi/spi_selection.c: ditto.
3831 2001-12-10 Michael Meeks <michael@ximian.com>
3833 * configure.in: use cspi/libspi.pc.in instead.
3835 * Makefile.am (pkgconfig_DATA): upd. to match.
3837 * test/simple-at.c (report_focus_event): kill hacks around
3838 bad return values, use putenv not setenv
3840 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3841 fire ChildGone - I killed it.
3843 * libspi/component.c
3844 (impl_accessibility_component_get_extents): remove
3847 * idl/Accessible.idl: kill ChildGone exception.
3849 * cspi/*.[ch]: kill int return from ref / unref.
3851 * cspi/spi_main.c (cspi_object_add_check): fold into
3852 (cspi_object_add): here.
3854 * cspi/spi_component.c (AccessibleComponent_getExtents):
3855 handle exceptions elegantly.
3857 * cspi/spi-private.h (cspi_check_ev_return),
3858 (cspi_return_if_fail): impl.
3860 * cspi/spi_accessible.c: use extensively.
3861 (AccessibleStateSet_equals): add direct compare check.
3863 * cspi/spi_selection.c: tolerate NULL objs, and check
3864 exceptions before return.
3866 * cspi/spi-util.c (cspi_warn_ev): rename to
3867 (cspi_check_ev): this & don't pass ev in; no point.
3869 2001-12-10 Michael Meeks <michael@ximian.com>
3871 * test/test-simple.c: use putenv not setenv
3872 (get_environment_vars): more chatty if you're not using
3875 * test/simple-at.c: do the setenv so more people see the
3878 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3880 * libspi/registry.c:
3881 Changed check of CORBA_environment on notification to be a warning
3882 instead of an error for the moment, since we can recover from this
3883 error when caused by a queued notification from a dead app.
3886 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3887 used by all current implementors of AtkValue), and coerce to
3888 CORBA_float. (Proper general case fix may require change to Value.idl).
3890 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3894 * cspi/spi_accessible.c:
3895 Documentation fixes: added user_data params to documentation for
3896 listeners and callbacks.
3898 * cspi/spi_accessible.c:
3899 Changed AccessibleStateSet_compare to return a
3900 StateSet rather than return the difference set into a third parameter.
3903 2001-12-09 Bill Haneman <bill.haneman@sun.com>
3906 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3907 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3911 Remove subdirectory po from SUBDIRS for now.
3913 * at-bridge/bridge.c:
3914 Beefed up a couple of debug printouts.
3915 One-line fix for signal notification name formatting.
3917 * libspi/accessible.c:
3918 Added assertion to spi_accessible_new ().
3920 * libspi/application.c:
3921 Put #ifdef qualifiers around a printf.
3924 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3926 * registryd/Makefile.am:
3928 Replaces use of XML_I18N_MERGE_SERVER_RULE with
3929 INTLTOOL_SERVER_RULE macro.
3932 Added an event listener for several ATK signals, for
3933 testing and debugging. Removed a few g_warnings.
3934 Added test output if focussed item implements the Value interface.
3936 * test/test-simple.c:
3937 Added test_value () function (known not to pass at the moment, so
3938 not actually called yet.
3940 2001-12-08 Michael Meeks <michael@ximian.com>
3942 * at-bridge/bridge.c (bridge_focus_tracker),
3943 (emit_eventv): fix the same ref. leak.
3944 (register_atk_event_listeners): don't leak.
3946 * cspi/spi-listener-impl.c (cspi_event): more
3947 protection from client code.
3949 * test/test-simple.c (test_desktop): unref the app.
3951 * test/Makefile.am: upd. TESTS.
3953 * at-bridge/bridge.c (bridge_exit_func): release the registry.
3955 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3957 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3959 * cspi/spi_registry.c: constify in strings.
3960 (deregisterGlobalEventListenerAll): don't release the ref.
3962 * cspi/spi.h: start removing redundant / conflicting
3963 gtkdoc comments, making the API readable at a glance :-)
3965 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3967 * test/keysynth-demo.c (keysynth_exit, main): upd.
3969 * test/simple-at.c (main, simple_at_exit): upd.
3971 * test/test-simple.c (unutterable_horror): kill.
3972 (utterable_normal_derefs): kill.
3973 (main): upd & do a setenv before gtk_init, so that we
3974 can use memprof - and to save the pain of remembering
3975 this, if we're running under memprof - don't exit.
3977 * cspi/spi_main.c (SPI_exit): return exit status
3979 (SPI_event_quit): impl.
3980 (SPI_event_main): simplify.
3981 (cspi_is_gnome_app): kill.
3982 (SPI_init): kill isGNOMEapp arg.
3984 * at-bridge/bridge.c (register_atk_event_listeners):
3985 re-instate the unref.
3986 (bridge_exit_func): don't re-activate the registry,
3987 protect vs. theoretical re-entry, use the
3988 AT_BRIDGE_SHUTDOWN env. var to determine whether to
3989 assert a clean shutdown - for regression tests.
3991 2001-12-08 Abel Cheung <maddog@linux.org.hk>
3993 * configure.in: Comment out dummy i18n support for now,
3994 otherwise it fails to build.
3995 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3996 EXTRA_DIST. They are missing in tarball.
3998 2001-12-07 Michael Meeks <michael@ximian.com>
4000 * util/magnifier.c: kill bonobo activation reg. race.
4002 * libspi/component.c
4003 (impl_accessibility_component_get_extents): make it match
4006 * libspi/registry.c (_registry_notify_listeners):
4007 re-remove X headers & reconcile conflicts.
4008 (spi_listener_struct_free): bad conflict resolve.
4009 (impl_accessibility_registry_register_application):
4010 more bad merging fixed.
4011 (impl_accessibility_registry_deregister_application): ditto.
4012 (spi_registry_new): ditto.
4013 (spi_registry_init): don't have an applications field.
4015 [ merge fixups2 branch to here ]
4016 2001-12-07 Michael Meeks <michael@ximian.com>
4018 * test/simple-at.c (report_focus_event),
4019 (report_focussed_accessible): remove g_warning debug.
4021 2001-12-07 Michael Meeks <michael@ximian.com>
4023 * test/test-simple.c (validate_tree): comment out some checks.
4024 (test_desktop): app now not registered idly - horay.
4026 2001-12-07 Michael Meeks <michael@ximian.com>
4028 * cspi/spi_registry.c
4029 (registerAccessibleKeystrokeListener): clean, stop it leaking
4030 great swathes of memory, and device event controller references.
4031 ensure we always pass valid sequences.
4032 (deregisterAccessibleKeystrokeListener): ditto.
4033 (generateKeyEvent): upd.
4035 * at-bridge/bridge.c (bridge_key_listener): handle
4036 registry dead exception gracefully.
4037 (bridge_focus_tracker, emit_eventv): free ev.
4039 * test/simple-at.c (report_focus_event): fix polarity.
4041 * libspi/application.c (notify_listeners): kill the ev
4042 argument, and make sure we init the ev we use.
4043 (spi_application_object_event_listener): split out a chunk
4044 (get_atk_object_ref): here & fixup.
4045 (reverse_lookup_name_for_toolkit_event): make const.
4046 (spi_application_toolkit_event_listener): fixup, kill leaks
4049 * at-bridge/bridge.c (register_atk_event_listeners):
4050 don't unref the noop object - causes grief.
4052 * libspi/registry.c: remove the X headers.
4053 turn off the debug churn.
4055 * libspi/accessible.c (spi_accessible_new_return): only
4056 release the ref if we are supposed to [doh]
4058 * test/simple-at.c (report_button_press, report_focus_event):
4059 guard vs. unexpected exit.
4061 * at-bridge/bridge.c (gtk_module_init): prune printf.
4062 (bridge_exit_func): fix app unref.
4064 * libspi/Makefile.am: don't install registry or desktop.h
4066 * libspi/*.h: update includes.
4068 * libspi/application.h: don't include ourself, or
4069 other redundant headers.
4071 2001-12-06 Michael Meeks <michael@ximian.com>
4073 * libspi/accessible.c
4074 (get_accessible_from_servant): impl.
4075 Upd. all CORBA impl.s to use it killing cut and paste.
4077 * cspi/spi_main.c (cspi_cleanup): guard vs. double
4079 (SPI_init): register atexit cleanup handler here.
4081 2001-12-06 Michael Meeks <michael@ximian.com>
4083 * at-bridge/bridge.c (gtk_module_init): g_error on
4084 activation exception
4086 2001-12-06 Michael Meeks <michael@ximian.com>
4088 * at-bridge/bridge.c (gtk_module_init): some sort of
4089 confusing merge clash - reverted.
4090 (bridge_idle_init): ditto.
4092 * test/test-simple.c (main, utterable_normal_derefs):
4093 merge from Bill - somehow not committed.
4095 2001-12-06 Michael Meeks <michael@ximian.com>
4097 * libspi/value.c (spi_value_class_init): upd.
4098 (spi_value_finalize): kill.
4100 * libspi/table.c (spi_table_finalize): kill.
4101 (spi_table_interface_new): upd.
4102 (spi_table_class_init): upd.
4103 (get_table_from_servant): impl.
4104 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4106 * libspi/selection.c (spi_selection_finalize): kill.
4107 (spi_selection_interface_new): upd.
4108 (spi_selection_class_init): upd.
4109 (get_selection_from_servant): impl.
4110 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4112 * libspi/relation.c (spi_relation_finalize): kill.
4113 (spi_relation_class_init, spi_relation_new): upd
4115 * libspi/image.c (spi_image_finalize): kill.
4116 (spi_image_class_init): upd.
4117 (spi_image_interface_new): upd.
4118 (get_image_from_servant): impl.
4119 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4121 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4122 (spi_hyperlink_finalize): kill.
4123 (spi_hyperlink_new): upd.
4124 (get_hyperlink_from_servant): impl.
4125 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4127 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4128 (spi_hypertext_finalize): kill.
4129 (spi_hypertext_class_init): upd.
4130 (get_hypertext_from_servant): impl.
4131 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4133 * libspi/editabletext.c (spi_editable_text_finalize): kill.
4134 (spi_editable_text_interface_new): upd.
4135 (get_editable_text_from_servant): impl.
4136 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4138 * libspi/text.c (get_text_from_servant): impl.
4139 All impls - update to use it killing more cut and paste,
4140 also fix bad string returns on duff args ( a somewhat
4141 impossible case to handle - but hey ).
4142 (spi_text_construct): impl.
4143 (spi_text_interface_new): upd.
4144 (spi_text_object_finalize): kill.
4146 * libspi/component.c
4147 (accessibility_component_object_finalize): kill.
4148 (spi_component_class_init): upd.
4149 (get_component_from_servant): impl. helper to kill cut & paste.
4150 (impl_accessibility_component_contains):
4151 (impl_accessibility_component_get_accessible_at_point):
4152 (impl_accessibility_component_get_position):
4153 (impl_accessibility_component_get_extents):
4154 (impl_accessibility_component_get_mdi_z_order):
4155 (impl_accessibility_component_get_layer):
4156 (spi_component_interface_new): upd.
4158 * libspi/action.c (spi_action_finalize): kill.
4159 (spi_action_class_init): upd. inherit from SpiObject.
4160 (spi_action_interface_new): upd.
4161 (get_action_from_servant): impl. helper to reduce cut & paste.
4162 (impl_getKeyBinding, impl_getName, impl_doAction),
4163 (impl_getDescription): Use it everywhere.
4165 * cspi/spi_main.c (get_live_refs): a pointer hash.
4166 (spi_object_hash, spi_object_equal): comment out.
4167 There are issues with CORBA object hashing that need
4170 * libspi/application.c (spi_application_init),
4171 (spi_application_new): upd.
4173 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4174 (spi_accessible_class_init): upd.
4175 s/accessible/object/ in epv methods.
4177 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4179 * at-bridge/bridge.c:
4180 Reorder the bridge initialization into the bridge gtk_module_init,
4181 an immediate call to bridge_register_app, and an idle_add for
4182 register_atk_event_listeners (the only code that *must* wait until
4183 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4184 the activation, creates the application's Accessible object, and
4185 queues the bridge_idle_init function. Restored call to
4186 Accessibility_Registry_deregisterApplication().
4187 Prior to making this call we obtain a new reference to the
4188 registry, which is a temporary hack that helps us handle apps that
4189 shut down the bonobo mainloop before we get there.
4191 * libspi/registry.c:
4192 Fix string leakage in debug block, and don't segv if a an app
4193 dies before its event notifications have been propagated.
4196 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4197 as stopgap measure until we get proper exception handling when
4198 objects die during or before interrogation.
4202 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4203 Also changed default value of is_gnome_app to TRUE.
4206 * test/keysynth-demo.c:
4207 Changed use of SPI_init and SPI_event_main to reflect API change above.
4210 Made report_focus_event check the warning value from getName
4211 before reporting on focussed accessible; simplifies handling of
4212 notifications from dead objects.
4214 * test/test-simple.c: (Changes not in this patch since source is
4217 2001-12-05 Michael Meeks <michael@ximian.com>
4219 * registryd/registryd.c (main): protect against
4220 bonobo-activation startup race condition.
4222 * cspi/spi_main.c (cspi_object_add_check): cope
4223 with the exception elegantly.
4225 * idl/Accessible.idl: decl. ChildGone
4227 * libspi/desktop.c (spi_desktop_dispose): impl.
4228 (spi_desktop_class_init): upd.
4229 (spi_desktop_add_application),
4230 (spi_desktop_remove_application),
4231 (abnormal_application_termination): impl.
4232 (impl_desktop_get_child_at_index): re-impl.
4235 (impl_accessibility_registry_deregister_application),
4236 (impl_accessibility_registry_register_application):
4237 kill excessive debug clutter.
4239 * test/test-simple.c (test_misc): test some NULL
4240 tolerance. (main): upd.
4242 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4243 implements no interfaces - so let's not crash.
4245 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4247 * libspi/accessible.c (spi_accessible_new_return): impl.
4248 helper to calm the cut and paste, to cope with
4249 NULL AtkObjects effectively and efficiently, and to kill
4250 the referencing bugs.
4252 * libspi/table.c (impl_getAccessibleAt),
4253 (impl_getRowHeader, impl_getColumnHeader): upd.
4255 * libspi/hyperlink.c (impl_getObject): upd.
4257 * libspi/accessible.c
4258 (impl_accessibility_accessible_get_child_at_index): upd.
4260 * libspi/component.c
4261 (impl_accessibility_component_get_accessible_at_point): upd.
4263 * test/test-simple.c (test_editable_text, test_text): impl.
4266 * cspi/spi_editabletext.c
4267 (AccessibleEditableText_insertText): constify.
4269 * test/test-simple.c (focus_me): make more robust.
4271 * libspi/accessible.c: remove some printfs in methods that
4272 we test and work fine, so we can get a clean tree dump.
4274 * test/test-simple.c (validate_accessible),
4275 (validate_tree): make tree dumping pretty too.
4277 * at-bridge/bridge.c (bridge_signal_listener): upd. so
4278 it builds without debug on.
4280 * test/test-simple.c (validate_accessible): fix the most
4283 * cspi/spi_main.c (spi_object_release): leave the nicely
4284 blanked memory around if in debug mode.
4286 * cspi/spi-listener-impl.c (cspi_event): use add_check.
4288 [committed to fixups2]
4289 2001-12-05 Michael Meeks <michael@ximian.com>
4291 * libspi/editabletext.c
4292 (spi_editable_text_class_init): g_type_class_peek_parent,
4293 not interface peek - so we finalize cleanly.
4295 * libspi/accessible.c (spi_accessible_new): kill debug.
4297 * test/test-simple.c (validate_accessible): fix ref.
4298 leak, print strings before freeing them; sigh, comment a
4299 chunk out due to strangeness.
4300 (validate_tree): unref the child after use.
4302 * cspi/spi_component.c (AccessibleComponent_getLayer):
4303 add missing break statement, switch on zlayer not the
4304 uninitialized retval.
4306 * cspi/spi_main.c (cspi_object_add): add assert, local ref
4307 before (possibly re-entering) remote unref.
4309 * test/simple-at.c (main): unref the desktop.
4311 * cspi/spi_accessible.c (cspi_accessible_is_a): move
4314 * cspi/spi_main.c (cspi_accessible_is_a): here to
4315 isolate bonobo API usage more.
4317 * libspi/registry.c (impl_accessibility_registry_register_application):
4318 prune bogus comment.
4320 2001-12-04 Michael Meeks <michael@ximian.com>
4322 * test/test-simple.c (validate_tree): upd.
4323 IndexInParent check to make it more lucid.
4324 (validate_accessible): dump the tree.
4326 * libspi/accessible.c (de_register_public_ref),
4327 (get_public_refs): impl.
4328 (spi_accessible_new): make more efficient & intuitive.
4329 Now IndexInParent check works.
4331 2001-12-04 Michael Meeks <michael@ximian.com>
4333 * cspi/spi-util.h: remove.
4335 * cspi/spi.h: move SPI_freeString here
4337 * libspi/component.c (impl_accessibility_component_get_layer):
4339 (impl_accessibility_component_get_mdi_z_order): ditto,
4340 return -1 on error - is this ok ?
4342 * test/test-simple.c (test_application): impl.
4344 * cspi/spi_accessible.c (Accessible_getApplication),
4345 (Accessible_isApplication): impl.
4347 * libspi/registry.c (spi_listener_struct_free): release
4348 the CORBA reference too.
4350 * libspi/accessible.c
4351 (impl_accessibility_accessible_get_parent): fix ref leak.
4353 * libspi/registry.c (spi_registry_new): make the registry
4354 immortal - we don't want it to go away ever.
4356 * libspi/application.c
4357 (spi_accessible_application_finalize): impl. cleanup.
4359 * cspi/spi_registry.c
4360 (deregisterGlobalEventListenerAll),
4361 (deregisterGlobalEventListener),
4362 (deregisterAccessibleKeystrokeListener): fix ref leak.
4364 * cspi/spi_main.c (SPI_init): remove redundant ref.
4366 * test/test-simple.c (unutterable_horror): impl. to force a
4371 (impl_accessibility_registry_deregister_application): release
4372 the application when we de-register it.
4374 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4375 until we have the infastructure to get it right.
4377 2001-12-03 Michael Meeks <michael@ximian.com>
4379 * libspi/Makefile.am: only build eventlistener.[ch]
4381 * libspi/accessible.c
4382 (impl_accessibility_accessible_get_child_at_index): don't leak.
4384 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4385 before we hit the idle handler.
4387 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4388 debugging than exit.
4390 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4392 * libspi/listener.c (impl_notify_event): check source
4393 not NIL before unref.
4395 * libspi/registry.c (impl_registry_notify_event): ditto.
4397 * libspi/eventlistener.c
4398 (impl_accessible_event_notify_event): unref the source.
4400 * libspi/accessibleeventlistener.c
4401 (impl_accessible_event_notify_event): unref the source.
4403 * idl/Event.idl: remove 'hash_id' attribute - of no
4406 * libspi/application.c (notify_listeners): upd list
4408 (spi_application_object_event_listener),
4409 (spi_application_toolkit_event_listener): upd to do correct
4413 (_registry_notify_listeners): update.
4414 (parse_event_type): this method also leaks like a sieve.
4415 (impl_accessibility_registry_deregister_global_event_listener):
4416 fix ETYPE_WINDOW case.
4418 * libspi/application.c
4419 (impl_accessibility_application_register_object_event_listener):
4422 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4424 * libspi/hypertext.c (impl_getLink): ditto.
4426 * cspi/spi_main.c (cspi_object_add): remove
4427 bogus CORBA_Object_duplicate.
4429 * cspi/spi-listener-impl.c (cspi_event): dup/ref
4432 * cspi/spi_accessible.c
4433 (Accessible_getRelationSet): fix leak / referencing issue.
4435 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4436 (cspi_object_add, cspi_object_unref): upd.
4437 (spi_object_release, get_live_refs): impl.
4438 (cspi_cleanup): simplify.
4440 * *.[ch]: s/boolean/SpiBoolean/
4442 * cspi/spi_accessible.c (role_names): actualy order so it
4443 corresponds with the enum !
4445 * test/test-simple.c (test_roles): check some role strings
4446 vs. enums to detect offset errors.
4448 2001-12-01 Michael Meeks <michael@ximian.com>
4450 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4452 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4454 (Accessible_getChildAtIndex): use cspi_add_check so we
4455 check the ev before using a (possibly) invalid value.
4457 * libspi/accessible.c
4458 (impl_accessibility_accessible_get_parent): don't segv
4461 * at-bridge/bridge.c (gtk_module_init): upd.
4462 (bridge_property_event_listener): don't leak strings
4464 (bridge_state_event_listener),
4465 (bridge_property_event_listener): don't use a static
4466 buffer in case of recursive event emission &
4467 re-enterancy - split out the swathe of cut and paste
4469 (emit_eventv): and fix 2 ref leaks here & comply to the
4471 (bridge_register_app): rename to
4472 (bridge_idle_init): this and kill arg parsing, split
4473 various inits & bonobo-activation registration to module
4474 init time, kill referencing error.
4475 (bridge_exit_func): fix the same leak.
4476 (bridge_focus_tracker): don't leak event structures
4478 (bridge_signal_listener): more leakage and cut & paste
4480 (bridge_key_listener): return the result - FIXME is
4481 this polarity correct ?
4482 (accessibility_keystroke_from_atk_key_event): rename
4483 (accessibility_init_keystroke_from_atk_key_event): and stop
4485 (gtk_module_init): return a value - not that it is checked by
4487 (bridge_key_listener): register my horror at casting between
4488 IDL defined structs.
4489 (bridge_get_registry): kill - not used.
4491 * cspi/spi_accessible.c (Accessible_getRole): make return const.
4493 * test/test-simple.c (test_roles): impl.
4494 (test_desktop, validate_accessible, validate_tree): impl.
4496 * cspi/spi_accessible.c (role_names): fixup bogus
4497 MAX_ROLES setup, make constants const for efficient linkage
4498 (AccessibleRole_getName): conform to coding style, make
4501 2001-11-30 Michael Meeks <michael@ximian.com>
4503 * cspi/spi.h: add missing prototype.
4505 * libspi/registry.c (spi_listener_struct_new): fix sig.
4507 * test/Makefile.am: add test-simple
4509 * test/test-simple.c: add
4511 * test/test.sh: add.
4513 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4515 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4516 do it straight - since otherwise we often get an activation race.
4518 [ work before Bill duplicated a chunk of it ... ]
4519 2001-11-30 Michael Meeks <michael@ximian.com>
4521 * libspi/keystrokelistener.c
4522 (spi_keystroke_listener_class_init): fixup arg
4525 * libspi/eventlistener.c
4526 (spi_event_listener_class_init): ditto.
4528 * tests/test.sh: add.
4530 * cspi/spi-listener-impl.h: update macros.
4532 * cspi/spi-listener-impl.c
4533 (cspi_event_listener_remove_callback): add
4534 correct pre-conditions.
4536 * cspi/spi_main.c (SPI_exit): guard vs. double
4537 exits, exit the mainloop nicely.
4538 (SPI_event_main): make more sense.
4539 (SPI_init): move the atexit evilness here so we
4540 always do it (yuck).
4541 (SPI_event_main): upd.
4543 * test/simple-at.c: update for listener changes.
4545 * registryd/registryd.c (main): prune kruft.
4547 * libspi/libspi.h: upd.
4549 * libspi/eventlistener.[ch]: rename broken macros.
4551 * libspi/accessibleeventlistener.[ch]: remove.
4553 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4555 * test/test-simple.c: Add - automated tests.
4557 * cspi/spi-listener-impl.c (cspi_event),
4558 (cspi_key_event): add user_data to invoke.
4559 (cspi_keystroke_listener_finalize): impl.
4560 (cspi_keystroke_listener_class_init): upd.
4563 (createAccessibleEventListener),
4564 (AccessibleEventListener_addCallback),
4565 (createAccessibleKeystrokeListener),
4566 (AccessibleKeystrokeListener_addCallback): upd.
4568 * libspi/deviceeventcontroller.c
4569 (spi_device_event_controller_check_key_event): add public proto.
4572 (impl_accessibility_registry_deregister_global_event_listener):
4573 always init listeners.
4574 (_registry_notify_listeners): yes it is.
4576 * cspi/spi-listener-impl.c (cspi_key_event):
4578 (cspi_event_listener_finalize): impl.
4579 (cspi_event_listener_class_init): hook up.
4580 (event_handler_new, event_handler_free),
4581 (event_list_remove_by_callback): impl.
4582 (cspi_event_listener_remove_callback),
4583 (cspi_keystroke_listener_remove_callback),
4584 (cspi_keystroke_listener_add_callback),
4585 (cspi_event_listener_add_callback): upd.
4587 * libspi/keystrokelistener.c
4588 (keystroke_listener_object_finalize): kill
4589 (spi_keystroke_listener_class_init): upd.
4590 (spi_keystroke_listener_add_callback),
4591 (spi_keystroke_listener_remove_callback): kill,
4593 (impl_key_event): prune drasticaly.
4595 * libspi/eventlistener.c
4596 (spi_event_listener_add_callback),
4597 (spi_event_listener_remove_callback): kill, use
4599 (impl_accessible_event_notify_event): upd.
4600 (spi_event_listener_object_finalize): remove.
4602 * libspi/Makefile.am: use eventlistener.[ch]
4604 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4606 * libspi/registry.c (_registry_notify_listeners):
4607 Changed listener loop iteration to use preferred convention.
4608 Got rid of string memory leaks caused be calling g_strconcat
4609 inside function calls.
4611 * libspi/registry.c (parse_event_type):
4612 Stopped g_strconcat memory leaks, free the g_strsplit return,
4613 g_strdup the split pieces when used, etc.
4615 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4618 Change method 'compare' to return a 'difference set' rather than
4619 taking a StateSet as an out parameter (more Java-friendly).
4621 * idl/Accessible.idl:
4622 Added CORBA struct 'BoundingBox', to faciliate API changes below:
4624 * idl/Component.idl:
4626 Changed methods 'getExtents' and 'getImageExtents' in these
4627 interfaces to return a BoundingBox structure.
4628 (getPosition and getSize are redundant and possibly should be
4629 removed, rather than creating a corresponding Point struct.)
4631 * cspi/spi_component.c:
4632 Modify implementation of getExtents to reflect the above IDL
4637 Add (missing) AccessibleImage_getExtents () API.
4639 * docs/reference/cspi/at-spi-cspi-sections.txt:
4640 Added AccessibleImage_getImageExtents () to docs.
4642 2001-12-03 Bill Haneman <bill.haneman@sun.com>
4644 * idl/Component.idl:
4645 Added two methods, getLayer () and getMDIZOrder (), to reflect
4646 the new ATK methods atk_object_get_layer and
4647 atk_object_get_mdi_z_order. (Which arguably should be part of the
4648 AtkComponent API and AtkObject). Also added an enum,
4649 ComponentLayer, for the first method's return value.
4651 * libspi/component.c:
4652 Added implementations for these methods.
4654 * cspi/spi_component.c:
4656 Added cspi binding methods for above,
4657 AccessibleComponent_getLayer() and
4658 AccessibleComponent_getMDIZOrder().
4659 Added cspi enum 'AccessibleComponentLayer'.
4661 * docs/reference/cspi/at-spi-cspi-sections.txt:
4662 Added above methods to docs.
4666 Changed typedef for 'boolean' type (and all references to it) to
4667 SPIBoolean, to avoid keyword clashes with C++.
4670 Changed usages of 'boolean' to SPIBoolean.
4672 * test/keysynth-demo.c:
4673 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4674 app), except where SPIBoolean is required by the callbacks API.
4676 2001-12-02 Bill Haneman <bill.haneman@sun.com>
4678 * cspi/spi_registry.c:
4679 Removed obsolete X event loop for passive keygrabs (which now
4682 * registryd/registryd.c:
4683 Removed unnecessary call to gdk_init() [cruft]. This also allows
4684 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4687 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4689 * docs/reference/cspi:
4690 Included docs for SPI_freeString in generated documentation.
4693 Renamed spi_freeString to SPI_freeString, for consistency. Added
4694 documentation for this function.
4697 Renamed spi_freeString to SPI_freeString, for consistency.
4698 Removed obsolete method declaration string_from_corba_string.
4700 * test/keysynth-demo.c:
4701 Small tweak to comments.
4704 Stopped leaking the strings returned from CSPI.
4706 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4708 Merged Michael's branch (see his ChangeLog entries below).
4710 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4711 bridge is alive, release on exit.
4713 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4714 Fix type check macro.
4717 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
4720 Added is_gnome_app static, and method cspi_is_gnome_app(),
4721 so we can call the appropriate shutdown routine at exit in SPI_exit.
4723 * cspi/spi_main.c (cspi_object_ref):
4724 Duplicate the corba object passed in, since we're keeping it around.
4726 * cspi/SPI_exit.c, cspi_cleanup:
4727 Moved the releasing of the live refs to its own function, so we
4728 can put it in g_atexit (). Call the appropriate shutdown API
4729 depending on whethe calling client is a gnome app or not
4730 (bonobo_main_quit or CORBA_ORB_shutdown).
4732 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
4733 Unref the listener when this method is called, after
4734 deregistration. Updated the API docs to note this behavior.
4736 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
4737 Bugfixes: Ref the bonobo object when returning a parent or child
4738 reference, or an AccessibleRelation. Generally made sure
4739 BonoboObject refcount is incremented whenever we return an
4742 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
4743 Fixed typo/bug in signal declaration.
4745 * libspi/accessibleeventlistener.h:
4748 * libspi/application.c (spi_application_new):
4749 Fixed leak in initialization.
4752 Remembered to increment bonobo-object refcount when returning
4753 children (applications) from desktop object.
4754 Added (empty) finalize method.
4756 * libspi/deviceeventcontroller.c:
4757 Hold a ref to listeners inside DEControllerKeyListeners.
4758 Added dec_key_listener_free() method. Use prepend instead of
4759 append in key_listener list. Fixed some refcount madness and
4760 leaks in the listener registration/deregistration - deregistration
4761 now calls dec_key_listener_free() on listeners, and on the
4762 temporarily constructed dec_key_listener() used to perform the search/match.
4764 * libspi/hypertext.c (spi_hypertest_finalize):
4765 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
4766 class. Also fixed spi_hypertext_interface_new() and
4767 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
4769 * libspi/hypertext.h:
4770 Removed pointless and duplicate AtkObject pointer from
4773 * libspi/keystrokelistener.c:
4774 Fixed incorrect type of keystroke_listener_parent_class,
4775 renamed keystroke_listener_object_finalize to
4776 spi_keystroke_listener_object_finalize.
4777 Fixed typo in signal declaration
4778 (spi_keystroke_listener_class_init).
4780 * libspi/registry.c:
4781 Added funcsions spi_listener_struct_new() and
4782 spi_listener_struct_free() to help with memory management issues.
4783 We also now use these methods instead of gnew + poking stuff into
4784 the struct, and to decrement listener counts/free the listeners
4785 when deregistering them.
4786 Fix more refcount bugs in getDesktop() and
4787 getDeviceEventController().
4790 De-ref the desktop after enumerating the applications. Explicitly
4791 decrement the refcounts on the created listeners on exit (using
4792 _unref for keystroke listeners, and via the
4793 deregisterGlobalEventListenerAll command for other event
4796 2001-11-27 Michael Meeks <michael@ximian.com>
4798 * cspi/spi-listener.h: fixup enum.
4800 2001-11-27 Michael Meeks <michael@ximian.com>
4802 * cspi/spi-listener-impl.c (cspi_event_listener_new),
4803 (cspi_keystroke_listener_new): Use the cspi variants.
4805 2001-11-26 Michael Meeks <michael@ximian.com>
4807 * test/keysynth-demo.c: fix 2 compile warnings, missing
4810 * test/simple-at.c (report_focussed_accessible),
4811 (report_focus_event, report_button_press),
4812 (check_property_change, is_command_key),
4813 (report_ordinary_key_event, report_command_key_event): upd.
4815 * util/mag_client.h: include pre-requisites.
4817 * libspi/accessibleeventlistener.c
4818 (spi_event_listener_object_finalize): free any lingering
4821 * libspi/keystrokelistener.c
4822 (keystroke_listener_object_finalize): ditto.
4824 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4825 callbacks, with cspi types.
4827 * cspi/spi_event.c (createAccessibleEventListener): chain to
4828 (AccessibleEventListener_addCallback): here.
4829 (createAccessibleKeystrokeListener): chain to
4830 (AccessibleKeystrokeListener_addCallback): here.
4832 * libspi/keystrokelistener.c
4833 (spi_keystroke_listener_class_init): add signal.
4834 (impl_key_event): emit the event.
4835 (boolean_handled_accumulator): impl.
4836 (marshal_BOOLEAN__POINTER): add, gack.
4838 * libspi/accessibleeventlistener.c
4839 (spi_event_listener_class_init): add signal.
4840 (impl_accessible_event_notify_event): emit the signal &
4841 make the loop efficient.
4842 (spi_event_listener_add_callback): prepend the callback.
4844 * libspi/accessibleeventlistener.h: add an 'event' signal,
4845 decl type on callback.
4847 * libspi/keystrokelistener.h: ditto.
4849 * cspi/spi-listener.h: make methods typesafe and
4850 make them use the new event typedefs.
4852 * test/simple-at.c (report_focussed_accessible):
4853 include mag_client.h
4854 Use *(void *)text_interface not the other thing.
4856 * configure.in: add gtk to registryd bits - since we use
4859 * util/magnifier.c: include libbonobo.h
4861 2001-11-25 Bill Haneman <bill.haneman@sun.com>
4863 * test/keysynth-demo.c:
4864 Turned this into a simple scanning keyboard, to demonstrate the
4865 use of g_timeout_add () as a means of creating timers for
4866 scanning, and the use of GtkStyle for visually indicating when
4867 virtual keyboard elements are selected.
4869 keysynth-demo now listens to any keyboard keys with zero-valued
4870 keycodes (i.e. 'unused' keys) and interprets them as
4873 Reworked the shiftlatch code so that shift-down state isn't held
4874 for long periods (it's only synthesized immediately prior to
4875 the keysynth event it's modifying). Note that shiftlatch in this
4876 demo is a convenience, not intended to take the place of AccessX
4877 which is the better choice for getting 'sticky' modifier keys.
4879 * libspi/deviceeventcontroller.c:
4880 * at-bridge/bridge.c:
4881 * cspi/spi_registry.c:
4882 Removed some debug print stuff, and put other verbosity in #ifdef
4887 Implemented some more of the magnifier IDL for the simple
4888 magnifier: namely, getZoomRegionParams.
4889 Added mag_x and mag_y members to MagnifierData struct, aid of this
4891 Added GtkWindow::realize signal handler to magnifier, to keep it
4892 from receiving keyboard focus from the WM.
4894 2001-11-23 Mark McLoughlin <mark@skynet.ie>
4896 * cspi/spi-private.h: my guess at what michael forgot
4897 before he ran off to NZ :-)
4899 2001-11-23 Michael Meeks <michael@ximian.com>
4901 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4902 comment out non existant method invoke so we link.
4904 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4905 use bonobo_exception_get_text for more friendly warnings.
4907 * cspi/spi.c (Obj_Add): move into spi_main & rename
4908 spi_object_add; kill spi.c
4910 * cspi/spi_registry.c
4911 (deregisterGlobalEventListener),
4912 (deregisterGlobalEventListenerAll),
4913 (registerGlobalEventListener): fix exception leaks.
4915 * cspi/spi_main.c (spi_exception): impl. helper, so we
4916 don't leak exceptions.
4918 * cspi/spi_selection.c
4919 (AccessibleSelection_deselectSelectedChild): return the
4922 * cspi/spi_main.c (spi_ev): impl; hack - gack.
4923 (spi_registry): ditto.
4924 (SPI_init): guard against double inits.
4926 * cspi/*.c: use spi_ev (), and spi_registry () where
4927 appropriate - a temporary hack until we have something
4928 better. Use spi_object_add
4930 2001-11-22 Michael Meeks <michael@ximian.com>
4932 * cspi/Makefile.am: re organise, install the headers.
4934 * cspi/*.h: add G_BEGIN/END_DECLS
4936 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4939 Added non-preemptive keylistener for key events with no modifiers
4940 and shift-only modifier.
4942 * libspi/keystrokelistener.c:
4943 Removed some verbose diagnostics printout.
4945 * cspi/spi_registry.c:
4946 Fixed a bug that caused all key listeners to be registered as
4949 * libspi/deviceeventcontroller.c:
4950 Fixed bug that caused XGrabKey (preemptive key grab) to be called
4951 for non-preemptive key masks.
4954 2001-11-22 Bill Haneman <bill.haneman@sun.com>
4956 * docs/reference/idl/at-spi-idl-docs.sgml:
4957 * docs/reference/idl/at-spi-idl-sections.txt:
4958 * docs/reference/idl/at-spi-idl-overrides.txt:
4959 Added missing files.
4961 * docs/reference/Makefile.am:
4962 removed idl from SUBDIRS until we can figure a way to get gtk-doc
4963 to scan the IDL files :-(
4968 Added .cvsignore files.
4970 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4972 * libspi/deviceeventcontroller.c:
4973 * libspi/keystrokelistener.c:
4975 * cspi/spi_registry.c:
4976 Added filters for KeySets, KeyEventSeq, and event types to key
4977 event dispatching, so listeners should only receive those events
4978 that they requested :-)
4980 2001-11-21 Bill Haneman <bill.haneman@sun.com>
4985 * docs/reference:Makefile.am:
4986 * docs/reference/cspi:
4987 * docs/reference/cspi:Makefile.am:
4988 * docs/reference/cspi:tmpl:
4989 * docs/reference/cspi:tmpl:*.sgml:
4990 * docs/reference/idl:
4991 * docs/reference/idl:Makefile.am:
4992 * docs/reference/idl:at-spi-idl-sections.txt:
4993 * docs/reference/idl:at-spi-idl-docs.sgml:
4994 * docs/reference/idl:tmpl:
4995 * docs/reference/idl:tmpl:*.sgml:
4997 Restructured docs directory to allow separate 'reference' docs
4998 section, and forked idl and cspi docs. Added the sgml template
4999 files to CVS. Added the first sections/structural sgml for the
5002 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
5004 * configure.in, libspi/Makefile.am: find libXtst.
5006 2001-11-21 Michael Meeks <michael@ximian.com>
5008 * test/accessx-gui.c: s/spi_value/value/ - doh.
5010 * libspi/base.[ch]: add.
5012 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5014 * idl/Accessible.idl:
5015 * idl/Application.idl:
5018 Started gtk-doc cleanup on IDL.
5020 * libspi/deviceeventcontroller.c:
5021 Added and connected non-preemptive key notification from the
5022 toolkits (in addition to the pre-emptive support from XServer
5023 which we had before, but which causes 'focus flashing'). Filters
5024 are presently limited to key modifiers and global/non-global,
5025 KeySets are presently ignored, as are KeyEvent masks.
5027 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5028 structs into the persistant structure rather than just storing
5029 pointers to things that might not persist across servant
5032 The XGrabKey call now does async keygrabs, because synchronous
5033 ones were deadlocking with GDK_event code in a very nasty way.
5035 Added boolean to internal method notify_keylisteners, to indicate
5036 whether the event came from the 'toolkit source' or the 'global
5037 (XServer) source' - this is used in the notification process to
5038 determine which listeners to send the event to.
5040 deviceeventcontroller.c is now warning-free.
5042 * libspi/registry.c:
5043 Fixed regression in application de-registration.
5044 Also fixed some really brain-dead weirdness having to do with
5045 event dispatching - event structs are now duplicated before being
5046 re-marshalled in the dispatch to listeners. This also fixes a
5047 Solaris build problem.
5050 2001-11-20 Michael Meeks <michael@ximian.com>
5053 (impl_accessibility_registry_deregister_global_event_listener):
5056 * libspi/deviceeventcontroller.c
5057 (spi_device_event_controller_check_key_event): return
5058 FALSE on no virtual method.
5060 * libspi/*..h: make includes work on a correctly pathed install.
5062 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5064 * libspi/application.h: kill unused ( and whacked out )
5065 gboolean *spi_application_set_id (AtkObject *app, long id);
5067 2001-11-20 Michael Meeks <michael@ximian.com>
5069 * libspi/*.[ch]: further convert to bonobo's type func
5070 macros, remove redundnant casts etc.
5072 * libspi/text.c s/accessibility_text/spi_text/g,
5073 re-order to de-cruft.
5075 * libspi/hypertext.c: re-order to kill a huge slew
5076 of redundant forward decls.
5078 * libspi/relation.c: ditto.
5080 * libspi/image.c: ditto.
5082 * */.cvsignore: update
5084 2001-11-20 Michael Meeks <michael@ximian.com>
5086 * libspi/deviceeventcontroller.c
5087 (_controller_register_with_devices): use g_getenv,
5088 kill stdlib.h include.
5090 * libspi/keystrokelistener.c
5091 (spi_keystroke_listener_get_type): kill
5092 (spi_keystroke_listener_class_init),
5093 (spi_keystroke_listener_init): rename to this.
5095 * libspi/text.c (impl_getAttributes): fix warning / bug.
5097 * libspi/*.[ch]: more headers, includes and over commenting.
5099 2001-11-20 Michael Meeks <michael@ximian.com>
5101 * libspi/*.[ch]: fixup headers, includes and over commenting.
5103 * libspi/image.c (impl__get_imageDescription): const
5104 correctness warning fix. remove redundant casting.
5106 * libspi/table.c (impl_getRowDescription): ditto.
5107 (impl_getColumnDescription): ditto.
5109 * libspi/libspi.h: add.
5111 2001-11-19 Michael Meeks <michael@ximian.com>
5113 * libspi/editabletext.c (impl_setAttributes): fix warnings.
5115 * libspi/component.c (accessibility_component_get_type):
5116 rename to (spi_component_get_type): and macroify.
5117 (accessibility_component_init): rename to
5118 (spi_component_init): this
5119 (accessibility_component_class_init): rename to
5120 (spi_component_class_init): this
5122 * libspi/action.c (spi_action_get_type): kill, use the macro.
5124 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5127 * libspi/application.c (spi_application_object_event_listener),
5128 (impl_accessibility_application_register_object_event_listener):
5129 warning fixes / const understanding updates.
5131 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5134 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5136 * libspi/spi_accessible.c: Added docs and C bindings for
5137 AccessibleStateSet. (No implementations yet). Documentation
5138 coverage for C bindings now 100%. Made docs for event listeners
5143 boolean notifyListenersSync (in DeviceEventListener listener,
5144 in DeviceEvent event);
5146 oneway void notifyListenersAsync (in DeviceEventListener listener,
5147 in DeviceEvent event);
5149 Added DeviceEventListener and DeviceEvent structs (may deprecate
5150 KeyStroke and KeystrokeListener in favor of this generic
5151 event/listener framework for devices).
5153 * libspi/deviceeventcontroller.c:
5155 Changed some key listener code to take masks, etc., and paved the
5156 way for integration of toolkit/non-preemptive key events. Changed
5157 signatures of some internal methods.
5159 * at-bridge/bridge.c:
5160 Fixed regression connecting to interface signals, apparently
5161 caused by GTK+ changes.
5163 Added an internal bridge_state_listener to deal with
5164 property-change:accessible-state signals.
5166 Changed the key_listeners GList to store structs (including masks,
5167 etc.) instead of just CORBA_Objects (required for full
5168 implementation of key listener API).
5170 Connected the bridge to all currently supported Atk signals.
5171 Events now supported:
5172 object:property-change
5173 object:property-change:accessible-name
5174 object:property-change:accessible-state
5175 object:property-change:accessible-description
5176 object:property-change:accessible-parent
5177 object:property-change:accessible-value
5178 object:property-change:accessible-role
5179 object:property-change:accessible-table-caption
5180 object:property-change:accessible-table-column-description
5181 object:property-change:accessible-table-column-header
5182 object:property-change:accessible-table-row-description
5183 object:property-change:accessible-table-row-header
5184 object:property-change:accessible-table-summary
5185 object:children-changed
5186 object:visible-data-changed
5187 object:selection-changed
5188 object:text-selection-changed
5190 object:text-caret-moved
5192 object:row-reordered
5194 object:column-inserted
5195 object:column-reordered
5196 object:column-deleted
5197 object:model-changed
5199 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5201 * libspi/hyperlink.c,h:
5202 Fixed some broken stuff in hyperlink.
5204 * libspi/relation.h:
5205 * libspi/relation.c:
5206 * cspi/spi_accessible.c:
5207 Initial implementations of AccessibleRelation methods, and docs.
5209 * libspi/accessible.c:
5210 Fixed a bug that caused SEGV if an accessible
5211 object's description is NULL, and a client
5212 requests it. An empty string is now returned.
5214 * cspi/spi_editabletext.c:
5215 * cspi/spi_hypertext.c:
5217 * cspi/spi_hyperlink.c:
5221 Doc coverage now 95%.
5223 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5225 One last namespacing revision:
5226 * libspi/accessibleeventlistener.[ch]:
5227 Renamed SpiAccessibleEventListener to SpiEventListener,
5228 (no need for two namespaces ;-)
5230 And lots of documentation fixes:
5232 * docs/at-spi-docs.sgml:
5233 Fixed 'underscore vs. hyphen' bug that was preventing
5234 the gtk-doc API docs from being automatically generated.
5237 * cspi/spi-listener.h
5239 * cspi/spi_accessible.c
5241 * cspi/spi_application.c
5242 * cspi/spi_component.c
5243 * cspi/spi_editabletext.c
5245 * cspi/spi_hypertext.c
5247 * cspi/spi_registry.c
5248 * cspi/spi_selection.c
5252 * docs/at-spi-docs.sgml
5253 * docs/at-spi-sections.txt
5255 Added and fixed up gtk-doc documentation in cspi.
5257 Interfaces now (fully) documented (subject to revision and enhancement):
5259 Event Listener Support
5261 AccessibleApplication
5265 AccessibleEditableText
5272 AccessibleRelationSet
5277 2001-11-14 Bill Haneman <bill.haneman@sun.com>
5279 * at-bridge/bridge.c:
5280 Initial work for toolkit-level key snooper connection by bridge.
5285 New typedefs and fixes to support new namespacing, and cleaner
5286 separation of cspi bindings from libspi bonobo implementation.
5287 Removed inconsistent and extraneous Spi* namespace prefix that
5288 had crept into cspi headers.
5289 Lots of comment fixes that sed had missed.
5291 * cspi/spi-roletypes.h:
5292 * cspi/spi-statetypes.h:
5293 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5294 to AccessibleRoleType.
5296 * libspi/accessibleeventlistener.h:
5297 Fixed minor namespacing weirdness.
5299 * libspi/deviceeventcontroller.c:
5300 Reordered some internal API for device listeners.
5301 Changed the key registry final boolean to 'is_system_global'
5302 rather than 'is_synchronous', which is more descriptive of its
5304 Added spi_device_event_controller_new().
5305 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
5307 * libspi/keystrokelistener.[ch]:
5308 Namespaced KeystrokeListener to SpiKeystrokeListener.
5309 Changed uses of keymasks to use SPI_ prefix, and did other
5312 * libspi/keymasks.h:
5313 Namespaced keymask constants with SPI_ prefix.
5315 * libspi/registry.c:
5316 Some warning fixes, and knock-on fixes from namespace changes.
5319 Added rules for accessx-gui test program.
5321 * test/accessx-gui.c:
5322 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5323 utility. It doesn't actually use at-spi, but it's still cool and
5326 * test/keysynth-demo.c:
5330 Fixes so that these test clients work properly with the namespaced
5331 libraries. (Incompletely tested for technical reasons, fixes may follow)
5334 2001-11-13 Michael Meeks <michael@ximian.com>
5336 * libspi/application.c
5337 (impl_accessibility_application_get_version),
5338 (impl_accessibility_application_get_toolkit_name):
5340 (impl_accessibility_application_set_id),
5341 (impl_accessibility_application_get_id): remove
5342 redundant casting code.
5344 * libspi/action.c (impl_getDescription): fix warnings.
5346 * libspi/accessible.c
5347 (impl_accessibility_accessible_get_parent),
5348 (impl_accessibility_accessible_get_child_at_index),
5349 (impl_accessibility_accessible_get_state),
5350 (impl_accessibility_accessible_get_relation_set):
5351 warning fixes & include action.h
5353 2001-11-13 Michael Meeks <michael@ximian.com>
5355 * *.[ch] fix bits I screwed up:
5357 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5358 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5360 2001-11-13 Michael Meeks <michael@ximian.com>
5362 * *.[ch] Namespace libspi into spi_ and Spi.
5364 2001-13-11 Michael Meeks <michael@ximian.com>
5366 * Makefile.am: dist & install at-spi-1.0.pc
5368 * libspi/Makefile.am: install into at-spi-1.0
5370 * idl/Makefile.am (idldir): install into at-spi-1.0
5372 * at-spi-1.0.pc.in: add.
5374 * configure.in: build it.
5376 2001-11-12 Bill Haneman <bill.haneman@sun.com>
5378 * test/keysynth-demo.c:
5379 Use a 'realize' signal-handler to set the WM properties for
5380 the virtual keyboard, rather than making it a "POPUP" type
5381 override-redirect window (thanks to anders carlsson for that
5384 2001-11-11 Bill Haneman <bill.haneman@sun.com>
5387 * test/keysynth-demo.c:
5388 Added new test of key synthesis, which creates a simple
5389 (mouse-operated) onscreen keyboard. It inserts key events into
5390 the currently-focused window, thus it does not grab keyboard focus
5393 * cspi/spi_registry.c:
5394 Added C binding for AT-SPI generateKeyEvent.
5396 * libspi/deviceeventcontroller.c:
5397 Added call to XFilterEvent so that key listener works with XIM (we
5398 hope). Added event_synth_type to generateKeyEvent, so that we can
5399 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5400 synthesize a press/release pair for KeySyms.
5402 2001-11-09 Bill Haneman <bill.haneman@sun.com>
5404 * libspi/Makefile.am:
5405 * registryd/Makefile.am:
5406 (temporary) hack to include libXtst in libspi and registryd.
5407 (Needed for keystroke synthesis, see below).
5410 Improved API for registerKeystrokeListener, in accordance with
5411 discussions with Gnopernicus team and X server research.
5413 * libspi/registry.c:
5414 * libspi/deviceeventcontroller.c:
5415 * libspi/accessible.c:
5416 * libspi/keystrokelistener.c:
5417 Changes and fixes to support keylisteners for potentially
5418 consumed key events (that is, 'passive grabs').
5419 Added implementation for generateKeyEvent() [untested].
5422 Changes to registerKeystrokeListener() API, as above.
5423 Added deregisterGlobalEventListenerAll(), and
5424 deregisterKeystrokeListener(), which are needed for clean exit of
5426 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5427 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5429 * cspi/spi_registry.c:
5430 Added implementations of function prototypes mentioned above.
5432 * registryd/registryd.c:
5433 Added the key listener event source as a g_timeout(), to allow
5434 receipt of key events that are not caught by GDK (since GDK
5435 doesn't support passive keygrabs, this was necessary).
5438 Changed to attach a keylistener to 'Alt' keys, and
5439 respond to the following keycommands: Alt-M (toggle magnifier);
5440 Alt-F (toggle speech); Alt-Q (quit).
5441 Added an exit routine to deregister the listeners, and a key
5442 listener that prints some key info to the console when a key
5443 matches the listener mask (and is thus received by the listener).
5445 * util/idl/Magnifier.idl:
5446 Changes to magnifier API to support multiple zoom regions,
5447 non-uniform scaling in x and y, markDirty, and a host of other
5448 features that would be useful to magnification.
5451 * util/mag_client.c:
5452 * util/mag_client.h:
5453 * util/mag_control.c:
5455 Source code changes to support the above IDL changes.
5458 As above, and also changes to use a (slower) generic conversion
5459 path for colormap conversions, since the fast RGB conversions have been
5460 reported to fail for 16-bit displays.
5462 2001-10-26 Michael Meeks <michael@ximian.com>
5464 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5466 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
5468 * at-bridge/Makefile.am: fix LDFLAGS.
5470 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5472 * at-bridge/bridge.c:
5473 Re-worked listeners for toolkit events, now we have signal
5474 and property listeners. Added a private method
5475 register_atk_event_listeners(), which registers with the
5476 various atk and gtk signals we need to monitor in order to emit
5478 Added emission hook for AtkObject:property-change events, to
5479 support the 'property listeners'.
5480 Fixed some alloc()s of Accessibility_Event structs to use CORBA
5483 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5484 which emit warnings and exit, respectively, if CORBA errors occur
5485 during remote calls, and we now use these methods to check most of
5486 our CORBA calls in the C bindings.
5488 * cspi/spi_accessible.c:
5489 Changed AccessibleSelection_refSelectedChild() to
5490 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5491 now increment refcounts.
5493 * cspi/spi_component.c:
5494 Fixed some long pointer casts (dangerous!) to pass pointers to
5495 CORBA_longs of the proper type to the CORBA stubs, and copy the
5496 data into the longs that were passed into the C bindings code.
5498 * at-bridge/bridge.c:
5500 * libspi/accessible.c:
5501 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5502 hyperlinks, AtkHyperlink is an object type.
5504 * libspi/application.c:
5505 Added various conversions to and from "generic" event types and
5506 atk-specific types; this is really part of the 'bridge'
5507 implementation but is valid for all AtkObject-based accessibility
5510 * libspi/editabletext.c:
5511 Fixed nasty bug wherein editable text's finalize method was
5512 unref'ing tha AtkObject reference that the text parent class was
5513 about to unref _again_. There was also a nasty inheritance bug
5514 that meant that the AccessibleEditableText class was corrupt.
5516 * libspi/selection.c:
5517 Provided implementations for some selection API that was broken.
5519 * idl/Application.idl:
5520 Added registerObjectEventListener () method.
5523 Fixed a number of return values that were Bonobo_Unknowns from
5524 bonobo_object_corba_objref(), which I
5525 forgot to dup before returning. Changed instances of
5526 bonobo_object_corba_objref (bonobo_object(o)) to
5527 BONOBO_OBJREF(o), for concision and clarity.
5529 2001-10-13 Louise Miller <louise.miller@sun.com>
5531 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5532 idl/Event.idl, idl/Registry.idl
5533 Changed these files to include Bonobo_Unknown.idl instead
5536 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
5538 * libspi/component.c libspi/component.h:
5539 Fixed typo. Added assertions for object checks in
5540 AccessibleComponent code.
5542 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5544 * idl/Accessible.idl:
5545 Added 'isEqual (Accessible *object)'
5546 method for Accessible. (Not Yet Implemented).
5549 Changed signature of registerKeystrokeListener() to
5550 take a KeySet and KeyEventSeq so that specific keys and event
5551 types could be requested for monitoring, and added a flag
5552 is_synchronous so that either synchronous or asynchronous
5553 notification could be requested. (However this is not all
5554 implemented yet). This also meant adding two new typedefs,
5555 KeyEventSeq and KeySet.
5558 Added two new relations, RELATION_TOOLTIP_FOR and
5559 RELATION_LEAFNODE_OF.
5562 Added new state, STATE_HAS_TOOLTIP.
5564 * libspi/text.c, editabletext.c:
5565 Added new assertions to all casts of bonobo-objects from
5566 CORBA servants, to prevent Text API calls on non-text objects.
5567 Changed suspect casts of int-pointer types, so that we
5568 always send a valid CORBA_long pointer to the CORBA APIs that use
5569 in/out long parameters. We then have to copy from the CORBA_long
5570 into the regular long or int for return to the C bindings, or
5571 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5574 * libspi/deviceeventcontroller.c:
5575 Cleaned these sources up.
5577 Changed return type for getCharacterAtOffset to
5578 CORBA_unsigned_long, to allow for 32-bit characters.
5581 2001-10-08 Bill Haneman <bill.haneman@sun.com>
5585 Fixed 'make dist' so that distro compiles...
5586 * libspi/keymasks.h:
5588 * cspi/spi-listener.c:
5589 KeystrokeListenerCB now returns a boolean.
5591 Added KeyEventType struct, and KeyStroke.
5592 Also added createKeystrokeListener(),
5593 KeystrokeListener_addCallback(),
5594 KeystrokeListener_removeCallback(), and added a keymask to
5595 registerKeystrokeListener().
5596 * cspi/spi_accessible.c:
5597 Changed numerous return types for interfaces from
5598 AccessibleComponent to Accessible<InterfaceName>; this was
5599 probably a cut-and-paste error.
5601 Implementations of new KeystrokeListener api (from spi.h,
5604 Changes to key modifier mapping.
5605 Created ControllerEventMask struct.
5606 Made DeviceEventController derive from Bonobo::Unknown.
5608 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5609 * libspi/deviceeventcontroller.c:
5610 Added a number of new internal (private) methods.
5611 * libspi/editabletext.c:
5612 * libspi/editabletext.h:
5613 Fixed a number of bugs related to the fact that
5614 editabletext inherits from text. Fixed the EditableText struct,
5615 the init() call, and use correct casts when calling Text methods
5616 from an EditableText object. Removed (duplicate) atko from the
5617 EditableText structure, we use the one in the parent Text
5618 structure via the casts mentioned above.
5619 * libspi/keystrokelistener.[ch]:
5620 * libspi/registry.c:
5621 Changes in support of keyboard handling (above).
5623 Keyboard handling, though partly functional, is still not
5624 recommended for at-spi client use as there is considerable
5625 work yet to be done.
5628 Changed some places where pointers to various int types
5629 are cast to be pointers to CORBA_long types and vice-versa:
5630 pointer casting is not safe so we pass pointers of the correct
5631 types and then cast the result before putting it into the target
5634 * libspi/text.h: minor typos corrected.
5636 We now speak not only the name of a Text element, but the
5637 first sentence of its content, when it receives focus.
5638 I also changed the text compression to 75% from 50%.
5639 * util/Accessibility_Util.server.in:
5640 Changed the default magnifier type to be a 3x vertical
5641 splitscreen magnifier (was previously a 2x horizontal one).
5643 2001-10-03 Bill Haneman <bill.haneman@sun.com>
5645 * libspi/keystrokelistener.h:
5646 * libspi/keystrokelistener.c:
5647 Initial functional implementations of KeystrokeListener.
5650 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
5652 Fixed string handling for NULL strings in libspi.
5653 Added spi_freeString to free strings returned by C bindings.
5655 2001-09-30 Bill Haneman <bill.haneman@sun.com>
5657 * libspi/keystrokelistener.h:
5658 * libspi/keystrokelistener.c:
5659 Began (no-op) implementations of KeystrokeListener
5661 * libspi/deviceeventcontroller.c:
5662 * libspi/deviceeventcontroller.h:
5663 Began creating implementations of DeviceEventController,
5664 to handle keystroke and mouse event listening and
5666 * libspi/accessible.c:
5667 Stubbed-in the implementations for
5668 Accessibility_Accessible_getState and
5669 Accessibility_Accessible_getRelationSet.
5670 * libspi/registry.c:
5671 Improved de-registration process and fixed some bugs,
5672 deregistration now works correctly.
5674 Added initialization of applications list (to NULL).
5676 Reduced speech compression from 0.5 to 0.7, for demo.
5677 Changed call to gdk_window_set_decorations()
5678 to gtk_window_set_decorated().
5679 * at-bridge/bridge.c:
5680 Bridge now deregisters when app exits, via
5681 registration of a cleanup function
5682 with the g_atexit() call.
5683 Required making 'app' static, renamed 'this_app'.
5684 Fixed broken use of bonobo_init, passing argv wrongly.
5686 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5690 Created a new directory for
5691 accessibility-related utilities, primarily for
5692 testing and demo purposes, but with possible
5699 Onscreen magnifier utility that
5700 is implemented as a bonobo service.
5702 * util/mag_client.c:
5703 * util/mag_client.h:
5704 Client-side support (simple C bindings)
5705 for Magnification service
5707 * util/mag_control.c:
5708 Client program example for
5709 Magnification service
5711 * util/Accessibility_Magnifier.server.in:
5712 Bonobo-activation file for the
5713 Magnification service.
5716 * util/idl/Magnifier.idl:
5717 IDL defining the bonobo Magnification
5721 Modifications to use the bonobo-activated magnifier
5722 above, in place of trying to connect to an existing
5723 magnifier that uses socket-listening IPC.
5725 If env variable MAGNIFIER is set, a magnifier service
5726 will be started if one does not exist.
5728 2001-09-25 Bill Haneman <bill.haneman@sun.com>
5730 * at-bridge/bridge.c:
5731 applied patch from Marc to build and run
5732 against new glib and gtk+ (seemed like a change
5733 to bonobo_init signature was made ?)
5735 made festival-server support turned off by default.
5736 Added support for a simple magnifier (off by default)
5737 which will be added to a 'util' directory later.
5738 * at-bridge/Makefile.am:
5739 Changed "application.h" header from a 'source'
5740 to a 'dependency' of libat-bridge.
5742 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5751 Added interface implementation c files to list of
5752 includes so they are included in libcspi.
5755 Changed prototype of AccessibleAction_doAction to return a
5757 Changed prototype of AccessibleTable_getCaption to
5758 return an Accessible.
5759 Changed prototype of AccessibleTable_getSelectedRows
5760 and AccessibleTable_getSelectedColumns to
5761 return a long (returns the number of selected rows
5762 or columns respectively).
5763 Changed name of AccessibleText_refRunAttributes to
5764 AccessibleText_getAttributes.
5765 Changed prototype of AccessibleText_getCharacterExtents to
5766 return a void rather than a boolean.
5767 Added support for a AccessibleCoordType parameter
5768 specifying what type of coordinates are desired.
5769 Added an AccessibleCordType parameter to
5770 AccessibleText_getPointAtOffset.
5772 * cspi/spi_accessible.c:
5773 Added code to return the outstanding interfaces from
5774 Accessible_queryInterface.
5776 * cspi/spi_action.c:
5778 Corrected call to getNActions to call the c binding
5781 * cspi/spi_editabletext.c:
5783 Changed name from setRunAttributes to setAttributes.
5785 * cspi/spi_hyperlink.c:
5787 Changed call to getNAnchors to correctly call the c
5788 binding for an attribute.
5790 * cspi/spi_hypertext.c:
5792 Changed getImageDescription to correctly call the
5793 binding for an attribute.
5795 * cspi/spi_selection.c:
5796 Changed getNSelectedChildren to correctly call the c
5797 binding for the attribute.
5798 Changed refSelectedChild to getSelectedChild.
5802 Changed getCaption to return an Accessible.
5803 Fixed calls which retrieve attributes.
5804 Changed refAt to getAccessibleAt.
5805 Changed getNSelectedRows and getNSelectedColumns to
5809 Changed getCharacterExtents and getPointAtOffset to accept an
5810 AccessibleCoordType.
5812 Changed calls which retrieve attributes.
5813 Changed refRunAttributes to getAttributes.
5818 * idl/Hyperlink.idl:
5819 Changed n_anchors attribute to nAnchors to keep naming
5820 convention consistent.
5823 Made Table inherit from Bonobo::Unknown.
5824 Added nSelectedColumns and nSelectedRows attributes.
5827 Made Value inherit from Bonobo::Unknown.
5829 * libspi/hyperlink.c:
5830 Change for nAnchors attributte name change.
5832 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
5840 Added interface implementation c files to list of
5841 includes so they are included in libcspi.
5844 Changed prototype of AccessibleAction_doAction to return a
5846 Changed prototype of AccessibleTable_getCaption to
5847 return an Accessible.
5848 Changed prototype of AccessibleTable_getSelectedRows
5849 and AccessibleTable_getSelectedColumns to
5850 return a long (returns the number of selected rows
5851 or columns respectively).
5852 Changed name of AccessibleText_refRunAttributes to
5853 AccessibleText_getAttributes.
5854 Changed prototype of AccessibleText_getCharacterExtents to
5855 return a void rather than a boolean.
5856 Added support for a AccessibleCoordType parameter
5857 specifying what type of coordinates are desired.
5858 Added an AccessibleCordType parameter to
5859 AccessibleText_getPointAtOffset.
5861 * cspi/spi_accessible.c:
5862 Added code to return the outstanding interfaces from
5863 Accessible_queryInterface.
5865 * cspi/spi_action.c:
5867 Corrected call to getNActions to call the c binding
5870 * cspi/spi_editabletext.c:
5872 Changed name from setRunAttributes to setAttributes.
5874 * cspi/spi_hyperlink.c:
5876 Changed call to getNAnchors to correctly call the c
5877 binding for an attribute.
5879 * cspi/spi_hypertext.c:
5881 Changed getImageDescription to correctly call the
5882 binding for an attribute.
5884 * cspi/spi_selection.c:
5885 Changed getNSelectedChildren to correctly call the c
5886 binding for the attribute.
5887 Changed refSelectedChild to getSelectedChild.
5891 Changed getCaption to return an Accessible.
5892 Fixed calls which retrieve attributes.
5893 Changed refAt to getAccessibleAt.
5894 Changed getNSelectedRows and getNSelectedColumns to
5898 Changed getCharacterExtents and getPointAtOffset to accept an
5899 AccessibleCoordType.
5901 Changed calls which retrieve attributes.
5902 Changed refRunAttributes to getAttributes.
5907 * idl/Hyperlink.idl:
5908 Changed n_anchors attribute to nAnchors to keep naming
5909 convention consistent.
5912 Made Table inherit from Bonobo::Unknown.
5913 Added nSelectedColumns and nSelectedRows attributes.
5916 Made Value inherit from Bonobo::Unknown.
5918 * libspi/hyperlink.c:
5919 Change for nAnchors attributte name change.
5922 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
5924 implementations-- made server implementations own AtkObject pointers
5925 rather than their respective AtkInterrface pointers to fix
5926 refcounting. AtkHyperlink is still broken.
5928 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5929 * cspi/spi_accessible.c:
5930 Added method Accessible_Role_getName(),
5931 and requisite string array (role_names).
5932 Added conversion string_from_corba_strin() call
5933 to Accessible_getName and _getDescription.
5934 * libspi/accessible.c:
5935 Added implementation for Accessible_getRole()
5937 Added festival support, used if environment variable
5940 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5942 * at-bridge/bridge.c:
5943 Now allocate Accessibility_Event using
5944 Accessibility_Event__alloc() instead of g_new0().
5945 * libspi/accessibleeventlistener.c:
5946 Initialize AccessibleEventListener->callbacks to NULL.
5947 Fixed accessible__event_listener_init() param, changed to
5948 "AccessibleEventListener *" type.
5949 Changed a bonobo_object_release_unref() call to
5950 Accessibility_Accessible_unref().
5951 * libspi/listener.c:
5952 Changed Bonobo_Unknown_unref to (equivalent)
5953 Accessibility_Accessible_unref.
5954 * libspi/registry.c:
5955 Changed bonobo_object_release_unref to
5956 Accessibility_Accessible_unref.
5958 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5961 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5962 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5963 spi-util.c spi-util.h
5964 Implementations for C bindings to remaining accessibility
5967 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5970 changed return value of Action from void to boolean to
5971 bring in line with ATK.
5974 Changed getText funcions to return "out" start and end offsets.
5975 Changed getAttributes to take and offset and return the start
5976 and end offset of the attribute run.
5977 Changed getOffsetAtPoint and getCharacterExtents to take an
5978 enum describing whether coordinates are window or screen.
5981 libspi/action.c libspi/action.h libspi/editabletext.c
5982 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5983 libspi/hypertext.c libspi/hypertext.h libspi/image.c
5984 libspi/image.h libspi/selection.c libspi/selection.h
5985 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
5986 libspi/value.c libspi/value.h
5987 Added server implementations for outstanding ATK interfaces
5988 not yet implemented.
5990 2001-09-04 Bill Haneman <bill.haneman@sun.com>
5993 Added (missing) getName() method.
5994 Made nActions an attribute.
5995 * idl/EditableText.idl:
5996 Changed order of params in setAttributes.
5997 * idl/Hyperlink.idl:
5998 Removed getAnchor, added getURI.
6000 Changed attributes to methods, for efficiency
6001 (so that getting extents can be done in one call)
6002 * idl/Selection.idl:
6003 Changed nSelectedChildren to attribute, and re-indented.
6004 * idl/Table.idl: changed nrows, ncolumns, caption, summary
6006 * idl/Text.idl: reformatted to match our coding style.
6007 (temporarily?) removed getRowColumnAtOffset().
6008 Changed text selection API to support multi-select and
6009 non-contiguous selections, as in ATK.
6010 * idl/Value.idl: changed some methods to attributes.
6012 2001-08-24 Mark McLoughlin <mark@skynet.ie>
6014 * libspi/listener.c(impl_notify_event):
6015 BonoboUnkown_unref the source instead
6016 of bonobo_object_release_unref - the ORB
6017 handles the releasing.
6019 * configure.in: require ORBit-2.3.94 for
6022 2001-08-21 Bill Haneman <bill.haneman@sun.com>
6024 Tagged CVS repository 'EA_1_0'.
6025 * README.EARLY_ACCESS:
6026 Alphabetized acknowledgements list, and
6028 Listed some known dependencies of at-spi.
6030 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6032 * docs/at-spi-docs.sgml:
6033 * docs/at-spi-sections.txt:
6034 * docs/at-spi-overrides.txt: (Added zero-length file)
6035 Documentation improvements - gtk-doc should build
6036 docs for all implemented C bindings now.
6039 * cspi/spi.c: (New file)
6040 * cspi/spi_event.c: (New file)
6041 * cspi/spi_registry.c: (New file)
6042 * cspi/spi_accessible.c: (New file)
6043 * cspi/spi_application.c: (New file)
6044 * cspi/spi_component.c: (New file)
6045 Split spi_main.c into six parts, and included them from
6046 "spi.c". This is a bit of a hack, probably temporary,
6047 but required by gtk-doc, apparently.
6049 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6052 * docs/at-spi-docs.sgml:
6053 * docs/at-spi-sections.txt:
6055 Initial checkins/modifications for gtk-doc generation.
6058 Added (missing) interface query methods to Accessible's C binding.
6060 Added GenericInterface type definition.
6062 Added query for AccessibleComponent interface to focus event handler.
6063 Added printout of bounding box for focussed component.
6064 * libspi/component.c:
6065 Added partial implementation for AccessibleComponent to C binding.
6066 * idl/Application.idl:
6067 * libspi/registry.c:
6068 * libspi/listener.c:
6069 * libspi/application.c:
6070 * libspi/application.h:
6071 Changed "ID" attribute type from string to long.
6073 2001-08-19 Bill Haneman <bill.haneman@sun.com>
6077 Made method naming consistent: methods taking object args
6078 start with uppercase, other methods (except those using
6079 acronyms) start with lowercase. Underscores delimit between
6080 object names and method names:
6081 SPI_init() - uppercase since it starts with an acronym.
6082 getDesktopCount () - lowercase start since no object param0.
6083 Accessible_getName() - uppercase object type name, studlyCaps method
6087 Added gtk-doc documentation for all currently implemented
6088 methods in the C bindings API.
6090 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6092 * Makefile.am : changed build order to build test last.
6095 Changed "createEventListener" to "CreateEventListener".
6096 * libspi/accessibleeventlistener.c :
6097 Bugfix for addition of callbacks.
6098 * test/Makefile.am :
6099 * test/simple-at.c :
6100 Added new test that uses the C bindings API.
6102 * libspi/listener.c :
6103 * libspi/registry.c :
6104 * libspi/accessibleeventlistener.c :
6105 * at-bridge/bridge.c :
6106 Renamed member "target" of Accessibility_Event to "source",
6107 which is more descriptive.
6110 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6114 * cspi/Makefile.am :
6115 Added makefile support for at-spi/cspi directory.
6118 * cspi/spi-listener.h : (NEW FILE)
6119 Added support for/use of spi-listener.h.
6121 C bindings now build successfully, with no warnings.
6122 * libspi/accessibleeventlistener.h : (NEW FILE)
6123 * libspi/accessibleeventlistener.c : (NEW FILE)
6124 * libspi/Makefile.am :
6125 Added new object type "AccessibleEventListener"
6126 which inherits from Listener, and allows attachment
6127 of in-process callbacks (so that a client with a listening
6128 object instance can add functionality to the local
6129 implementation, dynamically).
6131 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6133 * libspi/accessible.c:
6134 Add implementation for get_index_in_parent().
6136 Added #include of "spi-roletypes.h", and
6137 added enumerated type AccessibleCoordType.
6138 Added definition for KeystrokeListener (function type).
6141 * cspi/spi-statetypes.h :
6142 * cspi/spi-roletypes.h :
6144 Added these headers, used by spi.h.
6146 Added code (NOTE: not yet built by make).
6148 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6150 * libspi/Makefile.am: generate imodule
6151 at the same time as other idl compiler
6154 2001-08-17 Bill Haneman <bill.haneman@sun.com>
6155 * libspi/registry.c :
6156 * libspi/application.c :
6157 * idl/Application.idl :
6158 Made registration with toolkit an application method,
6159 which is required since each app has its own toolkit static
6160 environment. Thus the bridge must register for
6161 notification of toolkit events from each application in turn.
6162 Toolkit notifications are now successfully registered for, and
6163 sent to the listening at client.
6165 Changed toolkit event string to use hyphens rather than underscores.
6166 * libspi/listener.c :
6167 listner now gives more info in debug mode - it reports the
6168 name of the event received, as well as the name of the source.
6171 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6173 * libspi/registry.c :
6174 added more implementation for toolkit events.
6175 Fixed bug such that toolkit event registrations
6176 (via atk) use the whole event name string, not
6178 Removed a useless call to an ORBit_ method.
6179 * at-bridge/bridge.c :
6180 Removed unused local sbuf[] variable.
6182 We now register for Gtk:GtkWidget:button_press_event
6183 events as well as "focus:" events.
6185 Add some more API from Registry.idl that was missing,
6186 for keystroke listening, keystroke and mouse event
6187 synthesis, and enumeration of accessible desktops.
6189 2001-08-16 Michael Meeks <michael@ximian.com>
6191 * configure.in: use AM_GLIB_GNU_GETTEXT.
6193 * Makefile.am (SUBDIRS): kill intl.
6195 2001-08-15 Michael Meeks <michael@ximian.com>
6197 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6199 * configure.in: upd.
6201 * configure.in: depend on a recent bonobo-activation that
6202 will find our server files ...
6204 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6206 * libspi/accessible.c : accessible_new() :
6207 Now we add the Component interface via bonobo_object_add_interface,
6208 if the contained AtkObject implements AtkComponent.
6209 * libspi/accessible.h : now include "component.h"
6210 * libspi/component.h :
6211 * libspi/component.c : added files - implementation of
6212 bonobo wrapper object for Accessibility/Component
6213 * libspi/listener.c :
6214 Added test code to check for Accessibility/Component:1.0
6215 interface and report whether it is implemented by the
6217 * libspi/registry.c :
6218 Now we check for not only the hash of the whole event
6219 string before relaying the event, we also check the
6220 "minor" event string (without the detail string).
6221 This allows event listeners to be registered against
6222 all events of a certain major+minor type, or just
6223 against a specific major+minor+detail type.
6224 * libspi/accessible.c :
6225 Added implementations for Accessible:get_parent(),
6226 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6227 * libspi/registry.c :
6228 * libspi/listener.c :
6229 Replaced calls to Accessibility_Accessible_ref() and
6230 Accessibility_Accessible_unref() with
6231 calls to bonobo_object_dup_ref() and
6232 bonobo_object_release_unref(), so that the CORBA object
6233 is dup-ed and released when relayed, as well as the bonobo object.
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 reverse previous changes.
6243 * /idl/Image.idl: fix typo.
6245 * test/Makefile.am: put DEBUG_FLAGS
6248 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6250 * test/app.c: use argv[0] instead of
6253 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6255 * libspi/Makefile.am,
6256 registryd/Makefile.am,
6257 at-bridge/Makefile.am.
6258 test/Makefile.am, configure.in:
6259 cleanup, replace individual LIBS/CFLAGS with
6260 AT_COMMON_{LIBS|CFLAGS}.
6264 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6266 * configure.in, libspi/Makefile.am:
6267 Change IDL path checking for bonobo-activation
6270 2001-08-15 Bill Haneman <bill.haneman@sun.com>
6272 * registryd/registry.c : separated event listeners to use
6273 3 separate lists (focus, window, toolkit). Began testing
6274 event names against hashes before relaying events.
6275 * test/at.c : now register for events of type "focus:"
6276 * test/app.c : now generate events of type "focus:"
6277 * at-bridge/bridge.c : register with ATK for focus events,
6278 and we now relay those focus events to any "focus:" listeners.
6279 This now works with the bridge as a GTK_MODULE when running test/at.
6280 * libspi/registry.c :
6281 * libspi/listener.c :
6282 now we ref event sources before propagating, and unref on receipt.
6283 * libspi/registry.c :
6284 some changes to internal structs, to support event typestring hashes.
6285 * text/app.c : changed the way the appname is generated.
6286 * cspi : added directory that will hold the C bindings library for
6287 non-CORBA/bonobo-savvy clients.
6288 * cspi/spi.h : header file that contains the function prototypes for the C binding.
6289 * idl/Component.idl : added in parameter to indicate coord system for
6290 geometry-related calls.
6291 * idl/Hyperlink.idl : added readonly n_links attribute
6292 * idl/Image.idl : changed methods to attributes.
6294 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6296 * at-bridge/Makefile.am: link against
6297 ../libspi/libspi.la instead of -lspi.
6299 * at-spi/test/app.c: include
6300 bonobo-activation.h. Use a default appname
6301 if one is not provided.
6303 2001-08-14 Bill Haneman <bill.haneman@sun.com>
6305 * idl/Registry.idl : temporarily changed register_Application
6306 to oneway, to work around issue with initial registration
6308 * idl/Application.idl : changed attribute "id" from readonly
6309 to read-write, since it needs to be assigned by Registry.
6310 * registryd/registryd.c : added call to set application id
6312 * registryd/registry.c : changed de-registration procedure to
6313 use CORBA_Object_hash() to find matching object ref in application
6314 lists and listener lists.
6315 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6316 began distinguishing between event types (work in progress).
6318 2001-08-13 Bill Haneman <bill.haneman@sun.com>
6321 * libspi/application.c:
6322 Added implementations for get/set id, get_toolkitName,
6324 * registryd/registryd.c :
6328 Converted from use of OAF to bonobo-activation.
6329 * libspi/desktop.h :
6330 * libspi/desktop.c :
6332 Removed references to atksimpleobject, since base atkobject
6333 implementation now provides functionality we need.
6334 * libspi/atksimpleobject.c :
6335 * libspi/atksimpleobject.h :
6340 * at-bridge/Makefile.am
6341 * at-bridge/bridge.c
6344 Added directory "bridge" and contents, and added dependencies
6345 in Makefile.am/configure.in.
6346 Initial checkin of "at-bridge".
6347 This code is a GTK_MODULE which automatically registers
6348 GTK+ apps with the accessibility registry, using an object
6349 reference to the root ATK object.
6351 2001-08-10 Mark McLoughlin <mark@skynet.ie>
6353 * po/Makefile.in.in: Remove. Again. If this
6354 doesn't get autogenerated - you need to update
6357 2001-08-07 Mark McLoughlin <mark@skynet.ie>
6359 * po/Makefile.in.in: Add. Again.
6361 2001-07-31 Bill Haneman <bill.haneman@sun.com>
6363 * libspi/accessible.c : added support for 'description' property.
6364 * libspi/accessible.c
6366 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6367 (since the two are now equivalent in libbonobo)
6375 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6376 Bonobo::Unknown as does Accessibility::Accessible.
6377 * idl/StreamableContent.idl : as above, and replaced internal InputStream
6378 interface with Bonobo::Stream, since it was redundant with it.
6379 (The Stream returned by a StreamableContext object is expected to
6380 implement only a subset of Bonobo::Stream)
6382 2001-07-28 Anders Carlsson <andersca@gnome.org>
6384 * libspi/accessible.c (accessible_object_finalize): Change
6385 g_free to g_object_unref since the AtkObject is a GObject.
6387 2001-07-30 Bill Haneman <bill.haneman@sun.com>
6389 * idl/Accessibility.idl: add new IDL files
6392 * idl/Action.idl: Definitions of actionable UI object
6393 * idl/Component.idl: Definitions of UI component geometry, etc.
6394 * idl/Hyperlink.idl: Defs of hyperlink behavior
6395 * idl/Image.idl: Def of accessible image
6396 * idl/Selection.idl: Definition of UI object with selectable children
6397 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6398 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6399 * idl/Text.idl: Interface defs for UI elements with complex textual content
6400 * idl/Value.idl: Definition of UI element that is a value controller or display
6402 2001-07-27 Michael Meeks <michael@ximian.com>
6404 * po/Makefile.in.in: remove autogenerated file from CVS.
6406 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6409 * idl/Registry.idl: include guard.
6411 * idl/Accessibility.idl: Add, and include all the other IDL
6414 * idl/*.idl: remove mass of pragmas etc.
6416 2001-07-26 Michael Meeks <michael@ximian.com>
6418 * registryd/Makefile.am (registryd_SOURCES): remove
6421 2001-07-27 Mark McLoughlin <mark@skynet.ie>
6423 * libspi/.cvsignore, registryd/.cvsignore,
6424 test/.cvsignore: updated.
6426 * po/Makefile.in.in: gettext update.
6428 2001-07-25 Bill Haneman <bill.haneman@sun.com>
6430 * initial CVS checkin
6432 2001-06-29 Michael Meeks <michael@ximian.com>
6434 * configure.in: add AM_CONFIG_HEADER to gen config.h