GNOME Bugzilla – Bug 398038
AtkState docs not as explicit as AT-SPI re STATE_VISIBLE
Last modified: 2007-02-13 17:53:18 UTC
> I'm trying to learn about the difference between STATE_VISIBLE and > > STATE_SHOWING. > > > > Up until now I've been reading ATK docs because that's what I'm using as > > an app developer. However if I do that in this case then I don't do the > > right thing for SHOWING and VISIBLE. It's clear only after reading the > > docs that AT developers use that something which is just scrolled off > > should be VISIBLE but not SHOWING. > > > > I know it's busy work, but I suggest it will prevent mistakes if we can > > get the documentation in sync with itself. > ATK says: > ATK_STATE_SHOWING Indicates this object, the object's parent, the > object's parent's parent, and so on, are all visible > ATK_STATE_VISIBLE Indicates this object is visible > > AT-SPI says: > STATE_SHOWING Indicates this object, the object's parent, the object's > parent's parent, and so on, are all 'shown' to the end-user, i.e. > subject to "exposure" if blocking or obscuring objects do not interpose > between this object and the top of the window stack. > STATE_VISIBLE Indicates this object is visible, e.g. has been > explicitly marked for exposure to the user. > Note: > : STATE_VISIBLE is no guarantee that the object is actually > unobscured on the screen, only that it is 'potentially' visible, barring > obstruction, being scrolled or clipped out of the field of view, or > having an ancestor container that has not yet made visible. A widget is > potentially onscreen if it has both STATE_VISIBLE and STATE_SHOWING. The > absence of STATE_VISIBLE and STATE_SHOWING is semantically equivalent to > saying that an object is 'hidden'.
The ATK docs should include the equivalent clarifying info for the 'showing' and 'visible' states. Thanks for Aaron for noting the problem.
*** Bug 398049 has been marked as a duplicate of this bug. ***
Can we take care of the description of STATE_ARMED at the same time? I don't the self-referential definitions. Similar problems with some of the others like STATE_TRANSIENT. Sorry for not just filing this bug myself and thus causing a dupe to be filed :)
Should be fixed in CVS (improved ATK_STATE docs). I didn't do any deprecations as part of this docs pass however.