예제 #1
0
        public void ViewTest()
        {
            var currentView    = pattern.Current.CurrentView;
            var supportedViews = pattern.Current.GetSupportedViews();

            Assert.Greater(supportedViews.Length, 1, "GetSupportedViews.Length");
            Assert.AreEqual(1, currentView, "GetSupportedViews.Value");
            Assert.AreEqual("Details", pattern.GetViewName(currentView), "Current view name");
            AssertRaises <ArgumentException> (() => pattern.GetViewName(-1), "get view name from -1");
            AssertRaises <ArgumentException> (() => pattern.GetViewName(supportedViews.Length),
                                              "get view name from supportedViews.Length");
        }
예제 #2
0
        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);
        }
        // </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);
        }
예제 #4
0
        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));
        }
예제 #5
0
        public string GetViewName(int viewId)
        {
            MultipleViewPattern mvp = (MultipleViewPattern)element.GetCurrentPattern(MultipleViewPattern.Pattern);

            return(mvp.GetViewName(viewId));
        }
        /// <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));
        }