Community
Participate
Working Groups
Steps to reproduce: Try to collect a component inside of an AppBar with object mapping. The component will be highlighted and then the AppBar closes. As a result the component will not be collected. My idea to fix: The old mechanism for .NET object mapping didn't use the "topmost"-flag for the highlight windows. It set the focus on our highlight form and after the highlight it set the focus back to the main window of the AUT. We should remove that focus changing because our window is always on top. Hopefully the set focus back to the AUT is not necessary for an other function anymore. -- It should be tested in normal object mapping mode and in touch OMM.
I've tested "my idea to fix" from comment 1. The AppBar doesn't close anymore on object mapping as expected and the component is highlighted. Unfortunately we require focus on our green border highlight form to get key events / mouse events from the form. The key event (e.g. crtl+q) is required to map. If anything else than the AppBar gets focus, the AppBar closes (like touching beside the AppBar).At the moment I don't know how to make the AppBar stay opened while changing the focus. Maybe the object mapping implementation should be changed in this way: Current implementation: - We poll the automation elements that are at the mouse position (or click in touch OMM). If the component is supported we highlight it and set focus on the infisible form to get key events - AFTER the key event, we collect the component under the invisible form Possible solution: - We could poll the automation elements that are at the mouse position AND traverse and cache the hierarchy. - After that, we can highlight the component with the invisible form. The topmost=true flag makes it visible and if we don't set the focus then, the AppBar stays opened. The command to map the component must be done in an other way and then the cached component with its hierarchy is collected. The mapping command could e.g. be implemented by hanging into the windows event queue.
It could also be possible to allow mapping of AppBars with the "touch object mapping >> collect all items". This requires more evaluation.
We're currently no longer planning / working on adding support for this.