public GaugeCustomization()
        {
            gauge1             = new SFCircularGauge();
            rangePointerColor  = new UIPickerView();
            needlePointerColor = new UIPickerView();
            rangeColor         = new UIPickerView();
            SFGaugeHeader header1 = new SFGaugeHeader();

            header1.Position  = new CGPoint(0.5, 0.06);
            header1.Text      = (Foundation.NSString) "800 GB";
            header1.TextColor = UIColor.Black;
            header1.TextStyle = UIFont.SystemFontOfSize(20);
            gauge1.Headers.Add(header1);

            SFCircularScale scale1 = new SFCircularScale();

            scale1.StartAngle            = 110;
            scale1.SweepAngle            = 250;
            scale1.StartValue            = 0;
            scale1.EndValue              = 1000;
            scale1.Interval              = 500;
            scale1.ShowLabels            = false;
            scale1.ShowTicks             = false;
            scale1.ShowRim               = false;
            scale1.MinorTicksPerInterval = 0;

            pointer1                 = new SFRangePointer();
            pointer1.Value           = 800;
            pointer1.KnobRadius      = 0;
            pointer1.EnableAnimation = false;
            pointer1.Color           = UIColor.FromRGB(255, 221, 0);
            pointer1.KnobColor       = UIColor.FromRGB(255, 221, 0);
            pointer1.Width           = 20;
            pointer1.Offset          = 0.7f;
            scale1.Pointers.Add(pointer1);

            pointer2                  = new SFNeedlePointer();
            pointer2.Value            = 800;
            pointer2.Color            = UIColor.FromRGB(66, 66, 66);
            pointer2.PointerType      = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle;
            pointer2.LengthFactor     = 0.7f;
            pointer2.Width            = 5f;
            pointer2.KnobRadiusFactor = 0.1f;
            pointer2.KnobColor        = UIColor.FromRGB(66, 66, 66);
            scale1.Pointers.Add(pointer2);

            range            = new SFCircularRange();
            range.StartValue = 0;
            range.EndValue   = 1000;
            range.Offset     = 0.7f;
            range.Width      = 20;
            range.Color      = UIColor.FromRGB(224, 224, 224);
            scale1.Ranges.Add(range);
            gauge1.Scales.Add(scale1);

            gauge2 = new SFCircularGauge();
            SFGaugeHeader header2 = new SFGaugeHeader();

            header2.Position  = new CGPoint(0.5, 0.5);
            header2.Text      = (Foundation.NSString) "800 GB";
            header2.TextColor = UIColor.Black;
            header2.TextStyle = UIFont.SystemFontOfSize(20);
            SFGaugeHeader header3 = new SFGaugeHeader();

            header3.Position  = new CGPoint(0.5, 0.6);
            header3.Text      = (Foundation.NSString) "Used";
            header3.TextColor = UIColor.Gray;
            header3.TextStyle = UIFont.SystemFontOfSize(18);
            gauge2.Headers.Add(header2);
            gauge2.Headers.Add(header3);

            SFCircularScale scale2 = new SFCircularScale();

            scale2.StartAngle            = -180;
            scale2.SweepAngle            = 180;
            scale2.StartValue            = 0;
            scale2.EndValue              = 1000;
            scale2.Interval              = 500;
            scale2.ShowLabels            = false;
            scale2.ShowTicks             = false;
            scale2.ShowRim               = false;
            scale2.MinorTicksPerInterval = 0;

            pointer3                 = new SFRangePointer();
            pointer3.Value           = 800;
            pointer3.EnableAnimation = false;
            pointer3.Color           = UIColor.FromRGB(255, 221, 0);
            pointer3.Width           = 20;
            pointer3.Offset          = 0.8f;
            scale2.Pointers.Add(pointer3);

            range1            = new SFCircularRange();
            range1.StartValue = 0;
            range1.EndValue   = 1000;
            range1.Offset     = 0.8f;
            range1.Width      = 20;
            range1.Color      = UIColor.FromRGB(224, 224, 224);
            scale2.Ranges.Add(range1);
            gauge2.Scales.Add(scale2);
            this.AddSubview(gauge1);
            this.AddSubview(gauge2);
            CreateOptionView();
            this.OptionView = option;
        }
        public CircularGauge()
        {
            gauge = new SFCircularGauge();
            gauge.Scales.Add(new SFCircularScale());
            NSMutableArray scales = new NSMutableArray();

            scale            = new SFCircularScale();
            scale.StartValue = 0;
            scale.EndValue   = 100;
            scale.Interval   = 10;
            scale.StartAngle = 35;
            scale.SweepAngle = 320;
            scale.RimWidth   = 5;
            //	scale.LabelPostfix = (NSString)"%";
            scale.ShowTicks  = true;
            scale.ShowLabels = true;
            scale.RimColor   = UIColor.FromRGB((byte)209, (byte)70, (byte)70);

            scale.LabelColor            = UIColor.Gray;
            scale.LabelOffset           = 0.3f;
            scale.MinorTicksPerInterval = 0;

            NSMutableArray pointers = new NSMutableArray();

            needlePointer              = new SFNeedlePointer();
            needlePointer.Value        = 60;
            needlePointer.Color        = UIColor.Gray;
            needlePointer.KnobRadius   = 12;
            needlePointer.KnobColor    = UIColor.FromRGB(43, 191, 184);
            needlePointer.Width        = 3;
            needlePointer.LengthFactor = nfloat.Parse("0.8");
            //	needlePointer.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeBar;

            rangePointer       = new SFRangePointer();
            rangePointer.Value = 60;
            rangePointer.Color = UIColor.FromRGB(43, 191, 184);
            rangePointer.Width = 5;
            pointers.Add(needlePointer);
            pointers.Add(rangePointer);

            SFTickSettings minor = new SFTickSettings();

            minor.Size              = 4;
            minor.Color             = UIColor.FromRGB(68, 68, 68);
            minor.Width             = 3;
            scale.MinorTickSettings = minor;

            SFTickSettings major = new SFTickSettings();

            major.Size              = 12;
            major.Offset            = 0.2f;
            major.Color             = UIColor.FromRGB(68, 68, 68);
            major.Width             = 2;
            scale.MajorTickSettings = major;
            scale.Pointers          = pointers;
            scales.Add(scale);
            gauge.Scales = scales;

            SFGaugeHeader header = new SFGaugeHeader();

            header.Text      = (NSString)"Speedometer";
            header.Position  = new CGPoint(0.4f, 0.7f);
            header.TextColor = UIColor.Gray;
            gauge.Headers.Add(header);


            this.AddSubview(gauge);
            this.control = gauge;
        }
