Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 427085 - Windows automation framework "XAML" - An opened AppBar/CommandBar closes while object mapping
Summary: Windows automation framework "XAML" - An opened AppBar/CommandBar closes whil...
Status: CLOSED WONTFIX
Alias: None
Product: Jubula
Classification: Technology
Component: RC (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 8
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Oliver Goetz CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 425330 425342
  Show dependency tree
 
Reported: 2014-01-31 02:39 EST by Sören Wellge CLA
Modified: 2015-03-24 03:55 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sören Wellge CLA 2014-01-31 02:39:11 EST
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.
Comment 1 Sören Wellge CLA 2014-01-31 05:58:02 EST
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.
Comment 2 Sören Wellge CLA 2014-01-31 08:48:58 EST
It could also be possible to allow mapping of AppBars with the "touch object mapping >> collect all items". This requires more evaluation.
Comment 3 Markus Tiede CLA 2015-03-24 03:55:03 EDT
We're currently no longer planning / working on adding support for this.