// </Snippet1035> // <Snippet104> ///-------------------------------------------------------------------- /// <summary> /// Sets the current view of a target. /// </summary> /// <param name="multipleViewControl"> /// The current multiple view control. /// </param> /// <param name="viewID"> /// The view identifier from the supported views collection. /// </param> ///-------------------------------------------------------------------- private void SetView(AutomationElement multipleViewControl, int viewID) { if (multipleViewControl == null) { throw new ArgumentNullException( "AutomationElement parameter must not be null."); } // Get a MultipleViewPattern from the current control. MultipleViewPattern multipleViewPattern = GetMultipleViewPattern(multipleViewControl); if (multipleViewPattern != null) { try { multipleViewPattern.SetCurrentView(viewID); } // viewID is not a member of the supported views collection catch (ArgumentException) { // TO DO: error handling } } }
// </Snippet104> // <Snippet105> ///-------------------------------------------------------------------- /// <summary> /// Gets the name of the current view of a target. /// </summary> /// <param name="multipleViewControl"> /// The current multiple view control. /// </param> /// <returns> /// The current view name. /// </returns> ///-------------------------------------------------------------------- private string ViewName(AutomationElement multipleViewControl) { if (multipleViewControl == null) { throw new ArgumentNullException( "AutomationElement parameter must not be null."); } // Get a MultipleViewPattern from the current control. MultipleViewPattern multipleViewPattern = GetMultipleViewPattern(multipleViewControl); if (multipleViewControl != null) { try { int viewID = (int)multipleViewControl.GetCurrentPropertyValue( MultipleViewPattern.CurrentViewProperty); return(multipleViewPattern.GetViewName(viewID)); } catch (ArgumentException) { // TO DO: error handling } } return(null); }
public void MultipleViewPatternCachedTest() { AutomationElement itemsView = ExplorerTargetTests.explorerHost.Element.FindFirst(TreeScope.Subtree, new PropertyCondition(AutomationElement.ClassNameProperty, "UIItemsView")); Assert.IsNotNull(itemsView); MultipleViewPattern multiView = (MultipleViewPattern)itemsView.GetCurrentPattern(MultipleViewPattern.Pattern); int[] supportedViews = multiView.Current.GetSupportedViews(); Assert.IsNotNull(supportedViews.Length > 0); bool inSupportedViews = false; foreach (int view in supportedViews) { if (view == multiView.Current.CurrentView) { inSupportedViews = true; break; } string viewName = multiView.GetViewName(view); Assert.IsTrue(viewName.Length > 0); } Assert.IsTrue(inSupportedViews); }
/// ------------------------------------------------------------------- /// <summary></summary> /// ------------------------------------------------------------------- public MultipleViewTests(AutomationElement element, TestPriorities priority, string dirResults, bool testEvents, TypeOfControl typeOfControl, IApplicationCommands commands) : base(element, TestSuite, priority, typeOfControl, TypeOfPattern.MultipleView, dirResults, testEvents, commands) { m_pattern = (MultipleViewPattern)element.GetCurrentPattern(MultipleViewPattern.Pattern); if (m_pattern == null) { throw new Exception(Helpers.PatternNotSupported); } }
public string GetViewName(int viewId, bool log) { if (log) { procedureLogger.Action(string.Format("Get the view name which viewID is {0}.", viewId)); } MultipleViewPattern mvp = (MultipleViewPattern)element.GetCurrentPattern(MultipleViewPattern.Pattern); return(mvp.GetViewName(viewId)); }
public static bool TryGetMultipleViewPattern(this AutomationElement element, out MultipleViewPattern result) { if (element.TryGetCurrentPattern(System.Windows.Automation.MultipleViewPattern.Pattern, out var pattern)) { result = (MultipleViewPattern)pattern; return(true); } result = null; return(false); }
public void SetCurrentView(int viewId, bool log) { if (log) { procedureLogger.Action(string.Format("Set current view to {0}.", GetViewName(viewId))); } MultipleViewPattern mvp = (MultipleViewPattern)element.GetCurrentPattern(MultipleViewPattern.Pattern); mvp.SetCurrentView(viewId); }
// </Snippet103> // <Snippet1035> ///-------------------------------------------------------------------- /// <summary> /// Gets the current view identifier from a target. /// </summary> /// <param name="multipleViewPattern"> /// The control pattern of interest. /// </param> /// <returns> /// The current view identifier. /// </returns> ///-------------------------------------------------------------------- private int GetCurrentViewFromPattern( MultipleViewPattern multipleViewPattern) { if (multipleViewPattern == null) { throw new ArgumentNullException( "MultipleViewPattern parameter must not be null."); } return(multipleViewPattern.Current.CurrentView); }
// </Snippet102> // <Snippet1025> ///-------------------------------------------------------------------- /// <summary> /// Gets the collection of currently supported views from a target. /// </summary> /// <param name="multipleViewPattern"> /// The MultipleViewPattern obtained from a multiple view control. /// </param> /// <returns> /// A collection of identifiers representing the supported views. /// </returns> ///-------------------------------------------------------------------- private int[] GetSupportedViewsFromControl( MultipleViewPattern multipleViewPattern) { if (multipleViewPattern == null) { throw new ArgumentNullException( "MultipleViewPattern parameter must not be null."); } return(multipleViewPattern.Current.GetSupportedViews()); }
public void NotEnabledTest() { RunCommand("disable list view"); listView1Element = testFormElement.FindFirst(TreeScope.Children, new PropertyCondition(AEIds.NameProperty, "listView1")); Assert.IsNotNull(listView1Element); pattern = (MultipleViewPattern)listView1Element.GetCurrentPattern(MultipleViewPattern.Pattern); // We should expect and ElementNotEnabledException here // But since on Windows Winforms there isn't expcetion fired, then we also assert no exception here pattern.SetCurrentView(1); RunCommand("enable list view"); pattern = (MultipleViewPattern)listView1Element.GetCurrentPattern(MultipleViewPattern.Pattern); }
/// <summary> /// Constructor. /// </summary> public UIAMultipleViewPattern_snippets() { AutomationElement targetWindow = StartTargetApp(System.Windows.Forms.Application.StartupPath + "\\MultipleViewPattern_snip_Target.exe"); targetWindow = AutomationElement.RootElement.FindFirst(TreeScope.Children, new PropertyCondition( AutomationElement.NameProperty, "C:\\Documents and Settings\\kbridge\\Desktop\\UISpy")); targetControl = FindAutomationElement(targetWindow); MultipleViewPattern multipleViewPattern = GetMultipleViewPattern(targetControl[0]); int i = GetCurrentViewProperty(targetControl[0]); }
public void SetCurrentView(int viewId, bool log) { if (!this.SupportedViews.Contains(viewId)) { throw new ArgumentOutOfRangeException(); } if (log) { procedureLogger.Action(string.Format("Set current view to {0}.", GetViewName(viewId))); } MultipleViewPattern mvp = (MultipleViewPattern)element.GetCurrentPattern(MultipleViewPattern.Pattern); mvp.SetCurrentView(viewId); }
// </Snippet100> // <Snippet101> ///-------------------------------------------------------------------- /// <summary> /// Obtains a MultipleViewPattern control pattern from an /// automation element. /// </summary> /// <param name="targetControl"> /// The automation element of interest. /// </param> /// <returns> /// A MultipleViewPattern object. /// </returns> ///-------------------------------------------------------------------- private MultipleViewPattern GetMultipleViewPattern( AutomationElement targetControl) { MultipleViewPattern multipleViewPattern = null; try { multipleViewPattern = targetControl.GetCurrentPattern( MultipleViewPattern.Pattern) as MultipleViewPattern; } // Object doesn't support the MultipleViewPattern control pattern catch (InvalidOperationException) { return(null); } return(multipleViewPattern); }
/// <summary> /// Gets the name of the view. /// </summary> /// <param name="viewId">The control-specific view identifier.</param> /// <returns>The control-specific view name</returns> internal static string GetViewName(AutomationElement control, int viewId) { MultipleViewPattern pattern = (MultipleViewPattern)CommonUIAPatternHelpers.CheckPatternSupport(MultipleViewPattern.Pattern, control); return(pattern.GetViewName(viewId)); }
protected override void CustomFixtureSetUp() { base.CustomFixtureSetUp(); pattern = (MultipleViewPattern)listView1Element.GetCurrentPattern(MultipleViewPattern.Pattern); Assert.IsNotNull(pattern); }
/// <summary> /// Sets the current view. /// </summary> /// <param name="control">The control.</param> /// <param name="viewId">A control-specific view identifier.</param> internal void SetCurrentView(AutomationElement control, int viewId) { MultipleViewPattern pattern = (MultipleViewPattern)CommonUIAPatternHelpers.CheckPatternSupport(MultipleViewPattern.Pattern, control); pattern.SetCurrentView(viewId); }
public MultipleViewPatternPropertyObject(MultipleViewPattern pattern) { this._pattern = pattern; }
public string GetViewName(int viewId) { MultipleViewPattern mvp = (MultipleViewPattern)element.GetCurrentPattern(MultipleViewPattern.Pattern); return(mvp.GetViewName(viewId)); }
public int [] GetSupportedViews() { MultipleViewPattern mvp = (MultipleViewPattern)element.GetCurrentPattern(MultipleViewPattern.Pattern); return(mvp.Current.GetSupportedViews()); }
/// <summary> /// Gets the supported view ids. /// </summary> /// <param name="control">The control.</param> /// <returns>The current views available</returns> internal int[] GetSupportedViewIds(AutomationElement control) { MultipleViewPattern pattern = (MultipleViewPattern)CommonUIAPatternHelpers.CheckPatternSupport(MultipleViewPattern.Pattern, control); return((int[])control.GetCurrentPropertyValue(MultipleViewPattern.SupportedViewsProperty)); }