Example #3
0
        public Pointers()
        {
            scroll = new UIScrollView();
            gauge1 = new SFCircularGauge();
            SFGaugeHeader header1 = new SFGaugeHeader();

            header1.Position  = new CGPoint(0.5, 0.6);
            header1.TextStyle = UIFont.SystemFontOfSize(14);
            header1.Text      = (Foundation.NSString) "Inverted Triangle";
            header1.TextColor = UIColor.Black;
            gauge1.Headers.Add(header1);

            SFCircularScale scale1 = new SFCircularScale();

            scale1.StartAngle            = 90;
            scale1.SweepAngle            = 270;
            scale1.ScaleStartOffset      = 0.7f;
            scale1.ScaleEndOffSet        = 0.68f;
            scale1.StartValue            = 0;
            scale1.EndValue              = 100;
            scale1.RimColor              = UIColor.Gray;
            scale1.Interval              = 50;
            scale1.ShowLabels            = false;
            scale1.ShowTicks             = false;
            scale1.MinorTicksPerInterval = 0;

            SFMarkerPointer pointer1 = new SFMarkerPointer();

            pointer1.Value       = 80;
            pointer1.Offset      = 0.7f;
            pointer1.MarkerShape = MarkerShape.InvertedTriangle;
            pointer1.Color       = UIColor.FromRGB(0, 180, 174);
            scale1.Pointers.Add(pointer1);

            gauge1.Scales.Add(scale1);


            gauge2 = new SFCircularGauge();
            SFGaugeHeader header2 = new SFGaugeHeader();

            header2.Position  = new CGPoint(0.5, 0.6);
            header2.TextStyle = UIFont.SystemFontOfSize(14);
            header2.Text      = (Foundation.NSString) "Triangle";
            header2.TextColor = UIColor.Black;
            gauge2.Headers.Add(header2);

            SFCircularScale scale2 = new SFCircularScale();

            scale2.StartAngle            = 90;
            scale2.SweepAngle            = 270;
            scale2.ScaleStartOffset      = 0.7f;
            scale2.ScaleEndOffSet        = 0.68f;
            scale2.StartValue            = 0;
            scale2.EndValue              = 100;
            scale2.RimColor              = UIColor.Gray;
            scale2.Interval              = 50;
            scale2.ShowLabels            = false;
            scale2.ShowTicks             = false;
            scale2.MinorTicksPerInterval = 0;

            SFMarkerPointer pointer2 = new SFMarkerPointer();

            pointer2.Value       = 80;
            pointer2.Offset      = 0.68f;
            pointer2.MarkerShape = MarkerShape.Triangle;
            pointer2.Color       = UIColor.Green;
            scale2.Pointers.Add(pointer2);

            gauge2.Scales.Add(scale2);

            gauge3 = new SFCircularGauge();
            SFGaugeHeader header3 = new SFGaugeHeader();

            header3.Position  = new CGPoint(0.5, 0.6);
            header3.TextStyle = UIFont.SystemFontOfSize(14);
            header3.Text      = (Foundation.NSString) "Range Pointer";
            header3.TextColor = UIColor.Black;
            gauge3.Headers.Add(header3);

            SFCircularScale scale3 = new SFCircularScale();

            scale3.StartAngle            = 90;
            scale3.SweepAngle            = 270;
            scale3.ScaleStartOffset      = 0.7f;
            scale3.ScaleEndOffSet        = 0.68f;
            scale3.StartValue            = 0;
            scale3.EndValue              = 100;
            scale3.RimColor              = UIColor.Gray;
            scale3.Interval              = 50;
            scale3.ShowLabels            = false;
            scale3.ShowTicks             = false;
            scale3.MinorTicksPerInterval = 0;

            SFRangePointer pointer3 = new SFRangePointer();

            pointer3.Value  = 60;
            pointer3.Offset = 0.6f;
            pointer3.Width  = 15;
            pointer3.Color  = UIColor.FromRGB(255, 38, 128);
            scale3.Pointers.Add(pointer3);
            gauge3.Scales.Add(scale3);


            gauge4 = new SFCircularGauge();
            SFGaugeHeader header4 = new SFGaugeHeader();

            header4.Position  = new CGPoint(0.5, 0.7);
            header4.TextStyle = UIFont.SystemFontOfSize(14);
            header4.Text      = (Foundation.NSString) "Multiple Needle";
            header4.TextColor = UIColor.Black;
            gauge4.Headers.Add(header4);

            SFCircularScale scale4 = new SFCircularScale();

            scale4.StartAngle            = 90;
            scale4.SweepAngle            = 270;
            scale4.ScaleStartOffset      = 0.7f;
            scale4.ScaleEndOffSet        = 0.68f;
            scale4.StartValue            = 0;
            scale4.EndValue              = 100;
            scale4.RimColor              = UIColor.Gray;
            scale4.Interval              = 50;
            scale4.ShowLabels            = false;
            scale4.ShowTicks             = false;
            scale4.MinorTicksPerInterval = 0;


            SFNeedlePointer pointer4 = new SFNeedlePointer();

            pointer4.Value        = 80;
            pointer4.Color        = UIColor.Purple;
            pointer4.LengthFactor = 0.7f;
            pointer4.KnobRadius   = 0;
            pointer4.Width        = 10;
            pointer4.PointerType  = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle;
            scale4.Pointers.Add(pointer4);

            gauge4.Scales.Add(scale4);

            gauge5 = new SFCircularGauge();
            SFGaugeHeader header5 = new SFGaugeHeader();

            header5.Position  = new CGPoint(0.5, 0.6);
            header5.TextStyle = UIFont.SystemFontOfSize(14);
            header5.Text      = (Foundation.NSString) "Needle Pointer";
            header5.TextColor = UIColor.Black;
            gauge5.Headers.Add(header5);

            SFCircularScale scale5 = new SFCircularScale();

            scale5.StartAngle            = 90;
            scale5.SweepAngle            = 270;
            scale5.ScaleStartOffset      = 0.7f;
            scale5.ScaleEndOffSet        = 0.68f;
            scale5.StartValue            = 0;
            scale5.EndValue              = 100;
            scale5.RimColor              = UIColor.Gray;
            scale5.Interval              = 50;
            scale5.ShowLabels            = false;
            scale5.ShowTicks             = false;
            scale5.MinorTicksPerInterval = 0;


            SFNeedlePointer pointer5 = new SFNeedlePointer();

            pointer5.Value            = 40;
            pointer5.Color            = UIColor.Purple;
            pointer5.LengthFactor     = 0.5f;
            pointer5.KnobRadiusFactor = 0.05f;
            pointer5.Width            = 10;
            pointer5.KnobColor        = UIColor.White;
            pointer5.KnobStrokeColor  = UIColor.FromRGB(237, 125, 49);
            pointer5.KnobStrokeWidth  = 2f;
            pointer5.TailLengthFactor = 0.2f;
            pointer5.TailColor        = UIColor.FromRGB(237, 125, 49);
            pointer5.TailStrokeColor  = UIColor.FromRGB(237, 125, 49);
            pointer5.PointerType      = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle;
            scale5.Pointers.Add(pointer5);

            SFNeedlePointer pointer6 = new SFNeedlePointer();

            pointer6.Value            = 70;
            pointer6.Color            = UIColor.Purple;
            pointer6.LengthFactor     = 0.6f;
            pointer6.KnobRadiusFactor = 0.05f;
            pointer6.Width            = 10;
            pointer6.KnobColor        = UIColor.White;
            pointer6.KnobStrokeColor  = UIColor.FromRGB(237, 125, 49);
            pointer6.KnobStrokeWidth  = 2f;
            pointer6.TailLengthFactor = 0.25f;
            pointer6.TailColor        = UIColor.FromRGB(237, 125, 49);
            pointer6.TailStrokeColor  = UIColor.FromRGB(237, 125, 49);
            pointer6.PointerType      = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle;
            scale5.Pointers.Add(pointer6);

            gauge5.Scales.Add(scale5);

            scroll.AddSubview(gauge1);
            scroll.AddSubview(gauge2);
            scroll.AddSubview(gauge3);
            scroll.AddSubview(gauge4);
            scroll.AddSubview(gauge5);

            this.AddSubview(scroll);
        }
