[g-a-devel] Understanding ATK_STATE_TRANSIENT, ATK_STATE_STALE, ATK_STATE_DEFUNCT



Both ATK and AT-SPI say -- STATE_TRANSIENT Indicates this object is transient
-> Not sure what that means

My colleague Peter Parente says:
i think stale occurs on transients which are left lying around, but might be reused for instance, you empty an item in a tree temporarily, and then repopulate it later
usually accompanied by showing=False, visible=False I'd say
 gaim does this I think, when buddies log in and out
 the item for a buddy doesn't get deleted right away
if the buddy comes back on within a certain time period, the same accessible is re-used for the person logging in
So do STALE and TRANSIENT always go hand in hand?
ATK says -- ATK_STATE_STALE Indicates that the index associated with this object has changed since the user accessed the object. STATE_STALE -- Indicates that the information returned for this object may no longer be synchronized with the application state. This can occur if the object has STATE_TRANSIENT, and can also occur towards the end of the object peer's lifecycle.
-> These definitions completely disagree and neither really explain it well

ATK says ATK_STATE_DEFUNCT -- Indicates the user interface object corresponding to this object no longer exists AT-SPI says STATE_DEFUNCT -- Indicates that this object no longer has a valid backing widget (for instance, if its peer object has been destroyed) -> These agree (although unfortunately use different wording), but I want to ask if a DEFUNCT object is also STALE.

Do we really need two separate states for DEFUNCT and STALE? I suppose we need to find out what STALE really means first, and if it's just part of some interesting architecture we can use with TRANSIENT. Do STALE and TRANSIENT always go together? Do those always go with MANAGESDESCENDANTS?

- Aaron





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]