Пример #1
0
        private void InitializeChart()
        {
            tChart1.Series.Add(kGauge1 = new KnobGauge());
            kGauge1.Value = 1;

            tChart1.Series.Add(kGauge2 = new KnobGauge());
            kGauge2.Value = 99;

            timer1.Enabled = true;
            timer2.Enabled = true;

            SetUpNGauge1();
            SetUpNGauge2();

            tChart1.AfterDraw += new PaintChartEventHandler(tChart1_AfterDraw);
        }
        public BasicKnobGaugeChart(ChartView BaseChart)
        {
            knobGauge      = new KnobGauge();
            this.BaseChart = BaseChart;

            knobGauge.FillSampleValues(4);

            BaseChart.Chart.Series.Add(knobGauge);

            knobGauge.MinorTicks.Visible = false;
            knobGauge.Ticks.Visible      = false;

            BaseChart.Chart.Header.Visible           = false;
            BaseChart.Chart.Axes.Left.Labels.Visible = true;

            knobGauge.Axis.Increment = 10;
        }
Пример #3
0
        public CompassChart(ChartView BaseChart)
        {
            knobGauge      = new KnobGauge();
            this.BaseChart = BaseChart;
            var            = new Variables.Variables();
            backPointer    = new GaugeSeriesPointer(BaseChart.Chart, knobGauge);

            try
            {
                Compass.Start(SensorSpeed.UI);
                Compass.ReadingChanged += Compass_ReadingChanged;
            }
            catch (Exception) { }

            BaseChart.Chart.Panning.Active = true;
            BaseChart.Chart.Panning.Allow  = ScrollModes.Both;
            BaseChart.Chart.Zoom.Active    = true;
            BaseChart.Chart.Zoom.Allow     = true;

            knobGauge.FillSampleValues(4);

            BaseChart.Chart.Series.Add(knobGauge);

            knobGauge.MinorTicks.Visible             = false;
            knobGauge.Ticks.Visible                  = true;
            knobGauge.Ticks.Color                    = Color.FromRgb(120, 120, 120);
            knobGauge.Ticks.Pen.Visible              = false;
            knobGauge.Ticks.VertSize                 = 7;
            knobGauge.Ticks.HorizSize                = 2;
            knobGauge.AxisInside                     = true;
            BaseChart.Chart.Header.Visible           = false;
            BaseChart.Chart.Axes.Left.Labels.Visible = true;

            knobGauge.FaceBrush.Gradient.Visible     = true;
            knobGauge.FaceBrush.Gradient.UseMiddle   = true;
            knobGauge.FaceBrush.Gradient.Direction   = GradientDirection.Radial;
            knobGauge.FaceBrush.Gradient.StartColor  = Color.FromRgb(255, 255, 255);
            knobGauge.FaceBrush.Gradient.MiddleColor = Color.FromRgb(240, 240, 240);
            knobGauge.FaceBrush.Gradient.EndColor    = Color.FromRgb(220, 220, 220);
            knobGauge.RedLine.Visible         = false;
            knobGauge.GreenLine.Visible       = false;
            knobGauge.CircleBackColor         = Color.White;
            knobGauge.Color                   = Color.White;
            knobGauge.Axis.Labels.Font.Size   = 17;
            knobGauge.LabelsInside            = true;
            knobGauge.Axis.LabelsOnAxis       = false;
            knobGauge.Value                   = 1;
            knobGauge.Center.SizeDouble       = 10;
            knobGauge.Center.Color            = Color.FromRgb(64, 64, 64);
            knobGauge.Center.Gradient.Visible = false;
            knobGauge.Center.Shadow.Visible   = false;
            knobGauge.Center.Visible          = false;

            knobGauge.HighLightBrush.Visible = false;
            knobGauge.Axis.Increment         = 45;
            knobGauge.Maximum = 360;
            knobGauge.Rotate(180);
            knobGauge.TotalAngle = 360;

            knobGauge.Frame.Visible            = true;
            knobGauge.Frame.OuterBand.Visible  = false;
            knobGauge.Frame.MiddleBand.Visible = false;
            knobGauge.Frame.InnerBand.Visible  = true;
            knobGauge.Frame.InnerBand.Solid    = true;
            knobGauge.Frame.InnerBand.Color    = Color.FromRgb(170, 170, 170);
            knobGauge.Frame.Width = 2;
            knobGauge.Frame.FrameElementPercents = new double[3] {
                0, 0, 100
            };
            knobGauge.Frame.TotalAngle = 360;

            backPointer.VertSize         = 100;
            backPointer.Visible          = true;
            backPointer.Draw3D           = false;
            backPointer.Pen.Visible      = false;
            backPointer.Gradient.Visible = false;
            backPointer.Shadow.Visible   = false;
            backPointer.Style            = PointerStyles.DownTriangle;
            backPointer.Color            = Color.FromRgb(150, 150, 150);
            backPointer.HorizSize        = 49;

            knobGauge.Hands.Add(backPointer);

            knobGauge.HandDistances.Add(80);
            knobGauge.HandOffsets.Add(0);
            knobGauge.HandDistance = 80;
            knobGauge.HandOffset   = 0;

            knobGauge.Active = true;

            knobGauge.Hand.Color          = Color.Red;
            knobGauge.Hand.Style          = PointerStyles.DownTriangle;
            knobGauge.Hand.Shadow.Visible = false;

            BaseChart.Chart.Axes.Left.GetAxisDrawLabel += Left_GetAxisDrawLabel;

            knobGauge.mandatory.Capacity = 2;
            knobGauge.mandatory.Count    = 2;
        }