Example #4
0
        void SetupChart()
        {
            var totalExpenses  = (nfloat)_category.GetExpenses().Sum(e => e.Value);
            var circularGauge  = new SFCircularGauge();
            var maxChartNumber = _category.Plan > 10 ? _category.Plan : 10;
            var scale          = new SFCircularScale()
            {
                StartValue            = 0,
                EndValue              = (nfloat)maxChartNumber,
                StartAngle            = 40,
                SweepAngle            = 320,
                RimWidth              = 6,
                Interval              = (int)maxChartNumber / 6,
                ShowTicks             = true,
                RimColor              = StaticValues.LightBlue,
                MinorTicksPerInterval = 0,
                LabelOffset           = 0.1f,
                MajorTickSettings     = new SFTickSettings()
                {
                    Color  = StaticValues.LightBlue,
                    Size   = 2,
                    Offset = 0.041f,
                    Width  = 1.5f
                },
                MinorTickSettings = new SFTickSettings()
                {
                    Color  = StaticValues.LightBlue,
                    Size   = 8,
                    Offset = 0.5f
                }
            };

            var needlePointer = new SFNeedlePointer()
            {
                Value        = totalExpenses,
                KnobColor    = StaticValues.DarkBlue,
                KnobRadius   = 12,
                Width        = 1,
                LengthFactor = 0.7f,
                Color        = StaticValues.LightBlue
            };

            scale.Pointers.AddObjects(new List <SFNeedlePointer>()
            {
                needlePointer
            }.ToArray());

            var rangePointer = new SFRangePointer()
            {
                Value = totalExpenses,
                Width = 6,
                Color = StaticValues.DarkBlue
            };

            scale.Pointers.AddObjects(new List <SFRangePointer>()
            {
                rangePointer
            }.ToArray());
            circularGauge.Scales.AddObjects(new List <SFCircularScale>()
            {
                scale
            }.ToArray());

            circularGauge.Frame = new RectangleF(10, 10,
                                                 (float)CategoryDetail_Chart.Bounds.Width - 10,
                                                 (float)CategoryDetail_Chart.Bounds.Height + 10);
            CategoryDetail_Chart.AddSubview(circularGauge);
        }
