/// <summary> /// Determines whether the specified index is selected. /// </summary> /// <param name="controlHandle">The control handle.</param> /// <param name="index">The zero-based index of the tab to select.</param> /// <returns> /// <c>true</c> if the specified index is selected; otherwise, <c>false</c>. /// </returns> ///<exception cref="ProdOperationException">Examine inner exception</exception> public static bool TabIsSelected(IntPtr controlHandle, int index) { bool ret; try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); AutomationElement[] element = SelectionPatternHelper.GetSelection(control); int retVal = SelectionItemPatternHelper.FindIndexByItem(control, element[0].Current.Name); ret = (retVal == index); LogController.ReceiveLogMessage(new LogMessage(ret.ToString())); return(ret); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
public static Collection <object> GetSelectedIndexes(IntPtr controlHandle) { if (!CanSelectMultiple(controlHandle)) { return(null); } try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); AutomationElement[] selectedItems = SelectionPatternHelper.GetSelection(control); Collection <object> retList = new Collection <object>(selectedItems); LogController.ReceiveLogMessage(new LogMessage("List selected items: ", retList)); return(retList); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
public static AutomationElement GetSelectedItem(IntPtr controlHandle) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); AutomationElement[] retVal = SelectionPatternHelper.GetSelection(control); AutomationElement ret = retVal[0]; if (ret == null) { throw new ProdOperationException("Unable to select Item"); } LogController.ReceiveLogMessage(new LogMessage(control.Current.Name)); return(ret); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
public static int GetSelectedIndex(IntPtr controlHandle) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); AutomationElement[] element = SelectionPatternHelper.GetSelection(control); int ret = SelectionItemPatternHelper.FindIndexByItem(control, element[0].Current.Name); if (ret == -1) { /* Call native function */ ret = ProdListBoxNative.GetSelectedIndexNative(controlHandle); } LogController.ReceiveLogMessage(new LogMessage(ret.ToString(CultureInfo.InvariantCulture))); return(ret); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
private static int UiaSelectedIndex(BaseProdControl control) { AutomationElement[] element = SelectionPatternHelper.SelectedItems(control.UIAElement); int retVal = SelectionItemPatternHelper.FindIndexByItem(control.UIAElement, element[0].Current.Name); LogController.ReceiveLogMessage(new LogMessage(retVal.ToString(CultureInfo.CurrentCulture))); return(retVal); }
private static Collection <object> UiaGetItems(BaseProdControl control) { AutomationElementCollection convRet = SelectionPatternHelper.GetListItems(control.UIAElement); Collection <object> retVal = InternalUtilities.AutomationCollToObjectList(convRet); LogController.ReceiveLogMessage(new LogMessage("List Items: ", retVal)); return(retVal); }
private static int UiaGetSelectedItemCount(BaseProdControl control) { if (!UiaCanSelectMultiple(control)) { throw new ProdOperationException("Does not support multiple selection"); } AutomationElement[] selectedItems = SelectionPatternHelper.SelectedItems(control.UIAElement); LogController.ReceiveLogMessage(new LogMessage("Count: " + selectedItems.Length)); return(selectedItems.Length); }
private static void UiaSelectAll(BaseProdControl control) { if (!UiaCanSelectMultiple(control)) { throw new ProdOperationException("Does not support multiple selection"); } foreach (AutomationElement item in SelectionPatternHelper.GetListItems(control.UIAElement)) { SelectionItemPatternHelper.AddToSelection(item); } }
public void SelectNode(string itemText) { LogText = "Item: " + itemText; try { RegisterEvent(SelectionItemPattern.ElementSelectedEvent); AutomationElement control = SelectionPatternHelper.FindItemByText(UIAElement, itemText); SelectionPatternHelper.Select(control); } catch (ProdOperationException err) { throw; } }
public void SelectNode(int index) { LogText = "Index: " + index; try { RegisterEvent(SelectionItemPattern.ElementSelectedEvent); AutomationElement indexedItem = SelectionPatternHelper.FindItemByIndex(UIAElement, index); SelectionPatternHelper.Select(indexedItem); } catch (ProdOperationException err) { throw; } }
public AutomationElement GetSelectedNode() { try { AutomationElement[] retVal = SelectionPatternHelper.GetSelection(UIAElement); LogText = retVal[0].Current.AutomationId; LogMessage(); return(retVal[0]); } catch (ProdOperationException err) { throw; } }
private static Collection <string> UiaGetSelectedItems(BaseProdControl control) { if (!UiaCanSelectMultiple(control)) { throw new ProdOperationException("Does not support multiple selection"); } AutomationElement[] selectedItems = SelectionPatternHelper.SelectedItems(control.UIAElement); Collection <string> retList = new Collection <string>(); foreach (AutomationElement item in selectedItems) { retList.Add(item.Current.Name); } LogController.ReceiveLogMessage(new LogMessage("Selected Items", new Collection <object>(selectedItems))); return(retList); }
/// <summary> /// Gets the selected indexes using UIA /// </summary> /// <param name="control">The base ProdUI control</param> /// <returns> /// A List of all the indexes of currently selected list items. /// </returns> private static Collection <int> UiaGetSelectedIndexes(BaseProdControl control) { if (!UiaCanSelectMultiple(control)) { throw new ProdOperationException("Does not support multiple selection"); } AutomationElement[] selectedItems = SelectionPatternHelper.SelectedItems(control.UIAElement); Collection <object> retList = new Collection <object> { (selectedItems) }; Collection <int> selectedIndexes = new Collection <int>(); foreach (AutomationElement item in selectedItems) { selectedIndexes.Add(SelectionItemPatternHelper.FindIndexByItem(control.UIAElement, item.Current.Name)); } LogController.ReceiveLogMessage(new LogMessage("Selected Indexes", retList)); return(selectedIndexes); }
public static bool CanSelectMultiple(ProdWindow prodwindow, string automationId) { try { AutomationElement control = InternalUtilities.GetHandlelessElement(prodwindow, automationId); return(SelectionPatternHelper.CanSelectMultiple(control)); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
public static int SelectedItemCount(IntPtr controlHandle) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); if (!SelectionPatternHelper.CanSelectMultiple(control)) { return(-1); } AutomationElement[] selectedItems = SelectionPatternHelper.GetSelection(control); if (selectedItems == null) { if (CanSelectMultiple(controlHandle)) { /* Call native function */ return(ProdListBoxNative.GetSelectedItemCountNative(controlHandle)); } } if (selectedItems == null) { return(-1); } LogController.ReceiveLogMessage(new LogMessage("List selection count: " + selectedItems.Length)); return(selectedItems.Length); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
public int GetSelectedNodeIndex() { try { AutomationElement[] element = SelectionPatternHelper.GetSelection(UIAElement); int retVal = SelectionPatternHelper.FindIndexByItem(UIAElement, element[0].Current.Name); LogText = retVal.ToString(CultureInfo.CurrentCulture); LogMessage(); return(retVal); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } }
public static bool CanSelectMultiple(IntPtr controlHandle) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); LogController.ReceiveLogMessage(new LogMessage(control.Current.Name)); return(SelectionPatternHelper.CanSelectMultiple(control)); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
/// <summary> /// Determines whether the specified item text is selected. /// </summary> /// <param name="controlHandle">The control handle.</param> /// <param name="itemText">The item text.</param> /// <returns> /// <c>true</c> if the specified item text is selected; otherwise, <c>false</c>. /// </returns> /// <exception cref="ProdOperationException">Examine inner exception</exception> public static bool TabIsSelected(IntPtr controlHandle, string itemText) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); AutomationElement[] element = SelectionPatternHelper.GetSelection(control); bool retVal = (SelectionItemPatternHelper.FindItemByText(control, itemText).Current.FrameworkId == element[0].Current.FrameworkId); LogController.ReceiveLogMessage(new LogMessage(retVal.ToString())); return(retVal); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
private static bool UiaCanSelectMultiple(BaseProdControl control) { return(SelectionPatternHelper.CanSelectMultiple(control.UIAElement)); }
private static AutomationElement UiaGetSelectedItem(BaseProdControl control) { AutomationElement[] retVal = SelectionPatternHelper.SelectedItems(control.UIAElement); LogController.ReceiveLogMessage(new LogMessage("Item " + retVal[0])); return(retVal[0]); }