/// <summary> /// Gets the value of the current slider control /// </summary> /// <param name="controlHandle">NativeWindowHandle to the target control</param> /// <returns> /// Value of the control /// </returns> /// <exception cref="ProdOperationException">Examine inner exception</exception> /// <remarks> /// Invalid for WPF controls /// </remarks> public static double SliderGetValue(IntPtr controlHandle) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(RangeValuePattern.Pattern, controlHandle); StaticEvents.RegisterEvent(RangeValuePattern.ValueProperty, control); double retVal = RangeValuePatternHelper.GetValue(control); if (retVal == -1) { ProdSliderNative.GetValueNative(controlHandle); } LogController.ReceiveLogMessage(new LogMessage(control.Current.Name + " Value: " + retVal)); return(retVal); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
private static void UiaSetValue(BaseProdControl control, double value) { LogController.ReceiveLogMessage(new LogMessage(value.ToString())); AutomationEventVerifier.Register(new EventRegistrationMessage(control, RangeValuePattern.ValueProperty)); RangeValuePatternHelper.SetValue(control.UIAElement, value); }
private static double UiaGetSmallChange(BaseProdControl control) { double retVal = RangeValuePatternHelper.GetSmallChange(control.UIAElement); LogController.ReceiveLogMessage(new LogMessage(retVal.ToString())); return(retVal); }
/// <summary> /// Set value of control /// </summary> /// <param name="controlHandle">NativeWindowHandle to the target control</param> /// <param name="value">The value to set the slider to.</param> /// <exception cref="ProdOperationException">Examine inner exception</exception> /// <remarks> /// Invalid for WPF controls /// </remarks> public static void SliderSetValue(IntPtr controlHandle, double value) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(RangeValuePattern.Pattern, controlHandle); StaticEvents.RegisterEvent(RangeValuePattern.ValueProperty, control); RangeValuePatternHelper.SetValue(control, value); LogController.ReceiveLogMessage(new LogMessage(control.Current.Name)); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }