Re: AXMoved and AXResized notifications don't work?
Re: AXMoved and AXResized notifications don't work?
- Subject: Re: AXMoved and AXResized notifications don't work?
- From: Tom Bunch <email@hidden>
- Date: Wed, 24 May 2006 07:44:42 -0700
Hi Bill,
I'll be interested in hearing how much success you have with that.
Besides scrollers, I think you'll need to watch out for split views,
views in drawers that get resized (is AXWindowResized sent for
these?), maybe browser columns for things like AXFinderItems. Then
there's the oddball app that just calls setFrame*: willy nilly. The
window for an AXFinderItem is, I think, always going to be Finder's
AXMainWindow, so that might be a workaround for the other bug you
mentioned.
-Tom
On May 24, 2006, at 1:46 AM, Bill Cheeseman wrote:
on 2006-05-23 8:41 PM, Tom Bunch at email@hidden wrote:
I can confirm your experience - I've explored both Cocoa and Carbon
apps and never found that they're sent for any UI element under any
circumstances. I have had to fall back on <gasp!> polling.
Apple says, "Hi Tom, this is a known issue and is being tracked under
Bug ID#3462904."
Thanks for the confirmation, Tom and James. It will save me a lot
of wasted
effort looking for problems in my own code.
My app monitors the position of only one UI element at any one
time. So,
rather than polling, I believe I can cover all the bases by doing
these
three things:
1. Register AXWindowMoved to learn when the target element's window
moved,
then update the target element's position.
2. Register AXWindowResized to learn when the element's window's size
changed, then update the target element's position on the theory
that the
target element might be the window's grow area, title, toolbar
button, proxy
image or whatever else might change position when the window resizes.
3. Register AXValueChanged on the application to learn when any
element
changed value, then update the target element's position if the
affected
element is a scrollbar.
I will get lots of false positives on case 3, but it shouldn't matter
because the operation I perform in response is nondestructive and
quick. But
that's the case where AXMoved is needed -- to catch movement of
items within
views that are nested inside scroll areas.
--
Bill Cheeseman - email@hidden
Quechee Software, Quechee, Vermont, USA
http://www.quecheesoftware.com
PreFab Software - http://www.prefab.com/scripting.html
The AppleScript Sourcebook - http://www.AppleScriptSourcebook.com
Vermont Recipes - http://www.stepwise.com/Articles/VermontRecipes
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (Accessibility-
email@hidden)
Help/Unsubscribe/Update your Subscription:
40omnigroup.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden