Example #1
0
        public virtual TPatternInterface GetCurrentPattern <TPatternInterface>(classic.AutomationPattern pattern) where TPatternInterface : IBasePattern
        {
            switch (_innerElementType)
            {
            case InnerElementTypes.AutomationElementNet:
                if (Preferences.FromCache)
                {
                    return((TPatternInterface)AutomationFactory.GetPatternAdapter <TPatternInterface>(this, _elementHolderNet.GetCachedPattern(pattern)));
                }
                else
                {
                    return((TPatternInterface)AutomationFactory.GetPatternAdapter <TPatternInterface>(this, _elementHolderNet.GetCurrentPattern(pattern)));
                }

            // default:
//                case InnerElementTypes.AutomationElementCom:
//                    //
            // 20131208
            case InnerElementTypes.UiElement:
                // return Preferences.FromCache ? _elementHolderAdapter.GetCachedPattern(pattern) : _elementHolderAdapter.GetCurrentPattern(pattern);
                return(Preferences.FromCache ? default(TPatternInterface) : _elementHolderAdapter.GetCurrentPattern <TPatternInterface>(pattern));

            // default:
            //    return Preferences.FromCache ? _elementHolderNet.GetCachedPattern(pattern) : _elementHolderNet.GetCurrentPattern(pattern);
            default:
                if (Preferences.FromCache)
                {
                    return((TPatternInterface)AutomationFactory.GetPatternAdapter <TPatternInterface>(this, _elementHolderNet.GetCachedPattern(pattern)));
                }
                else
                {
                    return((TPatternInterface)AutomationFactory.GetPatternAdapter <TPatternInterface>(this, _elementHolderNet.GetCurrentPattern(pattern)));
                }
            }

            // return default(N);
        }
Example #2
0
        // not used
//        public static IUiEltCollection ConvertCmdletInputToCollectionAdapter(this ICollection inputArray)
//        {
//            IUiEltCollection resultCollection =
//                AutomationFactory.GetUiEltCollection(inputArray);
//            return resultCollection;
//        }

        public static IBasePattern[] ConvertAutomationPatternToBasePattern(this classic.AutomationPattern[] patterns, IUiElement element)
        {
            var resultList =
                new List <IBasePattern>();

            foreach (classic.AutomationPattern pattern in patterns)
            {
                try {
                    switch (pattern.ProgrammaticName.Replace("Identifiers.Pattern", string.Empty))
                    {
                    case "DockPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IDockPattern>(element, pattern));
                        break;

                    case "ExpandCollapsePattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IExpandCollapsePattern>(element, pattern));
                        break;

                    case "GridItemPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IGridItemPattern>(element, pattern));
                        break;

                    case "GridPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IGridPattern>(element, pattern));
                        break;

                    case "InvokePattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IInvokePattern>(element, pattern));
                        break;

                    case "RangeValuePattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IRangeValuePattern>(element, pattern));
                        break;

                    case "ScrollItemPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IScrollItemPattern>(element, pattern));
                        break;

                    case "ScrollPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IScrollPattern>(element, pattern));
                        break;

                    case "SelectionItemPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <ISelectionItemPattern>(element, pattern));
                        break;

                    case "SelectionPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <ISelectionPattern>(element, pattern));
                        break;

                    case "TableItemPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <ITableItemPattern>(element, pattern));
                        break;

                    case "TablePattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <ITablePattern>(element, pattern));
                        break;

                    case "TextPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <ITextPattern>(element, pattern));
                        break;

                    case "TogglePattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <ITogglePattern>(element, pattern));
                        break;

                    case "TransformPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <ITransformPattern>(element, pattern));
                        break;

                    case "ValuePattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IValuePattern>(element, pattern));
                        break;

                    case "WindowPattern":
                        resultList.Add(AutomationFactory.GetPatternAdapter <IWindowPattern>(element, pattern));
                        break;
                        // default:
                        //
                        //     break;
                    }
                }
                catch {
                }
            }

            return(resultList.ToArray());
        }