Bug 474634

Summary: FileDialog: invisible widgets have "visible" state
Product: [Mono] UI Automation Reporter: calen chen <cachen>
Component: Winforms - ATKAssignee: Mario Carrion <mcarrion>
Status: VERIFIED WONTFIX QA Contact: E-mail List <mono-a11y-qa>
Severity: Normal    
Priority: P3 - Medium CC: sshaw
Version: Release 0.9   
Target Milestone: ---   
Hardware: x86   
OS: openSUSE 11.0   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 464356, 471411    
Attachments: Proposed patch.
the sample programme

Description calen chen 2009-02-11 06:10:06 UTC
PROBLEM STATEMENT:

Invisible helpButton and readonlyCheckBox widgets in OpenFileDialog have "visible" state


REPRO:

1. run accerciser
2. run uia2atk/test/samples/openfiledialog.py, click "OpenDialog" button to invoke OpenFileDialog, HelpButton and ReadOnlyCheckBox are invisible
3. in accercuser, expand dialog, select "Help" push button or "Open ReadOnly" check box,see states under "interface viewer"

RESULTS:

HelpButton and OpenReadonlyCheckBox have states: [enabled, sensitive, showing, visible]

EXPECTED RESULTS:

I expect invisible widget shouldn't has *visible state, and I am not sure if it's a bug here without "focusable" state

COMMENTS:

Note: click "EnableVisible" from main form window can invoke OpenFileDialog with visible HelpButton and ReadOnlyCheckBox, they should have *visible state
Comment 1 Mario Carrion 2009-02-11 21:35:08 UTC
Created attachment 272072 [details]
Proposed patch.

Component based providers will need to override:

+ "AddVisibleEvent" and "RemoveVisibleEvent", to add/remove a VisibleChanged-like event for listening component.Visible changes.
+ Use "HandleComponentAdded" and "HandleComponentRemoved" on their CollectionChanged event handlers.
+ Override IsComponentVisible to return the valid Component visible state.
+ Maybe, also to override "CreateProvider(Component)" to return the valid provider (in case the ComponentProvider is not using ProviderFactory).

Tests output, 3 tests are affected after this change:

http://paste2.org/p/145901
Comment 2 Mario Carrion 2009-02-11 22:04:19 UTC
Fixed UIAutomationWinforms-trunk r126644
Comment 3 Stephen Shaw 2009-03-02 17:59:18 UTC
verified in:
uiaatkbridge-127335-582.1
uiautomationwinforms-127335-609.2
mono-uia-127318-257.1
Comment 4 Feng Xia Mu 2009-06-09 07:32:55 UTC
the openfiledialog sample has been changed, the invisible widgets can't be seen in Accerciser, so there is no way to test the invisible ones' state, but I think the bug should be close since the invisible accessibles can't been accessed by Accerciser.

close on:
mono-core-135601-1177.src.rpm
mono-uia-132785-276.src.rpm
uiaatkbridge-134036-662.src.rpm
uiautomationwinforms-134512-668.src.rpm
Revision: 135711
Comment 5 Feng Xia Mu 2009-06-09 07:38:28 UTC
Created attachment 296873 [details]
the sample programme