Пример #4
0
        // Modifica el valor de las series
        private void SliderValues_ValueChanged(object sender, ValueChangedEventArgs e)
        {
            var  type    = chart.Chart.Series[0];
            Type objType = chart.Chart.Series[0].GetType();

            if (type is CircularGauge)
            {
                Math.Round(((CircularGauge)chart.Chart.Series[0]).Value = e.NewValue, 2); ((CircularGauge)chart.Chart.Series[0]).mandatory[1] = -((CircularGauge)chart.Chart.Series[0]).mandatory[1] + e.NewValue;
            }
            else if (type is KnobGauge)
            {
                Math.Round(((KnobGauge)chart.Chart.Series[0]).Value = e.NewValue, 2);

                if (titleChart == "Temperature Knob")
                {
                    KnobGauge gauge = (KnobGauge)type;
                    if (gauge.Value < 0.25)
                    {
                        gauge.Hand.Color = gauge.GreenLine.Gradient.EndColor;
                    }
                    else if (gauge.Value < 0.5)
                    {
                        gauge.Hand.Color = gauge.GreenLine.Gradient.StartColor;
                    }
                    else if (gauge.Value == 0.5)
                    {
                        gauge.Hand.Color = Color.White;
                    }
                    else if (gauge.Value < 0.75)
                    {
                        gauge.Hand.Color = gauge.RedLine.Gradient.EndColor;
                    }
                    else
                    {
                        gauge.Hand.Color = gauge.RedLine.Gradient.StartColor;
                    }
                }
            }
            else if (type is LinearGauge)
            {
                if (titleChart == "Mobile Battery")
                {
                    var gauge = ((LinearGauge)chart.Chart.Series[0]);
                    gauge.Value = Math.Round(100 - e.NewValue, 2);
                    if (e.NewValue >= 0 && e.NewValue < 25)
                    {
                        gauge.ValueAreaBrush.Color = Color.FromRgb(255, 0, 0);
                    }
                    else if (e.NewValue >= 25 && e.NewValue < 50)
                    {
                        gauge.ValueAreaBrush.Color = Color.FromRgb(255, 140, 0);
                    }
                    else if (e.NewValue >= 50 && e.NewValue < 75)
                    {
                        gauge.ValueAreaBrush.Color = Color.FromRgb(255, 208, 0);
                    }
                    else
                    {
                        gauge.ValueAreaBrush.Color = Color.FromRgb(0, 195, 10);
                    }
                }
                else
                {
                    var gauge = ((LinearGauge)chart.Chart.Series[0]);
                    gauge.Value = Math.Round(e.NewValue, 2);
                }
            }


            settingSeriesValues.ValueItemText = e.NewValue.ToString();
        }
