Newer
Older
Correlator / Correlator / Converter / SignalIntensityImageConverter.cs
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media.Imaging;

namespace Correlator.Converter
{
    public class SignalIntensityImageConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            try
            {
                var p = System.Convert.ToInt32(parameter);

                switch (p)
                {
                    case 0:
                    {
                        var signalIntensity = (int)value;
                        switch (signalIntensity)
                        {
                            case 0:
                                return new BitmapImage(new Uri(@"..\..\Image\l_icon0.png", UriKind.Relative));
                            case 1:
                                return new BitmapImage(new Uri(@"..\..\Image\l_icon1.png", UriKind.Relative));
                            case 2:
                                return new BitmapImage(new Uri(@"..\..\Image\l_icon2.png", UriKind.Relative));
                            case 3:
                                return new BitmapImage(new Uri(@"..\..\Image\l_icon3.png", UriKind.Relative));
                            case 4:
                                return new BitmapImage(new Uri(@"..\..\Image\l_icon4.png", UriKind.Relative));
                            case 5:
                                return new BitmapImage(new Uri(@"..\..\Image\l_icon5.png", UriKind.Relative));
                        }

                        break;
                    }
                    case 1:
                    {
                        var signalIntensity = (int)value;
                        switch (signalIntensity)
                        {
                            case 0:
                                return new BitmapImage(new Uri(@"..\..\Image\r_icon0.png", UriKind.Relative));
                            case 1:
                                return new BitmapImage(new Uri(@"..\..\Image\r_icon1.png", UriKind.Relative));
                            case 2:
                                return new BitmapImage(new Uri(@"..\..\Image\r_icon2.png", UriKind.Relative));
                            case 3:
                                return new BitmapImage(new Uri(@"..\..\Image\r_icon3.png", UriKind.Relative));
                            case 4:
                                return new BitmapImage(new Uri(@"..\..\Image\r_icon4.png", UriKind.Relative));
                            case 5:
                                return new BitmapImage(new Uri(@"..\..\Image\r_icon5.png", UriKind.Relative));
                        }

                        break;
                    }
                    case 2:
                    {
                        var fault = (bool)value;
                        return fault
                            ? new BitmapImage(new Uri(@"..\..\Image\d1_r.png", UriKind.Relative))
                            : new BitmapImage(new Uri(@"..\..\Image\d2_r.png", UriKind.Relative));
                    }
                    case 3:
                    {
                        var fault = (bool)value;
                        return fault
                            ? new BitmapImage(new Uri(@"..\..\Image\d1_b.png", UriKind.Relative))
                            : new BitmapImage(new Uri(@"..\..\Image\d2_b.png", UriKind.Relative));
                    }
                    case 4:
                    {
                        var signalIntensity = (int)value;
                        switch (signalIntensity)
                        {
                            case 0:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon1.png", UriKind.Relative));
                            case 1:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon2.png", UriKind.Relative));
                            case 2:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon3.png", UriKind.Relative));
                            case 3:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon4.png", UriKind.Relative));
                            case 4:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon5.png", UriKind.Relative));
                            case 5:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon6.png", UriKind.Relative));
                        }

                        break;
                    }
                    case 5:
                    {
                        var signalIntensity = (int)value;
                        switch (signalIntensity)
                        {
                            case 0:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon1.png", UriKind.Relative));
                            case 1:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon7.png", UriKind.Relative));
                            case 2:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon8.png", UriKind.Relative));
                            case 3:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon9.png", UriKind.Relative));
                            case 4:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon10.png", UriKind.Relative));
                            case 5:
                                return new BitmapImage(new Uri(@"..\..\Image\gl_icon11.png", UriKind.Relative));
                        }

                        break;
                    }
                    case 6:
                    {
                        var signalIntensity = (int)value;
                        switch (signalIntensity)
                        {
                            case 0:
                                return new BitmapImage(new Uri(@"..\..\Image\tyl_icon1.png", UriKind.Relative));
                            case 1:
                                return new BitmapImage(new Uri(@"..\..\Image\tyl_icon2.png", UriKind.Relative));
                            case 2:
                                return new BitmapImage(new Uri(@"..\..\Image\tyl_icon3.png", UriKind.Relative));
                            case 3:
                                return new BitmapImage(new Uri(@"..\..\Image\tyl_icon4.png", UriKind.Relative));
                            case 4:
                                return new BitmapImage(new Uri(@"..\..\Image\tyl_icon5.png", UriKind.Relative));
                            case 5:
                                return new BitmapImage(new Uri(@"..\..\Image\tyl_icon6.png", UriKind.Relative));
                        }

                        break;
                    }
                    case 7:
                    {
                        var signalIntensity = (int)value;
                        switch (signalIntensity)
                        {
                            case 0:
                                return new BitmapImage(new Uri(@"..\..\Image\tyr_icon1.png", UriKind.Relative));
                            case 1:
                                return new BitmapImage(new Uri(@"..\..\Image\tyr_icon2.png", UriKind.Relative));
                            case 2:
                                return new BitmapImage(new Uri(@"..\..\Image\tyr_icon3.png", UriKind.Relative));
                            case 3:
                                return new BitmapImage(new Uri(@"..\..\Image\tyr_icon4.png", UriKind.Relative));
                            case 4:
                                return new BitmapImage(new Uri(@"..\..\Image\tyr_icon5.png", UriKind.Relative));
                            case 5:
                                return new BitmapImage(new Uri(@"..\..\Image\tyr_icon6.png", UriKind.Relative));
                        }

                        break;
                    }
                    case 8:
                        return new BitmapImage(new Uri(@"..\..\Image\tyl_icon7.png", UriKind.Relative));
                    case 9:
                        return new BitmapImage(new Uri(@"..\..\Image\tyr_icon7.png", UriKind.Relative));
                }

                return null;
            }
            catch
            {
                return null;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return null;
        }
    }
}