public void AddMeasurementToCollection(GraphLineCollection coll, string Graphname, string SymbolName, DateTime Timestamp, float value, float minrange, float maxrange, Color linecolor)
        {
            bool _linefound = false;

            foreach (GraphLine line in coll)
            {
                if (line.Symbol == SymbolName)
                {
                    _linefound = true;
                    //                    if (value < minrange) minrange = value - 5;
                    //                    if (value > maxrange) maxrange = value + 5;

                    line.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                    break;
                }
            }
            if (!_linefound)
            {
                GraphLine _newline = new GraphLine();
                _newline.Symbol      = SymbolName;
                _newline.ChannelName = Graphname;
                _newline.Clear();
                coll.Add(_newline);
                _newline.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                _newline.LineVisible = GetRegistryValue(Graphname);
            }
        }
        public void AddMeasurement(string Graphname, string SymbolName, DateTime Timestamp, float value, float minrange, float maxrange, Color linecolor)
        {
            bool _linefound = false;

            //Console.WriteLine(Graphname + " " + SymbolName + " " + value.ToString());
            foreach (GraphLine line in _lines)
            {
                if (line.Symbol == SymbolName)
                {
                    _linefound = true;
//                    if (value < minrange) minrange = value - 5;
//                    if (value > maxrange) maxrange = value + 5;

                    line.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                    break;
                }
            }
            if (!_linefound)
            {
                GraphLine _newline = new GraphLine();
                _newline.Symbol      = SymbolName;
                _newline.ChannelName = Graphname;
                _newline.Clear();
                _lines.Add(_newline);
//                if (value < minrange) minrange = value;
//                if (value > maxrange) maxrange = value;
                _newline.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                // set visible or invisible according to registry setting
                _newline.LineVisible = GetRegistryValue(Graphname);
            }
        }
            public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType)
            {
                if (destType == typeof(string) && value is GraphLine)
                {
                    // Cast the value to an Employee type
                    GraphLine pp = (GraphLine)value;

                    return(pp.Symbol + ", " + pp.Numberofmeasurements.ToString());
                }
                return(base.ConvertTo(context, culture, value, destType));
            }
        private void DetermineRange(GraphLine _line, float _min, float _max)
        {
            _line.Maxrange = _max * 1.05F;
            _line.Minrange = _min * 1.05F;
            switch (_line.Symbol.ToUpper())
            {
            case "RPM":
                _line.Minrange = 0;
                _line.Maxrange = 7000;
                break;

            case "BIL_HAST":
                _line.Minrange = 0;
                _line.Maxrange = 300;
                break;

            case "P_MANIFOLD":
            case "P_MANIFOLD10":
            case "REGL_TRYCK":
            case "MAX_TRYCK":
                _line.Minrange = -1;
                _line.Maxrange = 2;
                break;

            case "LUFTTEMP":
                _line.Minrange = -30;
                _line.Maxrange = 120;
                break;

            case "KYL_TEMP":
                _line.Minrange = -30;
                _line.Maxrange = 120;
                break;

            case "INSPTID_MS10":
                _line.Minrange = 0;
                _line.Maxrange = 50;
                break;

            case "GEAR":
                _line.Minrange = -1;
                _line.Maxrange = 5;
                break;

            case "APC_DECRESE":
            case "APC_DECREASE":
                _line.Minrange = 0;
                _line.Maxrange = 200;
                break;

            case "IGN_ANGLE":
                _line.Minrange = -10;
                _line.Maxrange = 50;
                break;

            case "PWM_UT10":
            case "REG_KON_APC":
                _line.Minrange = 0;
                _line.Maxrange = 100;
                break;

            case "MODELTROT":
            case "TROT_MIN":
                _line.Minrange = 0;
                _line.Maxrange = 255;
                break;

            case "AFR":
            case "wAFR":
            case "AD_EGR":
            case "AD_SOND":
                _line.Minrange = 7;
                _line.Maxrange = 23;
                break;
            }
        }
 private void DetermineRange(GraphLine _line, float _min, float _max)
 {
     _line.Maxrange = _max * 1.05F;
     _line.Minrange = _min * 1.05F;
     switch (_line.Symbol.ToUpper())
     {
         case "RPM":
             _line.Minrange = 0;
             _line.Maxrange = 7000;
             break;
         case "BIL_HAST":
             _line.Minrange = 0;
             _line.Maxrange = 300;
             break;
         case "P_MANIFOLD":
         case "P_MANIFOLD10":
         case "REGL_TRYCK":
         case "MAX_TRYCK":
             _line.Minrange = -1;
             _line.Maxrange = 2;
             break;
         case "LUFTTEMP":
             _line.Minrange = -30;
             _line.Maxrange = 120;
             break;
         case "KYL_TEMP":
             _line.Minrange = -30;
             _line.Maxrange = 120;
             break;
         case "INSPTID_MS10":
             _line.Minrange = 0;
             _line.Maxrange = 50;
             break;
         case "GEAR":
             _line.Minrange = -1;
             _line.Maxrange = 5;
             break;
         case "APC_DECRESE":
         case "APC_DECREASE":
             _line.Minrange = 0;
             _line.Maxrange = 200;
             break;
         case "IGN_ANGLE":
             _line.Minrange = -10;
             _line.Maxrange = 50;
             break;
         case "PWM_UT10":
         case "REG_KON_APC":
             _line.Minrange = 0;
             _line.Maxrange = 100;
             break;
         case "MODELTROT":
         case "TROT_MIN":
             _line.Minrange = 0;
             _line.Maxrange = 255;
             break;
         case "AFR":
         case "wAFR":
         case "AD_EGR":
         case "AD_SOND":
             _line.Minrange = 7;
             _line.Maxrange = 23;
             break;
             _line.Minrange = 0;
             _line.Maxrange = 255;
             break;
     }
 }
        public void AddMeasurementToCollection(GraphLineCollection coll, string Graphname, string SymbolName, DateTime Timestamp, float value, float minrange, float maxrange, Color linecolor)
        {
            bool _linefound = false;
            foreach (GraphLine line in coll)
            {
                if (line.Symbol == SymbolName)
                {
                    _linefound = true;
                    //                    if (value < minrange) minrange = value - 5;
                    //                    if (value > maxrange) maxrange = value + 5;

                    line.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                    break;
                }
            }
            if (!_linefound)
            {
                GraphLine _newline = new GraphLine();
                _newline.Symbol = SymbolName;
                _newline.ChannelName = Graphname;
                _newline.Clear();
                coll.Add(_newline);
                _newline.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                _newline.LineVisible = GetRegistryValue(Graphname);
            }
        }
        public void AddMeasurement(string Graphname, string SymbolName, DateTime Timestamp, float value, float minrange, float maxrange, Color linecolor)
        {
            bool _linefound = false;
            //Console.WriteLine(Graphname + " " + SymbolName + " " + value.ToString());
            foreach (GraphLine line in _lines)
            {
                if (line.Symbol == SymbolName)
                {
                    _linefound = true;
            //                    if (value < minrange) minrange = value - 5;
            //                    if (value > maxrange) maxrange = value + 5;

                    line.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                    break;
                }
            }
            if (!_linefound)
            {
                GraphLine _newline = new GraphLine();
                _newline.Symbol = SymbolName;
                _newline.ChannelName = Graphname;
                _newline.Clear();
                _lines.Add(_newline);
            //                if (value < minrange) minrange = value;
            //                if (value > maxrange) maxrange = value;
                _newline.AddPoint(value, Timestamp, minrange, maxrange, linecolor);
                // set visible or invisible according to registry setting
                _newline.LineVisible = GetRegistryValue(Graphname);
            }
        }
 public bool Contains(GraphLine value)
 {
     // If value is not of type Int16, this will return false.
     return(List.Contains(value));
 }
 public void Insert(int index, GraphLine value)
 {
     List.Insert(index, value);
 }
 public void Insert(int index, GraphLine value)
 {
     List.Insert(index, value);
 }
 public int IndexOf(GraphLine value)
 {
     return(List.IndexOf(value));
 }
 public int Add(GraphLine value)
 {
     return(List.Add(value));
 }
 public bool Contains(GraphLine value)
 {
     // If value is not of type Int16, this will return false.
     return (List.Contains(value));
 }
 public int Add(GraphLine value)
 {
     return (List.Add(value));
 }
 public void Remove(GraphLine value)
 {
     List.Remove(value);
 }
 public void Remove(GraphLine value)
 {
     List.Remove(value);
 }
 public int IndexOf(GraphLine value)
 {
     return (List.IndexOf(value));
 }