/// <summary> /// Raises the <see cref="E:RangeChanged" /> event. /// </summary> /// <param name="e">The <see cref="RangeChangedEventArgs"/> instance containing the event data.</param> protected void OnRangeChanged(RangeChangedEventArgs e) { if (RangeChanged != null) { RangeChanged.Invoke(e); } }
//////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// protected virtual void OnRangeChanged(EventArgs e) { if (RangeChanged != null) { RangeChanged.Invoke(this, e); } }
/// <summary> /// Raises the <see cref="E:RangeChanged" /> event. /// </summary> /// <param name="e">The <see cref="RangeChangedEventArgs"/> instance containing the event data.</param> protected void OnRangeChanged(RangeChangedEventArgs e) { RangeChanged?.Invoke(e); if (RangeChangedCommand != null && RangeChangedCommand.CanExecute(e)) { RangeChangedCommand.Execute(e); } }
private void UpperSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e) { LowerSlider.Value = Math.Min(UpperSlider.Value, LowerSlider.Value); if (RangeChanged != null) { RangeChanged.Invoke(this, EventArgs.Empty); } }
protected void OnRangeChanged() { var r = MinValue == null || MaxValue == null ? double.NaN : MaxValue - MinValue; if (RangeChanged != null) { RangeChanged.Invoke(r ?? double.NaN); } }
private void RublerBar_MouseDoubleClick(object sender, MouseEventArgs e) { if (SV0 != EV0) { UpdataValue(SV0, EV0); RangeChanged?.Invoke(new float[] { startValue, endValue, HoriBar ? 0 : 1 }); } else { ResetRulerValue(); } }
private void LongSrtipToolLayout_MouseUp(object sender, MouseEventArgs e) { ///重置缩放区域 if (zoomRegion != null && zoomRegion.width != 0 && zoomRegion.height != 0 && !MouseIsDoubleClick) { FigCursors ft = new FigCursors(); InitialFigCursors(ref ft); ft.XPixel = zoomRegion.minX; ft.YPixel = zoomRegion.minY; float sx = ft.X; float ey = ft.Y; int xa = ft.XPixel; int ya = ft.YPixel; ft.XPixel = zoomRegion.minX + zoomRegion.width - 1; ft.YPixel = zoomRegion.minY + zoomRegion.height - 1; float ex = ft.X; float sy = ft.Y; int xb = ft.XPixel; int yb = ft.YPixel; /*Console.WriteLine(new Rectangle(xa, ya, xb - xa, yb - ya)); * Console.WriteLine("sx=" + sx.ToString()); * Console.WriteLine("ex=" + ex.ToString()); * Console.WriteLine("sy=" + sy.ToString()); * Console.WriteLine("ey=" + ey.ToString());*/ if (xb > xa & yb > ya) { StartX = sx; EndX = ex; StartY = sy; EndY = ey; RangeChanged?.Invoke(new float[] { StartX, EndX, StartY, EndY, zoomRegion.minX, zoomRegion.minY, zoomRegion.width, zoomRegion.height }); } } zoomRegion = null; Invalidate(); ///重置光标选定信息和状态信息 MouseLeftIsDown = false; MouseState = "+"; }
private void RangeSliderView_Load(object sender, EventArgs eArgs) { #region RangeSlider Settings rangeSlider.Maximum = Maximum; rangeSlider.Minimum = Minimum; rangeSlider.UpperValueChanged += (s, e) => { UpperValue = rangeSlider.UpperValue; }; rangeSlider.LowerValueChanged += (s, e) => { LowerValue = rangeSlider.LowerValue; }; rangeSlider.UpperValue = UpperValue; rangeSlider.LowerValue = LowerValue; #endregion #region DatePicker Settings if (fromDatePicker != null && toDatePicker != null) { fromDatePicker.ValueChanged += (s, e) => { LowerValue = fromDatePicker.Value.ToOADate(); }; toDatePicker.ValueChanged += (s, e) => { UpperValue = toDatePicker.Value.ToOADate(); }; toDatePicker.Value = DateTime.FromOADate(UpperValue); fromDatePicker.Value = DateTime.FromOADate(LowerValue); } #endregion #region NumericBox Settings if (fromNumeric != null && toNumeric != null) { fromNumeric.ValueChanged += (s, e) => { LowerValue = (double)fromNumeric.Value; }; toNumeric.ValueChanged += (s, e) => { UpperValue = (double)toNumeric.Value; }; toNumeric.Value = (decimal)UpperValue; fromNumeric.Value = (decimal)LowerValue; } #endregion RangeChanged.Invoke(this, eArgs); IsLoaded = true; }
private void ResetAll() { ima.inputData.ReSet(); ima.DisplayZoneMin = new float[2] { 0, 0 }; ima.DisplayZoneMax = new float[2] { 1, 1 }; ima.RefreshBMP(); SetToolLayoutPara(true); Invalidate(); firstZoom = true; wt = ht = 0; RangeChanged?.Invoke(new float[] { 0, 0, 0, 0, (float)x0, (float)x1, (float)y0, (float)y1 }); }
private void ResetRulerValue() { int offset; if (HoriBar) { offset = -MousePosition.X + mousePos.X; } else { offset = MousePosition.Y - mousePos.Y; } float offV = offset * k; //Console.WriteLine(offV); UpdataValue(sv1 + offV, ev1 + offV); RangeChanged?.Invoke(new float[] { startValue, endValue, HoriBar?0:1 }); }
private static void OnRangeChanged(EventArgs e) { RangeChanged?.Invoke(null, e); }
private void UltraToolLayout_MouseUp(object sender, MouseEventArgs e) { ///重置缩放区域 if (zoomRegion != null && zoomRegion.width != 0 && zoomRegion.height != 0) { FigCursor ft = new FigCursor(); ResetCurrentCursor(ft, zoomRegion.minX, zoomRegion.minY); double sx = ft.pdata.X; double ey = ft.pdata.Y; int xa = ft.p.X; int ya = ft.p.Y; ResetCurrentCursor(ft, zoomRegion.minX + zoomRegion.width - 1, zoomRegion.minY + zoomRegion.height - 1); double ex = ft.pdata.X; double sy = ft.pdata.Y; int xb = ft.p.X; int yb = ft.p.Y; startX = sx; endX = ex; startY = sy; endY = ey; Console.WriteLine(new Rectangle(xa, ya, xb - xa, yb - ya)); Console.WriteLine("sx=" + sx.ToString()); Console.WriteLine("ex=" + ex.ToString()); Console.WriteLine("sy=" + sy.ToString()); Console.WriteLine("ey=" + ey.ToString()); if (xb > xa & yb > ya) { RangeChanged?.Invoke(new float[] { xa, ya, xb - xa, yb - ya, (float)sx, (float)ex, (float)sy, (float)ey }); } } zoomRegion = null; ///1 鼠标双击时,设置光标,并获取当前光标相对位置 ///2 重置双击状态 if (MouseIsDoubleClick) { kx = (_ex - _sx) / (Width - 1.0); ky = (_sy - _ey) / (Height - 1.0); if (e.Button == MouseButtons.Left) { InitalCursor("Ref", e.Location); ResetCurrentCursor(RefCursor, e.X, e.Y); } else { InitalCursor("Mea", e.Location); ResetCurrentCursor(MeaCursor, e.X, e.Y); } MouseIsDoubleClick = false; } Invalidate(); ///重置光标选定信息和状态信息 MouseLeftIsDown = false; if (RefCursor != null) { RefCursor.Selected = false; } if (MeaCursor != null) { MeaCursor.Selected = false; } MouseState = "+"; }
public GuiWidget NewEditWidget(ThemeConfig theme) { var histogramWidget = new GuiWidget() { HAnchor = HAnchor.Stretch, Height = 60 * GuiWidget.DeviceScale, Margin = 5, }; var handleWidth = 10; var handleDeviceWidth = handleWidth * GuiWidget.DeviceScale; var histogramBackground = new GuiWidget() { HAnchor = HAnchor.Stretch, VAnchor = VAnchor.Stretch, Margin = new BorderDouble(handleWidth, 0) }; histogramBackground.AfterDraw += (s, e) => { var rangeStart = RangeStart; var rangeEnd = RangeEnd; var graphics2D = e.Graphics2D; graphics2D.Render(_histogramRawCache, 0, 0, histogramBackground.Width, histogramBackground.Height); graphics2D.FillRectangle(rangeStart * histogramBackground.Width, 0, rangeEnd * histogramBackground.Width, histogramBackground.Height, theme.PrimaryAccentColor.WithAlpha(60)); }; histogramWidget.AddChild(histogramBackground); void RenderHandle(Graphics2D g, double s, double e) { var w = g.Width; var h = g.Height; g.Line(w * e, 0, w * e, h, theme.TextColor); var leftEdge = new VertexStorage(); leftEdge.MoveTo(w * e, h * .80); leftEdge.curve3(w * e, h * .70, w * .5, h * .70); leftEdge.curve3(w * s, h * .60); leftEdge.LineTo(w * s, h * .40); leftEdge.curve3(w * s, h * .30, w * .5, h * .30); leftEdge.curve3(w * e, h * .20); g.Render(new FlattenCurves(leftEdge), theme.PrimaryAccentColor); g.Line(w * .35, h * .6, w * .35, h * .4, theme.BackgroundColor); g.Line(w * .65, h * .6, w * .65, h * .4, theme.BackgroundColor); } var leftHandle = new ImageWidget((int)(handleDeviceWidth), (int)histogramWidget.Height); leftHandle.Position = new Vector2(RangeStart * histogramBackground.Width, 0); var image = leftHandle.Image; RenderHandle(image.NewGraphics2D(), 0, 1); histogramWidget.AddChild(leftHandle); bool leftDown = false; var leftX = 0.0; leftHandle.MouseDown += (s, e) => { if (e.Button == MouseButtons.Left) { leftDown = true; leftX = e.Position.X; } }; leftHandle.MouseMove += (s, e) => { if (leftDown) { var offset = e.Position.X - leftX; var newStart = RangeStart + offset / histogramBackground.Width; newStart = agg_basics.Clamp(newStart, 0, RangeEnd); if (RangeStart != newStart) { RangeStart = newStart; leftHandle.Position = new Vector2(RangeStart * histogramBackground.Width, 0); RangeChanged?.Invoke(this, null); } } }; leftHandle.MouseUp += (s, e) => { if (leftDown) { leftDown = false; EditComplete?.Invoke(this, null); } }; var rightHandle = new ImageWidget((int)(handleDeviceWidth), (int)histogramWidget.Height); rightHandle.Position = new Vector2(RangeEnd * histogramBackground.Width + handleDeviceWidth, 0); image = rightHandle.Image; RenderHandle(image.NewGraphics2D(), 1, 0); histogramWidget.AddChild(rightHandle); bool rightDown = false; var rightX = 0.0; rightHandle.MouseDown += (s, e) => { if (e.Button == MouseButtons.Left) { rightDown = true; rightX = e.Position.X; } }; rightHandle.MouseMove += (s, e) => { if (rightDown) { var offset = e.Position.X - rightX; var newEnd = RangeEnd + offset / histogramBackground.Width; newEnd = agg_basics.Clamp(newEnd, RangeStart, 1); if (RangeEnd != newEnd) { RangeEnd = newEnd; rightHandle.Position = new Vector2(RangeEnd * histogramBackground.Width + handleDeviceWidth, 0); RangeChanged?.Invoke(this, null); } } }; rightHandle.MouseUp += (s, e) => { if (rightDown) { rightDown = false; EditComplete?.Invoke(this, null); } }; // grabing the center bool centerDown = false; var centerX = 0.0; var downStart = 0.0; var downEnd = 0.0; histogramBackground.MouseDown += (s, e) => { if (e.Button == MouseButtons.Left) { centerDown = true; centerX = e.Position.X; downStart = RangeStart; downEnd = RangeEnd; } }; histogramBackground.MouseMove += (s, e) => { if (centerDown) { var newStart = RangeStart; var newEnd = RangeEnd; var offset = e.Position.X - centerX; if (offset < 0) { newStart = Math.Max(downStart + offset / histogramBackground.Width, 0); newEnd = newStart + (downEnd - downStart); } else { newEnd = Math.Min(downEnd + offset / histogramBackground.Width, 1); newStart = newEnd - (downEnd - downStart); } if (RangeStart != newStart && RangeEnd != newEnd) { RangeStart = newStart; RangeEnd = newEnd; leftHandle.Position = new Vector2(RangeStart * histogramBackground.Width, 0); rightHandle.Position = new Vector2(RangeEnd * histogramBackground.Width + handleDeviceWidth, 0); RangeChanged?.Invoke(this, null); histogramBackground.Invalidate(); } } }; histogramBackground.MouseUp += (s, e) => { if (centerDown) { centerDown = false; EditComplete?.Invoke(this, null); } }; histogramBackground.BoundsChanged += (s, e) => { leftHandle.Position = new Vector2(RangeStart * histogramBackground.Width, 0); rightHandle.Position = new Vector2(RangeEnd * histogramBackground.Width + handleDeviceWidth, 0); }; return(histogramWidget); }
protected void OnRangeChanged(RangeChangedEventArgs e) { RangeChanged?.Invoke(e); }
private void PickerChange_Range(object sender, EventArgs e) => RangeChanged?.Invoke(sender, e);
private void OnRangeChanged(object sender, EventArgs e) { float.TryParse(txtRange.Text, out _range); _eventArgs.Range = _range; RangeChanged?.Invoke(this, _eventArgs); }
private void AscanToolLayout_MouseUp(object sender, MouseEventArgs e) { ///重置缩放区域 if (zoomRegion != null && zoomRegion.width != 0 && zoomRegion.height != 0 && !MouseIsDoubleClick) { FigCursors ft = new FigCursors(); InitialCursors(ref ft); ft.XPixel = zoomRegion.minX; ft.YPixel = zoomRegion.minY; float sx = ft.X; float ey = ft.Y; int xa = ft.XPixel; int ya = ft.YPixel; ft.XPixel = zoomRegion.minX + zoomRegion.width - 1; ft.YPixel = zoomRegion.minY + zoomRegion.height - 1; float ex = ft.X; float sy = ft.Y; int xb = ft.XPixel; int yb = ft.YPixel; /*Console.WriteLine(new Rectangle(xa, ya, xb - xa, yb - ya)); * Console.WriteLine("sx=" + sx.ToString()); * Console.WriteLine("ex=" + ex.ToString()); * Console.WriteLine("sy=" + sy.ToString()); * Console.WriteLine("ey=" + ey.ToString());*/ if (xb > xa & yb > ya) { StartX = sx; EndX = ex; StartY = sy; EndY = ey; RangeChanged?.Invoke(new float[] { StartX, EndX, StartY, EndY, zoomRegion.minX, zoomRegion.minY, zoomRegion.width, zoomRegion.height }); } } zoomRegion = null; ///1 鼠标双击时,设置光标,并获取当前光标相对位置 ///2 重置双击状态 if (MouseIsDoubleClick) { if (e.Button == MouseButtons.Left) { EnableCursors(ref ReferenceC, e.X, e.Y); } else { EnableCursors(ref MeasureC, e.X, e.Y); } MouseIsDoubleClick = false; } Invalidate(); ///重置光标选定信息和状态信息 MouseLeftIsDown = false; SetAllDisable(); MouseState = "+"; }
private void _delay_Tick(object sender, EventArgs e) { _delay.Stop(); RangeChanged?.Invoke(this, e); }