Bug 474634 - FileDialog: invisible widgets have "visible" state
Summary: FileDialog: invisible widgets have "visible" state
Status: VERIFIED WONTFIX
Alias: None
Product: UI Automation
Classification: Mono
Component: Winforms - ATK (show other bugs)
Version: Release 0.9
Hardware: x86 openSUSE 11.0
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Mario Carrion
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 464356 471411
  Show dependency treegraph
 
Reported: 2009-02-11 06:10 UTC by calen chen
Modified: 2009-06-09 07:38 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Proposed patch. (13.45 KB, patch)
2009-02-11 21:35 UTC, Mario Carrion
Details | Diff
the sample programme (2.36 KB, text/x-python)
2009-06-09 07:38 UTC, Feng Xia Mu
Details

Note You need to log in before you can comment on or make changes to this bug.
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