コード例 #1
0
 protected override void OnDrawingStopped()
 {
     _leftTriangle  = null;
     _rightTriangle = null;
     _xdLine        = null;
     _acLine        = null;
 }
コード例 #2
0
        private void DrawTriangle(ChartMouseEventArgs mouseEventArgs, string name, ref ChartTriangle triangle)
        {
            triangle = Chart.DrawTriangle(name, mouseEventArgs.TimeValue, mouseEventArgs.YValue, mouseEventArgs.TimeValue,
                                          mouseEventArgs.YValue, mouseEventArgs.TimeValue, mouseEventArgs.YValue, Color);

            triangle.IsInteractive = true;
        }
コード例 #3
0
        protected override void OnMouseDown(ChartMouseEventArgs obj)
        {
            var name = GetObjectName();

            _triangle = Chart.DrawTriangle(name, obj.TimeValue, obj.YValue, obj.TimeValue, obj.YValue, obj.TimeValue, obj.YValue, Color);

            _triangle.IsInteractive = true;
            _triangle.IsFilled      = true;
        }
コード例 #4
0
        private void DrawLabels(ChartTriangle leftTriangle, ChartTriangle rightTriangle, long id)
        {
            DrawLabelText("A", leftTriangle.Time1, leftTriangle.Y1, id);
            DrawLabelText("B", leftTriangle.Time2, leftTriangle.Y2, id);
            DrawLabelText("C", leftTriangle.Time3, leftTriangle.Y3, id);
            DrawLabelText("D", rightTriangle.Time3, rightTriangle.Y3, id);

            DrawLabelAc(leftTriangle, id);
            DrawLabelBd(leftTriangle, rightTriangle, id);
        }
コード例 #5
0
        private void DrawOtherLinesObjects(ChartTriangle leftTriangle, ChartTriangle rightTriangle, long id)
        {
            var acLineName = GetObjectName("ACLine", id);

            _acLine = Chart.DrawTrendLine(acLineName, leftTriangle.Time2, leftTriangle.Y2, rightTriangle.Time2, rightTriangle.Y2, Color, 1, LineStyle.Dots);

            _acLine.IsInteractive = true;
            _acLine.IsLocked      = true;

            var xdLineName = GetObjectName("XDLine", id);

            _xdLine = Chart.DrawTrendLine(xdLineName, leftTriangle.Time1, leftTriangle.Y1, rightTriangle.Time3, rightTriangle.Y3, Color, 1, LineStyle.Dots);

            _xdLine.IsInteractive = true;
            _xdLine.IsLocked      = true;
        }
コード例 #6
0
        private void DrawLabels(ChartTriangle leftTriangle, ChartTriangle rightTriangle, ChartTrendLine acLine, ChartTrendLine xdLine, long id)
        {
            DrawLabelText("X", leftTriangle.Time1, leftTriangle.Y1, id);

            DrawLabelText("A", leftTriangle.Time2, leftTriangle.Y2, id);

            DrawLabelText("B", leftTriangle.Time3, leftTriangle.Y3, id);

            DrawLabelText("C", rightTriangle.Time2, rightTriangle.Y2, id);

            DrawLabelText("D", rightTriangle.Time3, rightTriangle.Y3, id);

            DrawOrUpdateAcLabel(leftTriangle, rightTriangle, acLine, id);

            DrawOrUpdateXdLabel(leftTriangle, rightTriangle, xdLine, id);

            DrawOrUpdateBdLabel(rightTriangle, id);
        }
コード例 #7
0
        private void DrawOrUpdateAcLabel(ChartTriangle leftTriangle, ChartTriangle rightTriangle, ChartTrendLine line, long id, ChartText label = null)
        {
            var labelTime = line.GetLineCenterTime();

            var labelY = line.GetLineCenterY();

            var acLength = rightTriangle.Y2 - leftTriangle.Y2;

            var xaLength = leftTriangle.Y2 - leftTriangle.Y1;

            var ratio = Math.Round(1 + acLength / xaLength, 3);

            if (label == null)
            {
                DrawLabelText(ratio.ToString(), labelTime, labelY, id, objectNameKey: "AC");
            }
            else
            {
                label.Text = ratio.ToString();
                label.Time = labelTime;
                label.Y    = labelY;
            }
        }
