/// <summary> /// Selects all items in a ListBox. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control.</param> internal static void SelectAllHook(this SelectionItemAdapter extension, BaseProdControl control) { try { UiaSelectAll(control); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException) { NativeSelectAll(control); } }
/// <summary> /// Adds the list item to the current selection. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control.</param> /// <param name="index">The zero-based index of the item to select.</param> public static void AddToSelectionHook(this SelectionItemAdapter extension, BaseProdControl control, int index) { try { UiaAddToSelection(control, index); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException) { NativeAddToSelection(control, index); } }
/// <summary> /// Gets the selected items. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control</param> /// <returns> /// A List of all currently selected list items /// </returns> public static Collection <string> GetSelectedItemsHook(this SelectionItemAdapter extension, BaseProdControl control) { try { return(UiaGetSelectedItems(control)); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException err) { throw new ProdOperationException(err); } }
/// <summary> /// Removes the current element from the collection of selected items. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control.</param> /// <param name="text">The text of the item to deselect.</param> public static void RemoveFromSelectionHook(this SelectionItemAdapter extension, BaseProdControl control, string text) { try { UiaRemoveFromSelection(control, text); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException) { NativeRemoveFromSelection(control, text); } }
/// <summary> /// Gets a value that indicates whether an item is selected. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control</param> /// <returns> /// <c>true</c> if selected, <c>false</c> otherwise /// </returns> public static bool IsSelectedHook(this SelectionItemAdapter extension, BaseProdControl control) { try { return(UiaGetIsSelected(control)); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException) { if (control.UIAElement.Current.ControlType != ControlType.RadioButton) { throw new ProdOperationException("This method only works with selectable RadioButtons"); } return(NativeGetIsSelected(control)); } }
public static bool CanSelectMultipleHook(this SelectionItemAdapter extension, BaseProdControl control) { return(UiaCanSelectMultiple(control)); }
/// <summary> /// Gets the AutomationElement that supports the SelectionPattern control pattern and acts as the container for the calling object. /// </summary> public static AutomationElement SelectionContainer(this SelectionItemAdapter extension, BaseProdControl control) { throw new NotImplementedException(); }