Example #5
0
        void CreateCircularGauge()
        {
            m_circularGauge       = new SFCircularGauge();
            m_circularGauge.Frame = m_rect;

            ObservableCollection <SFCircularScale> scales = new ObservableCollection <SFCircularScale>();

            m_circularScale                       = new SFCircularScale();
            m_circularScale.StartValue            = 0;
            m_circularScale.EndValue              = 100;
            m_circularScale.Interval              = 10;
            m_circularScale.StartAngle            = 34;
            m_circularScale.SweepAngle            = 325;
            m_circularScale.ShowTicks             = true;
            m_circularScale.ShowLabels            = true;
            m_circularScale.ShowRim               = true;
            m_circularScale.LabelColor            = UIColor.Gray;
            m_circularScale.LabelOffset           = 0.8f;
            m_circularScale.MinorTicksPerInterval = 0;
            ObservableCollection <SFCircularPointer> pointers = new ObservableCollection <SFCircularPointer>();

            m_needlePointer              = new SFNeedlePointer();
            m_needlePointer.Value        = 60;
            m_needlePointer.Color        = UIColor.Gray;
            m_needlePointer.KnobRadius   = 12;
            m_needlePointer.KnobColor    = UIColor.FromRGB(43, 191, 184);
            m_needlePointer.Width        = 3;
            m_needlePointer.LengthFactor = 0.8f;
            //  needlePointer.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeBar;

            m_rangePointer1                 = new SFRangePointer();
            m_rangePointer1.Value           = 60;
            m_rangePointer1.Color           = UIColor.FromRGB(43, 191, 184);
            m_rangePointer1.Width           = 5;
            m_rangePointer1.EnableAnimation = true;

            m_rangePointer2                 = new SFRangePointer();
            m_rangePointer2.RangeStart      = 60;
            m_rangePointer2.Value           = 100;
            m_rangePointer2.Color           = UIColor.FromRGB((byte)209, (byte)70, (byte)70);
            m_rangePointer2.Width           = 5;
            m_rangePointer2.EnableAnimation = true;

            pointers.Add(m_needlePointer);
            pointers.Add(m_rangePointer1);
            pointers.Add(m_rangePointer2);

            SFTickSettings minor = new SFTickSettings();

            minor.Size  = 4;
            minor.Color = UIColor.FromRGB(68, 68, 68);
            minor.Width = 3;
            m_circularScale.MinorTickSettings = minor;

            SFTickSettings major = new SFTickSettings();

            major.Size = 12;
            //major.Offset = 0.01f;
            major.Color = UIColor.FromRGB(68, 68, 68);
            major.Width = 2;
            m_circularScale.MajorTickSettings = major;
            m_circularScale.Pointers          = pointers;

            SFGaugeHeader header = new SFGaugeHeader();

            header.Text      = (NSString)"Speedometer";
            header.Position  = new CGPoint(0.5f, 0.6f);
            header.TextColor = UIColor.Gray;

            scales.Add(m_circularScale);
            m_circularGauge.Scales = scales;
            m_circularGauge.Headers.Add(header);

            ViewX = m_circularGauge;
        }
		public CircularGauge ()
		{

			gauge = new SFCircularGauge ();
			gauge.Scales.Add (new SFCircularScale ());
			NSMutableArray scales = new NSMutableArray();

			scale = new SFCircularScale();
			scale.StartValue = 0;
			scale.EndValue = 100;
			scale.Interval = 10;
			scale.StartAngle = 35;
			scale.SweepAngle = 320;
			scale.RimWidth = 5;
			//	scale.LabelPostfix = (NSString)"%";
			scale.ShowTicks = true;
			scale.ShowLabels = true;
			scale.RimColor = UIColor.FromRGB((byte)209,(byte)70,(byte)70);

			scale.LabelColor = UIColor.Gray;
			scale.LabelOffset = 0.3f;
			scale.MinorTicksPerInterval = 0;

			NSMutableArray pointers = new NSMutableArray();

		    needlePointer = new SFNeedlePointer();
			needlePointer.Value = 60;
			needlePointer.Color = UIColor.Gray;
			needlePointer.KnobRadius = 12;
			needlePointer.KnobColor = UIColor.FromRGB(43, 191, 184);
			needlePointer.Width = 3;
			needlePointer.LengthFactor =nfloat.Parse("0.8");
			//	needlePointer.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeBar;
            
			rangePointer = new SFRangePointer();
			rangePointer.Value = 60;
			rangePointer.Color = UIColor.FromRGB(43, 191, 184);
			rangePointer.Width = 5;
			pointers.Add(needlePointer);
			pointers.Add(rangePointer);

			SFTickSettings minor = new SFTickSettings();
			minor.Size = 4;
			minor.Color = UIColor.FromRGB(68, 68, 68);
			minor.Width = 3;
			scale.MinorTickSettings = minor;

			SFTickSettings major = new SFTickSettings();
			major.Size = 12;
			major.Offset = 0.2f;
			major.Color = UIColor.FromRGB(68,68,68);
			major.Width = 2;
			scale.MajorTickSettings = major;
			scale.Pointers = pointers;
			scales.Add(scale);
			gauge.Scales = scales;

			SFGaugeHeader header = new SFGaugeHeader();
			header.Text = (NSString)"Speedometer";
			header.Position = new CGPoint (0.4f, 0.7f);
			header.TextColor = UIColor.Gray;
			gauge.Headers.Add(header);

		 
			this.AddSubview (gauge);
			this.control = gauge;
		}