コード例 #8
0
        private void DrawOrUpdateXbLabel(ChartTriangle leftTriangle, long id, ChartText label = null)
        {
            var abLength = leftTriangle.Y2 - leftTriangle.Y3;

            var xaLength = leftTriangle.Y2 - leftTriangle.Y1;

            var ratio = Math.Round(abLength / xaLength, 3);

            var labelTime = leftTriangle.Time1.AddMilliseconds((leftTriangle.Time3 - leftTriangle.Time1).TotalMilliseconds * 0.7);

            var labelY = leftTriangle.Y1 + ((leftTriangle.Y3 - leftTriangle.Y1) / 2);

            if (label == null)
            {
                DrawLabelText(ratio.ToString(), labelTime, labelY, id, objectNameKey: "XB");
            }
            else
            {
                label.Text = ratio.ToString();
                label.Time = labelTime;
                label.Y    = labelY;
            }
        }
コード例 #9
0
        private void DrawOrUpdateBdLabel(ChartTriangle rightTriangle, long id, ChartText label = null)
        {
            var cdLength = rightTriangle.Y2 - rightTriangle.Y3;

            var bcLength = rightTriangle.Y2 - rightTriangle.Y1;

            var ratio = Math.Round(cdLength / bcLength, 3);

            var labelTime = rightTriangle.Time1.AddMilliseconds((rightTriangle.Time3 - rightTriangle.Time1).TotalMilliseconds * 0.3);

            var labelY = rightTriangle.Y1 + ((rightTriangle.Y3 - rightTriangle.Y1) / 2);

            if (label == null)
            {
                DrawLabelText(ratio.ToString(), labelTime, labelY, id, objectNameKey: "BD");
            }
            else
            {
                label.Text = ratio.ToString();
                label.Time = labelTime;
                label.Y    = labelY;
            }
        }
コード例 #10
0
        private void DrawLabelBd(ChartTriangle leftTriangle, ChartTriangle rightTriangle, long id, ChartText label = null)
        {
            var abLength = leftTriangle.Y2 - leftTriangle.Y1;

            var bdLength = rightTriangle.Y3 - rightTriangle.Y2;

            var ratio = Math.Round(1 + bdLength / abLength, 3);

            var labelTime = rightTriangle.Time2.AddMilliseconds((rightTriangle.Time3 - rightTriangle.Time2).TotalMilliseconds * 0.7);

            var labelY = rightTriangle.Y2 + ((rightTriangle.Y3 - rightTriangle.Y2) / 2);

            if (label == null)
            {
                DrawLabelText(ratio.ToString(), labelTime, labelY, id, objectNameKey: "BD");
            }
            else
            {
                label.Text = ratio.ToString();
                label.Time = labelTime;
                label.Y    = labelY;
            }
        }
コード例 #11
0
 protected override void OnDrawingStopped()
 {
     _leftTriangle  = null;
     _rightTriangle = null;
     _headTriangle  = null;
 }
コード例 #12
0
 private void DrawLabels(ChartTriangle leftTriangle, ChartTriangle headTriangle, ChartTriangle rightTriangle, long id)
 {
     DrawLabelText("Left", leftTriangle.Time2, leftTriangle.Y2, id);
     DrawLabelText("Head", headTriangle.Time2, headTriangle.Y2, id);
     DrawLabelText("Right", rightTriangle.Time2, rightTriangle.Y2, id);
 }
コード例 #13
0
 private void DrawLabels(ChartTriangle triangle, long id)
 {
     DrawLabelText("A", triangle.Time1, triangle.Y1, id);
     DrawLabelText("B", triangle.Time2, triangle.Y2, id);
     DrawLabelText("C", triangle.Time3, triangle.Y3, id);
 }
コード例 #14
0
 protected override void OnDrawingStopped()
 {
     _triangle = null;
 }