/// <summary> /// Handles the UIA version of The extended interface. event /// </summary> /// <param name="control">The UI Automation element</param> private static void UiaInvoke(BaseProdControl control) { AutomationEventVerifier.Register(new EventRegistrationMessage(control, InvokePattern.InvokedEvent)); LogController.ReceiveLogMessage(new LogMessage(CLICK_MSG + control.UIAElement.Current.Name)); InvokePatternHelper.Invoke(control.UIAElement); }
private static void UiaSetValue(BaseProdControl control, double value) { LogController.ReceiveLogMessage(new LogMessage(value.ToString())); AutomationEventVerifier.Register(new EventRegistrationMessage(control, RangeValuePattern.ValueProperty)); RangeValuePatternHelper.SetValue(control.UIAElement, value); }
private static void UiaSelectMenuItem(BaseProdControl control, string[] itemPath) { AutomationElementCollection menuItems = UiaGetMenuItems(control); AutomationEventVerifier.Register(new EventRegistrationMessage(control, InvokePattern.InvokedEvent)); LogController.ReceiveLogMessage(new LogMessage(string.Join(",", itemPath))); ExpandMenuItem(menuItems, itemPath); }
private static void UiaSetSelectedItem(BaseProdControl control, string itemText) { LogController.ReceiveLogMessage(new LogMessage("Selecting " + itemText)); AutomationEventVerifier.Register(new EventRegistrationMessage(control, SelectionItemPattern.ElementSelectedEvent)); AutomationElement element = SelectionItemPatternHelper.FindItemByText(control.UIAElement, itemText); SelectionItemPatternHelper.SelectItem(element); }
private static void UiaSetSelectedIndex(BaseProdControl control, int index) { LogController.ReceiveLogMessage(new LogMessage("Selecting " + index)); AutomationEventVerifier.Register(new EventRegistrationMessage(control, SelectionItemPattern.ElementSelectedEvent)); AutomationElement indexedItem = SelectionItemPatternHelper.FindItemByIndex(control.UIAElement, index); SelectionItemPatternHelper.SelectItem(indexedItem); }
private static void UiaInvokeByAccessKey(BaseProdControl control, string keyCombination) { string cleaned = InternalUtilities.ConvertStringToSendKey(keyCombination); control.SetFocus(); AutomationEventVerifier.Register(new EventRegistrationMessage(control, InvokePattern.InvokedEvent)); LogController.ReceiveLogMessage(new LogMessage(cleaned)); InternalUtilities.SendKeysSetText(control.UIAElement, cleaned); }
/// <summary> /// Adds the list item to the current selection using UIA /// </summary> /// <param name="control">The base ProdUI control.</param> /// <param name="index">Zero based index of the item.</param> private static void UiaAddToSelection(BaseProdControl control, int index) { if (!UiaCanSelectMultiple(control)) { throw new ProdOperationException("Does not support multiple selection"); } AutomationEventVerifier.Register(new EventRegistrationMessage(control, SelectionItemPattern.ElementAddedToSelectionEvent)); LogController.ReceiveLogMessage(new LogMessage("Adding " + index)); SelectionItemPatternHelper.AddToSelection(control.UIAElement, index); }
private static void UiaAppendText(BaseProdControl control, string newText) { if (ValuePatternHelper.GetIsReadOnly(control.UIAElement)) { throw new ProdOperationException("Control is Read Only"); } AutomationEventVerifier.Register(new EventRegistrationMessage(control, ValuePattern.ValueProperty)); LogController.ReceiveLogMessage(new LogMessage("Appending: " + newText)); ValuePatternHelper.AppendValue(control.UIAElement, newText); }
private static void UiaRemoveFromSelection(BaseProdControl control, string itemText) { if (!UiaCanSelectMultiple(control)) { throw new ProdOperationException("Does not support multiple selection"); } AutomationElement itemToSelect = SelectionItemPatternHelper.FindItemByText(control.UIAElement, itemText); AutomationEventVerifier.Register(new EventRegistrationMessage(control, SelectionItemPattern.ElementRemovedFromSelectionEvent)); LogController.ReceiveLogMessage(new LogMessage("Removing " + itemText)); SelectionItemPatternHelper.RemoveFromSelection(itemToSelect); }
private static void UiaInvokeByAccessKey(BaseProdControl control) { if (control.UIAElement.Current.AccessKey.Length == 0) { return; } string cleaned = InternalUtilities.ConvertStringToSendKey(control.UIAElement.Current.AccessKey); control.SetFocus(); AutomationEventVerifier.Register(new EventRegistrationMessage(control, InvokePattern.InvokedEvent)); LogController.ReceiveLogMessage(new LogMessage(cleaned)); InternalUtilities.SendKeysSetText(control.UIAElement, cleaned); }
private static void UiaSetText(BaseProdControl control, string text) { LogController.ReceiveLogMessage(new LogMessage(text)); AutomationEventVerifier.Register(new EventRegistrationMessage(control, ValuePattern.ValueProperty)); ValuePatternHelper.SetValue(control.UIAElement, text); }
private static void UiaInsertText(BaseProdControl control, string newText, int index) { LogController.ReceiveLogMessage(new LogMessage("inserting " + newText)); AutomationEventVerifier.Register(new EventRegistrationMessage(control, ValuePattern.ValueProperty)); ValuePatternHelper.InsertValue(control.UIAElement, newText, index); }
private static void UiaSetToggleState(BaseProdControl control, ToggleState checkstate) { AutomationEventVerifier.Register(new EventRegistrationMessage(control, TogglePatternIdentifiers.ToggleStateProperty)); LogController.ReceiveLogMessage(new LogMessage(checkstate.ToString())); TogglePatternHelper.SetToggleState(control.UIAElement, checkstate); }
private static void UiaToggleState(BaseProdControl control) { AutomationEventVerifier.Register(new EventRegistrationMessage(control, TogglePatternIdentifiers.ToggleStateProperty)); LogController.ReceiveLogMessage(new LogMessage("Toggle")); TogglePatternHelper.Toggle(control.UIAElement); }