/// <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="itemText">The text of the item to select.</param> internal static void AddToSelectionBridge(this IMultipleSelectionList extension, BaseProdControl control, string itemText) { try { UiaAddToSelection(control, itemText); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException) { NativeAddToSelection(control, itemText); } }
/// <summary> /// Sets the selected items from a supplied list. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control.</param> /// <param name="items">The text of the items to select.</param> internal static void SetSelectedItemsBridge(this IMultipleSelectionList extension, BaseProdControl control, Collection <string> items) { try { UiaSetSelectedItems(control, items); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException err) { throw new ProdOperationException(err); } }
/// <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 SelectAllBridge(this IMultipleSelectionList 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> /// Removes the selected list item from the current selection. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control.</param> /// <param name="index">The index of the item to deselect.</param> internal static void RemoveFromSelectionBridge(this IMultipleSelectionList extension, BaseProdControl control, int index) { try { UiaRemoveFromSelection(control, index); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException) { NativeRemoveFromSelection(control, index); } }
/// <summary> /// Gets the selected item count. /// </summary> /// <param name="extension">The extension interface.</param> /// <param name="control">The base ProdUI control.</param> /// <returns> /// The count of selected items /// </returns> internal static int GetSelectedItemCountBridge(this IMultipleSelectionList extension, BaseProdControl control) { try { return(UiaGetSelectedItemCount(control)); } catch (ArgumentNullException err) { throw new ProdOperationException(err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err); } catch (InvalidOperationException) { return(NativeGetSelectedItemCount(control)); } }
internal static bool CanSelectMultipleBridge(this IMultipleSelectionList extension, BaseProdControl control) { return(UiaCanSelectMultiple(control)); }