protected override string DoImpl() { var registeredKey = this.ExecutedCommand.Parameters["ID"].ToString(); var propertyName = this.ExecutedCommand.Parameters["NAME"].ToString(); FlaUIDriverElement element = this.Automator.ElementsRegistry.GetRegisteredElement(registeredKey); AutomationElement flaUiElement = element.FlaUIElement; if (propertyName == "ToggleState") { var ToggleState = flaUiElement.Patterns.Toggle.PatternOrDefault.ToggleState; return(this.JsonResponse(ResponseStatus.Success, ToggleState.ToString())); } try { var propertyObject = flaUiElement.Properties.GetType().GetProperty(propertyName).GetValue((object)flaUiElement.Properties, null); var property = propertyObject.GetType().GetProperty("ValueOrDefault").GetValue(propertyObject); return(this.JsonResponse(ResponseStatus.Success, PrepareValueToSerialize(property))); } catch (Exception) { return(this.JsonResponse()); } }
public string RegisterElement(FlaUIDriverElement element) { Interlocked.Increment(ref safeInstanceCount); var registeredKey = element.GetHashCode() + "-" + safeInstanceCount.ToString(string.Empty, CultureInfo.InvariantCulture); this.registeredElements.Add(registeredKey, element); return(registeredKey); }
protected override string DoImpl() { var registeredKey = this.ExecutedCommand.Parameters["ID"].ToString(); FlaUIDriverElement element = this.Automator.ElementsRegistry.GetRegisteredElement(registeredKey); AutomationElement flaUiElement = element.FlaUIElement; var value = flaUiElement.Properties.ControlType.ToString(); return(this.JsonResponse(ResponseStatus.Success, value)); }
private void ValuePatternSetValue(FlaUIDriverElement element, IEnumerable <JToken> args) { var value = args.ElementAtOrDefault(1); if (value == null) { var msg = HelpArgumentsErrorMsg; throw new AutomationException(msg, ResponseStatus.JavaScriptError); } element.FlaUIElement.Patterns.Value.Pattern.SetValue(value.ToString()); }
protected override string DoImpl() { var registeredKey = this.ExecutedCommand.Parameters["ID"].ToString(); FlaUIDriverElement element = this.Automator.ElementsRegistry.GetRegisteredElement(registeredKey); AutomationElement flaUiElement = element.FlaUIElement; OrientationType orientationType = (OrientationType)flaUiElement.Properties.Orientation.ValueOrDefault; return(this.JsonResponse(ResponseStatus.Success, orientationType.ToString())); }
protected override string DoImpl() { var haveElement = this.ExecutedCommand.Parameters.ContainsKey("element"); var haveOffset = this.ExecutedCommand.Parameters.ContainsKey("xoffset") && this.ExecutedCommand.Parameters.ContainsKey("yoffset"); if (!(haveElement || haveOffset)) { // TODO: in the future '400 : invalid argument' will be used return(this.JsonResponse(ResponseStatus.UnknownError, "WRONG PARAMETERS")); } var resultPoint = Mouse.Position; if (haveElement) { var registeredKey = this.ExecutedCommand.Parameters["element"].ToString(); FlaUIDriverElement element = this.Automator.ElementsRegistry.GetRegisteredElementOrNull(registeredKey); if (element != null) { var rect = element.Properties.BoundingRectangle; resultPoint.X = rect.Left; resultPoint.Y = rect.Top; if (!haveOffset) { resultPoint.X += rect.Width / 2; resultPoint.Y += rect.Height / 2; } } } if (haveOffset) { resultPoint.X += Convert.ToInt32(this.ExecutedCommand.Parameters["xoffset"]); resultPoint.Y += Convert.ToInt32(this.ExecutedCommand.Parameters["yoffset"]); } DriverManager.GetActiveWindow(); Mouse.MoveTo(resultPoint.X, resultPoint.Y); return(this.JsonResponse()); }