Skip to content

Commit 1c9639a

Browse files
committed
Add virtualized pattern action and SelectionItem add/remove/select actions
1 parent 1d4d60c commit 1c9639a

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

src/FlaUInspect/Core/PatternItemsFactory.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public class PatternItemsFactory(AutomationBase? automationBase) {
5656
new (FlaUI.UIA3.Patterns.TablePattern.Pattern, AddTablePatternDetails),
5757
new (FlaUI.UIA3.Patterns.TextPattern.Pattern, AddTextPatternDetails),
5858
new (FlaUI.UIA3.Patterns.TogglePattern.Pattern, AddTogglePatternDetails),
59+
new (FlaUI.UIA3.Patterns.VirtualizedItemPattern.Pattern, AddVirtualizedPatternDetails),
5960
new (FlaUI.UIA3.Patterns.ValuePattern.Pattern, AddValuePatternDetails),
6061
new (FlaUI.UIA3.Patterns.WindowPattern.Pattern, AddWindowPatternDetails),
6162
new (InvokePattern.Pattern, AddInvokePatternDetails)
@@ -103,6 +104,13 @@ private static IEnumerable<PatternItem> AddTogglePatternDetails(AutomationElemen
103104
ITogglePattern pattern = element.Patterns.Toggle.Pattern;
104105
yield return new PatternItem("ToggleState", "Toggle", pattern.Toggle);
105106
}
107+
private static IEnumerable<PatternItem> AddVirtualizedPatternDetails(AutomationElement? element) {
108+
if (element == null) {
109+
yield break;
110+
}
111+
IVirtualizedItemPattern pattern = element.Patterns.VirtualizedItem.Pattern;
112+
yield return new PatternItem("Virtualized", "Realize", pattern.Realize);
113+
}
106114

107115
private static IEnumerable<PatternItem> AddTextPatternDetails(AutomationElement? element) {
108116
if (element == null) {
@@ -164,6 +172,9 @@ private static IEnumerable<PatternItem> AddSelectionItemPatternDetails(Automatio
164172
ISelectionItemPattern pattern = element.Patterns.SelectionItem.Pattern;
165173
yield return PatternItem.FromAutomationProperty("IsSelected", pattern.IsSelected);
166174
yield return PatternItem.FromAutomationProperty("SelectionContainer", pattern.SelectionContainer);
175+
yield return new PatternItem("AddToSelection", "AddToSelection", pattern.AddToSelection);
176+
yield return new PatternItem("RemoveFromSelection", "RemoveFromSelection", pattern.RemoveFromSelection);
177+
yield return new PatternItem("Select", "Select", pattern.Select);
167178
}
168179

169180
private static IEnumerable<PatternItem> AddScrollPatternDetails(AutomationElement? element) {

0 commit comments

Comments
 (0)