예제 #1
0
 /// <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);
     }
 }
예제 #2
0
        ////////////////////////////////////////////////////////////////////////////

        ////////////////////////////////////////////////////////////////////////////
        protected virtual void OnRangeChanged(EventArgs e)
        {
            if (RangeChanged != null)
            {
                RangeChanged.Invoke(this, e);
            }
        }
예제 #3
0
파일: Axis.cs 프로젝트: ZiTsi/Live-Charts
 /// <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);
     }
 }
예제 #5
0
        protected async Task OnSelectDateInternal(SelectedDateResult result)
        {
            SelectedDate = result.Date;
            await OnSelectDate.InvokeAsync(result);

            await ValueChanged.InvokeAsync(result.Date);

            await RangeChanged.InvokeAsync(result.SelectedDateRange);
        }
예제 #6
0
        protected void OnRangeChanged()
        {
            var r = MinValue == null || MaxValue == null ? double.NaN : MaxValue - MinValue;

            if (RangeChanged != null)
            {
                RangeChanged.Invoke(r ?? double.NaN);
            }
        }
예제 #7
0
        public async void hasChanged(long start, long end, string label)
        {
            //var startDate = UnixTimeStampToDateTime(start);
            Range = new Range <DateTime>(
                new DateTime(1970, 1, 1).AddTicks(start * 10000).ToLocalTime(),
                new DateTime(1970, 1, 1).AddTicks(end * 10000).ToLocalTime());
            await RangeChanged.InvokeAsync(Range);

            await OnRangeChanged.InvokeAsync(Range);
        }
예제 #8
0
        protected async Task OnSelectDateInternal(SelectedDateResult result)
        {
            SelectedDate = result.Date;
            CascadedEditContext?.NotifyFieldChanged(FieldIdentifier);
            await OnSelectDate.InvokeAsync(result);

            await ValueChanged.InvokeAsync(result.Date);

            await RangeChanged.InvokeAsync(result.SelectedDateRange);
        }
예제 #9
0
 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();
     }
 }
예제 #10
0
        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 = "+";
        }
예제 #11
0
 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;
 }
예제 #12
0
 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 });
 }
예제 #13
0
        protected override void BeforeDelete()
        {
            base.BeforeDelete();

            if (RangeChanged != null)
            {
                foreach (var handler in RangeChanged.GetInvocationList())
                {
                    RangeChanged -= (StorageChanged)handler;
                }
            }

            if (Storage != null && !Storage.Shared && !(this is MyVoxelPhysics))
            {
                Storage.Close();
            }
        }
예제 #14
0
        public virtual void CloseInternal()
        {
            using (m_lock.AcquireExclusiveUsing())
            {
                Closed = true;
                if (RangeChanged != null)
                {
                    foreach (var handler in RangeChanged.GetInvocationList())
                    {
                        RangeChanged -= (RangeChangedDelegate)handler;
                    }
                }

                if (DataProvider != null)
                {
                    DataProvider.Close();
                }
            }
        }
예제 #15
0
        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 });
        }
예제 #16
0
        public virtual void CloseInternal()
        {
            using (m_storageLock.AcquireExclusiveUsing())
            {
                Closed = true;
                if (RangeChanged != null)
                {
                    foreach (var handler in RangeChanged.GetInvocationList())
                    {
                        RangeChanged -= (RangeChangedDelegate)handler;
                    }
                }

                if (DataProvider != null)
                {
                    DataProvider.Close();
                }
            }

            if (CachedWrites)
            {
                OperationsComponent.Remove(this);
            }
        }
예제 #17
0
 private void PickerChange_Range(object sender, EventArgs e) => RangeChanged?.Invoke(sender, e);
예제 #18
0
        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 = "+";
        }
예제 #19
0
 private void _delay_Tick(object sender, EventArgs e)
 {
     _delay.Stop();
     RangeChanged?.Invoke(this, e);
 }
예제 #20
0
        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 = "+";
        }
예제 #21
0
 private void OnRangeChanged(object sender, EventArgs e)
 {
     float.TryParse(txtRange.Text, out _range);
     _eventArgs.Range = _range;
     RangeChanged?.Invoke(this, _eventArgs);
 }
예제 #22
0
 public FormFileInfo()
 {
     InitializeComponent();
     RangeChangedMethod += UpdateFileInfo;
 }
예제 #23
0
        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);
        }
예제 #24
0
 private static void OnRangeChanged(EventArgs e)
 {
     RangeChanged?.Invoke(null, e);
 }
예제 #25
0
 protected void OnRangeChanged(RangeChangedEventArgs e)
 {
     RangeChanged?.Invoke(e);
 }