Example #1
0
        private void ResetChart()
        {
            _drawings = new List <SelectedFigureBase>();

            _zoomArea                = null;
            _selectedDrawing         = null;
            _tempDrawing             = null;
            _drawAdditionChartHelper = null;

            _actions      = DrawingActions.Default;
            _chartHelpers = ChartHelpers.Default;
            _isZoomed     = true;

            SetForChartMinMaxPoints(0);
        }
Example #2
0
        private void SetChanges()
        {
            if (_tempDrawing == null)
            {
                return;
            }

            var isComplited = _tempDrawing.SetPosition(_mousePisition);

            if (isComplited)
            {
                _drawings.Add(_tempDrawing);
                _actions     = DrawingActions.Default;
                _tempDrawing = null;
            }
        }
Example #3
0
        private void ReplacingFigure()
        {
            var crossedFigure = _selectedDrawing.FigureToReplace(_mousePisition);

            if (crossedFigure == null)
            {
                return;
            }

            _drawings.Remove(_selectedDrawing);

            _selectedDrawing = null;

            _tempDrawing = crossedFigure;

            _actions = DrawingActions.LineDrawing;
        }
Example #4
0
        public Chart()
        {
            InitializeComponent();

            #region Init

            _resize    = 0;
            _isResized = true;
            _isZoomed  = true;

            _mousePisition = new ScreenPoint();
            _drawings      = new List <SelectedFigureBase>();

            _barType      = BarType.OHLC;
            _actions      = DrawingActions.Default;
            _chartHelpers = ChartHelpers.Default;

            var windowSize = new Size(800, 800);
            SetRenderSettings(windowSize);

            _chart          = new ChartDrawing(ClientSize.Width, ClientSize.Height, _d2DRenderTarget, TimingBy.Minute);
            _chartRendering = new ChartRendering.ChartRendering(_d2DRenderTarget, _textFormat, _chart);
            GenerateBars();
            SetForChartMinMaxPoints(0);

            _borders = new RectangleF(windowSize.Width * _chart.Paddings.PaddingLeftRatio,
                                      windowSize.Height * _chart.Paddings.PaddingTopRatio, _chart.ChartWidth, _chart.ChartHeight);
            #endregion

            #region FormHandlers

            KeyDown    += OnKeyDown;
            MouseDown  += OnMouseDown;
            MouseClick += OnMouseClick;
            MouseWheel += OnMouseWheel;
            MouseMove  += OnMouseMove;
            Resize     += OnResizeEnd;
            Closing    += OnClosing;

            #endregion

            _callback += RenderChart;
            RenderLoop.Run(this, _callback);
        }
Example #5
0
        private void KeyKeyboardChecker(Keys key)
        {
            switch (key)
            {
            case Keys.Escape:
            {
                _renderForm.Close();
                this.Hide();
                this.Close();
                break;
            }

            case Keys.D1:
            {
                if (_barType != BarType.Candle)
                {
                    _barType = BarType.Candle;

                    SetForChartMinMaxPoints(_barRendering.Skip);

                    _barRendering = new BarCandle(_d2DRenderTarget, _barRendering.Bars, _chart, _barRendering.Skip);
                    break;
                }
                break;
            }

            case Keys.D2:
            {
                if (_barType != BarType.OHLC)
                {
                    _barType = BarType.OHLC;

                    SetForChartMinMaxPoints(_barRendering.Skip);

                    _barRendering = new BarOHLC(_d2DRenderTarget, _barRendering.Bars, _chart, _barRendering.Skip);
                    break;
                }
                break;
            }

            case Keys.Q:
            {
                if (_chartHelpers != ChartHelpers.Net)
                {
                    _chartHelpers = ChartHelpers.Net;

                    _drawAdditionChartHelper = DrawNet;

                    break;
                }
                _drawAdditionChartHelper -= DrawNet;

                _chartHelpers = ChartHelpers.Default;
                break;
            }

            case Keys.W:
            {
                if (_chartHelpers != ChartHelpers.Lines)
                {
                    _chartHelpers = ChartHelpers.Lines;

                    _drawAdditionChartHelper = DrawLines;
                    break;
                }

                _drawAdditionChartHelper -= DrawLines;
                _chartHelpers             = ChartHelpers.Default;
                break;
            }

            case Keys.E:
            {
                if (_actions != DrawingActions.LineDrawing)
                {
                    _actions     = DrawingActions.LineDrawing;
                    _tempDrawing = new LineFigure(_d2DRenderTarget);
                    break;
                }

                _tempDrawing = null;
                _actions     = DrawingActions.Default;
                break;
            }

            case Keys.R:
            {
                if (_actions != DrawingActions.RectangleDrawing)
                {
                    _tempDrawing = new RectangleFigure(_d2DRenderTarget);
                    _actions     = DrawingActions.RectangleDrawing;
                    break;
                }

                _tempDrawing = null;
                _actions     = DrawingActions.Default;
                break;
            }

            case Keys.T:
            {
                if (_actions != DrawingActions.EllipseDrawing)
                {
                    _tempDrawing = new EllipseFigure(_d2DRenderTarget);
                    _actions     = DrawingActions.EllipseDrawing;
                    break;
                }

                _tempDrawing = null;
                _actions     = DrawingActions.Default;
                break;
            }

            case Keys.A:
            {
                if (_actions != DrawingActions.StraightLineXDrawing)
                {
                    _actions = DrawingActions.StraightLineXDrawing;
                    break;
                }

                _actions = DrawingActions.Default;
                break;
            }

            case Keys.S:
            {
                if (_actions != DrawingActions.StraightLineYDrawing)
                {
                    _actions = DrawingActions.StraightLineYDrawing;
                    break;
                }

                _actions = DrawingActions.Default;
                break;
            }

            case Keys.Z:
            {
                if (_chartHelpers != ChartHelpers.Zoom)
                {
                    _zoomArea     = null;
                    _chartHelpers = ChartHelpers.Zoom;
                    break;
                }

                _chartHelpers = ChartHelpers.Default;
                break;
            }

            case Keys.Delete:
            {
                RemoveFigure();
                break;
            }

            case Keys.C:
            {
                _chart.ChangeColor();
                break;
            }

            case Keys.Enter:
            {
                ResetChart();
                break;
            }
            }
        }