/// <summary> /// Stopps observing of the <see cref="DW.CodedUI.BasicElements.BasicElement" /> properties. /// </summary> /// <remarks>The <see cref="DW.CodedUI.Utilities.ElementListener.Filters" /> will not be resetted.</remarks> public override void Stop() { _elementData = null; _element = null; base.Stop(); }
/// <summary> /// Make a shadow copy of the element at the current state which stays available even the element is gone. /// </summary> /// <returns>A shadow copy of the current element.</returns> public BasicElementData GetDataCopy() { var data = new BasicElementData(); FillData(data); return(data); }
private void OnElementPositionChanged(BasicElementData oldElementData, BasicElementData newElementData) { var handler = ElementPositionChanged; if (handler != null) { Invoke(handler, new ElementChangedEventArgs(ElementChangeKind.PositionChanged, new ElementInfo(oldElementData), new ElementInfo(newElementData))); } }
private void OnElementDestroyed(BasicElementData e) { var handler = ElementDestroyed; if (handler != null) { Invoke(handler, new ElementChangedEventArgs(ElementChangeKind.Destroyed, new ElementInfo(e), null)); } }
private static void Read(BasicElement rootElement, BasicElementData data) { foreach (var child in GetChildren(rootElement.AutomationElement)) { var element = new BasicElement(child); var elementData = element.GetDataCopy(); ((List <BasicElementData>)data.Children).Add(elementData); Read(element, elementData); } }
/// <summary> /// Fills the given BasicElementData object with the properties of the BasicElement. /// </summary> /// <param name="data">The BasicElementData to fill.</param> protected void FillData(BasicElementData data) { data.AutomationId = GetSafeData(() => Properties.AutomationId); data.Name = GetSafeData(() => Properties.Name); data.BoundingRectangle = GetSafeData(() => Properties.BoundingRectangle); data.ClassName = GetSafeData(() => Properties.ClassName); data.NativeWindowHandle = GetSafeData(() => Properties.NativeWindowHandle); data.ProcessId = GetSafeData(() => Properties.ProcessId); data.IsEnabled = GetSafeData(() => Properties.IsEnabled); data.IsVisible = GetSafeData(() => IsVisible); }
/// <summary> /// Starts observing of the <see cref="DW.CodedUI.BasicElements.BasicElement" /> properties. To say which one see <see cref="DW.CodedUI.Utilities.ElementListener.Filters" />. /// </summary> public override void Start() { _elementData = _element.GetDataCopy(); base.Start(); }
/// <summary> /// All checks are done and the current <see cref="DW.CodedUI.BasicElements.BasicElement" /> state can be taken. /// </summary> protected override void ChecksOver() { _elementData = _element.GetDataCopy(); }
internal ElementInfo(BasicElementData basicElementData) { BasicElementData = basicElementData; }