public virtual bool TryGetCachedPattern(classic.AutomationPattern pattern, out object patternObject) { switch (_innerElementType) { case InnerElementTypes.AutomationElementNet: return(_elementHolderNet.TryGetCachedPattern(pattern, out patternObject)); // case InnerElementTypes.AutomationElementCom: // // case InnerElementTypes.UiElement: return(_elementHolderAdapter.TryGetCachedPattern(pattern, out patternObject)); default: return(_elementHolderNet.TryGetCachedPattern(pattern, out patternObject)); } }
public virtual object GetCurrentPattern(classic.AutomationPattern pattern) { switch (_innerElementType) { case InnerElementTypes.AutomationElementNet: // 20140208 // return _elementHolderNet.GetCurrentPattern(pattern); return(Preferences.FromCache ? _elementHolderNet.GetCachedPattern(pattern) : _elementHolderNet.GetCurrentPattern(pattern)); default: // case InnerElementTypes.AutomationElementCom: // // // case InnerElementTypes.UiElement: // return _elementHolderAdapter.GetCurrentPattern(pattern); return(_elementHolderNet.GetCurrentPattern(pattern)); } }
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); }
public SourcePatternEmulator(object pattern) { Pattern = pattern as classic.AutomationPattern; }
/// <summary> /// Processes the pipeline. /// </summary> protected override void ProcessRecord() { object result = null; // ? if (!CheckAndPrepareInput(this)) { return; } // 20131014 //this.WriteVerbose(this, _control.Current); // 20131014 //this.WriteVerbose(this, // (_control.GetSupportedPatterns()).Length.ToString()); // 20131109 //foreach (System.Windows.Automation.AutomationElement element in this.InputObject) { // 20131113 foreach (classic.AutomationPattern p in InputObject.SelectMany(element => element.GetSupportedPatterns())) { WriteVerbose(this, p.ProgrammaticName); } /* * foreach (IUiElement element in this.InputObject) { * foreach (System.Windows.Automation.AutomationPattern p in element.GetSupportedPatterns()) * { * this.WriteVerbose(this, p.ProgrammaticName); * } * } */ // 20131014 //foreach (System.Windows.Automation.AutomationPattern p in _control.GetSupportedPatterns()) /* * foreach (AutomationPattern p in this.InputObject.SelectMany(element => element.GetSupportedPatterns())) * { * this.WriteVerbose(this, p.ProgrammaticName); * } */ /* * foreach (System.Windows.Automation.AutomationElement element in this.InputObject) { * foreach (System.Windows.Automation.AutomationPattern p in element.GetSupportedPatterns()) * { * this.WriteVerbose(this, p.ProgrammaticName); * } * } */ classic.AutomationPattern pattern = UiaHelper.GetPatternByName(Name); // 20131209 result = UiaHelper.GetCurrentPattern(ref _control, pattern); // result = // _control.GetCurrentPattern(pattern); WriteVerbose(this, result); WriteObject(this, result); }