After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 171865 - tree items are not reported
tree items are not reported
Status: RESOLVED FIXED
Product: gnopernicus
Classification: Deprecated
Component: srcore
unspecified
Other Linux
: Normal normal
: ---
Assigned To: ai
ai
AP1
Depends on:
Blocks:
 
 
Reported: 2005-03-28 13:11 UTC by Oana Serb
Modified: 2005-04-06 06:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (1.22 KB, patch)
2005-03-28 15:12 UTC, remus draica
none Details | Review
proposed patch (791 bytes, patch)
2005-03-30 07:43 UTC, remus draica
committed Details | Review

Description Oana Serb 2005-03-28 13:11:18 UTC
Run SwingDemo
Start gnopernicus
Move to tag 'Tree'
Move to the 'Music' Tree
Speech reports the tree name ('Musical Tree')
If you move, using arrows, through the tree items, the items are not reported
Comment 1 remus draica 2005-03-28 13:55:19 UTC
This bug is present because the FOCUSED state is not present for current
selected item.

This case is also present in SwingSet, JTree demo page.
Comment 2 remus draica 2005-03-28 15:12:51 UTC
Created attachment 39343 [details] [review]
proposed patch
Comment 3 bill.haneman 2005-03-29 10:53:09 UTC
I am wary of changing the toolkit's semantics for 'FOCUSSED'.  Wouldn't it make
as much sense to add 'ACTIVE' to the set of states which the client (i.e.
gnopernicus) accepts?
Comment 4 remus draica 2005-03-29 12:43:23 UTC
Bill, what is the meaning of ACTIVE state for a tree item? And how this state
differs from ENABLED?
Comment 5 remus draica 2005-03-29 12:45:14 UTC
Comment on attachment 39343 [details] [review]
proposed patch


if (role == AccessibleRole.TREE || role == AccessibleRole.TABLE)

A better check here is for MANAGE_DESCENDANTS. But, this state is not present
for this object, even if it fires "object:active-descendant-changed" events.
Comment 6 bill.haneman 2005-03-29 14:21:53 UTC
ACTIVE is the state associated with the 'Active' item within a container, for
Java apps.  For our purposes, it's the state that means 'the item within a
FOCUSSED container which is currently 'Active' with respect to the keyboard'. 
So I think that we can use logic

FOCUSSED || ACTIVE when dealing with the children of FOCUSSED containers, in
gnopernicus, to deal with this bug.
Comment 7 remus draica 2005-03-30 07:11:30 UTC
What conatainer means? An object with a specific role (TREE, TABLE) or an object
with a specific state (MANAGES_DESCENDANTS)?

Bill, is ACTIVE state present only in such situations, except windows, dialogs?
Otherwise this check may have side-effects.
Comment 8 remus draica 2005-03-30 07:43:15 UTC
Created attachment 39421 [details] [review]
proposed patch


This patch checks if an object has ACTIVE state in case of an internal(for
gnopernicus) focus event.
Comment 9 bill.haneman 2005-03-30 09:40:21 UTC
By 'container' I meant any object containing children; you could of course
restrict this heuristic to 'objects somewhere inside containers of a certain
sort', for instance children (or "grand-children", etc.) of ROLE_TREE,
ROLE_TREE_TABLE, ROLE_TABLE, ROLE_LIST, ROLE_CANVAS.
Comment 10 bill.haneman 2005-03-30 09:47:39 UTC
Comment on attachment 39421 [details] [review]
proposed patch

please commit after testing with GNOME tables
Comment 11 bill.haneman 2005-04-05 16:00:32 UTC
Oana, can you or someone else test and commit this patch ?
Comment 12 Oana Serb 2005-04-06 06:55:55 UTC
Patch committed to head.