Пример #5
0
        public TemperatureKnobChart(ChartView BaseChart)
        {
            knobGauge           = new KnobGauge();
            this.BaseChart      = BaseChart;
            this.annotationCold = new Annotation();
            this.annotationHot  = new Annotation();

            annotationCold.Active = false;
            annotationHot.Active  = false;

            knobGauge.FillSampleValues(4);

            BaseChart.Chart.Series.Add(knobGauge);

            knobGauge.MinorTicks.Visible             = false;
            knobGauge.Ticks.Visible                  = false;
            BaseChart.Chart.Header.Visible           = false;
            BaseChart.Chart.Axes.Left.Labels.Visible = false;

            BaseChart.Chart.Tools.Add(annotationCold);
            BaseChart.Chart.Tools.Add(annotationHot);

            knobGauge.FaceBrush.Gradient.Visible    = false;
            knobGauge.FaceBrush.ForegroundColor     = Color.White;
            knobGauge.GreenLineStartValue           = 0;
            knobGauge.GreenLineEndValue             = 0.5;
            knobGauge.RedLineStartValue             = 0.5;
            knobGauge.RedLineEndValue               = 1;
            knobGauge.RedLine.Gradient.Visible      = true;
            knobGauge.RedLine.Gradient.Direction    = Steema.TeeChart.Drawing.GradientDirection.TopBottom;
            knobGauge.RedLine.Gradient.StartColor   = Color.FromRgb(255, 0, 0);
            knobGauge.RedLine.Gradient.EndColor     = Color.FromRgb(255, 255, 192);
            knobGauge.RedLine.HorizSize             = 10;
            knobGauge.GreenLine.Gradient.Visible    = true;
            knobGauge.GreenLine.Gradient.Direction  = Steema.TeeChart.Drawing.GradientDirection.BottomTop;
            knobGauge.GreenLine.Gradient.StartColor = Color.FromRgb(192, 255, 255);
            knobGauge.GreenLine.Gradient.EndColor   = Color.FromRgb(0, 0, 255);
            knobGauge.GreenLine.HorizSize           = 10;
            knobGauge.CircleBackColor               = Color.White;
            knobGauge.Color                   = Color.White;
            knobGauge.FaceBrush.Color         = Color.White;
            knobGauge.Axis.Labels.Font.Size   = 17;
            knobGauge.LabelsInside            = false;
            knobGauge.Axis.LabelsOnAxis       = false;
            knobGauge.Value                   = 0.38;
            knobGauge.Center.SizeDouble       = 40;
            knobGauge.Center.Color            = Color.FromRgb(64, 64, 64);
            knobGauge.Center.Gradient.Visible = false;
            knobGauge.Axis.Increment          = 1;
            knobGauge.Maximum                 = 1;

            annotationCold.Active               = true;
            annotationCold.AutoSize             = true;
            annotationCold.Text                 = "Cold";
            annotationCold.Left                 = BaseChart.Width / 4;
            annotationCold.Top                  = (((BaseChart.Parent as StackLayout).Parent as Grid).Parent as ContentPage).Height + 250;
            annotationCold.Shape.Shadow.Visible = false;
            annotationCold.Shape.Font.Size      = 20;
            annotationCold.Shape.Pen.Visible    = false;
            annotationCold.Shape.Color          = Color.Transparent;
            annotationCold.Shape.Font.Color     = knobGauge.GreenLine.Gradient.EndColor;

            annotationHot.Active               = true;
            annotationHot.AutoSize             = true;
            annotationHot.Text                 = "Hot";
            annotationHot.Left                 = BaseChart.Width + BaseChart.Width / 2;
            annotationHot.Top                  = (((BaseChart.Parent as StackLayout).Parent as Grid).Parent as ContentPage).Height + 250;
            annotationHot.Shape.Shadow.Visible = false;
            annotationHot.Shape.Font.Size      = 20;
            annotationHot.Shape.Pen.Visible    = false;
            annotationHot.Shape.Color          = Color.Transparent;
            annotationHot.Shape.Font.Color     = knobGauge.RedLine.Gradient.StartColor;

            ChangeHandColor();
        }