/// <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); } }
public AutomationElement GetSelectedNode() { try { AutomationElement[] retVal = SelectionPatternHelper.GetSelection(UIAElement); LogText = retVal[0].Current.AutomationId; LogMessage(); return(retVal[0]); } catch (ProdOperationException err) { throw; } }
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); } }
/// <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); } }