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

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

                if (p == 0)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\l_icon0.png",
                                UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\l_icon1.png",
                                UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\l_icon2.png",
                                UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\l_icon3.png",
                                UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\l_icon4.png",
                                UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\l_icon5.png",
                                UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 1)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\r_icon0.png",
                                UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\r_icon1.png",
                                UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\r_icon2.png",
                                UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\r_icon3.png",
                                UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\r_icon4.png",
                                UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\r_icon5.png",
                                UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 2)
                {
                    bool fault = (bool)value;
                    if (fault)
                    {
                        return new BitmapImage(new Uri(
                            AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\d1_r.png",
                            UriKind.RelativeOrAbsolute));
                    }
                    else
                    {
                        return new BitmapImage(new Uri(
                            AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\d2_r.png",
                            UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 3)
                {
                    bool fault = (bool)value;
                    if (fault)
                    {
                        return new BitmapImage(new Uri(
                            AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\d1_b.png",
                            UriKind.RelativeOrAbsolute));
                    }
                    else
                    {
                        return new BitmapImage(new Uri(
                            AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\d2_b.png",
                            UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 4)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon1.png",
                                UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon2.png",
                                UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon3.png",
                                UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon4.png",
                                UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon5.png",
                                UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon6.png",
                                UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 5)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon1.png",
                                UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon7.png",
                                UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon8.png",
                                UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon9.png",
                                UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon10.png",
                                UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\gl_icon11.png",
                                UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 6)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyl_icon1.png",
                                UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyl_icon2.png",
                                UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyl_icon3.png",
                                UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyl_icon4.png",
                                UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyl_icon5.png",
                                UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyl_icon6.png",
                                UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 7)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyr_icon1.png",
                                UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyr_icon2.png",
                                UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyr_icon3.png",
                                UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyr_icon4.png",
                                UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyr_icon5.png",
                                UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(
                                AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyr_icon6.png",
                                UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 8)
                {
                    return new BitmapImage(new Uri(
                        AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyl_icon7.png",
                        UriKind.RelativeOrAbsolute));
                }
                else if (p == 9)
                {
                    return new BitmapImage(new Uri(
                        AppDomain.CurrentDomain.BaseDirectory + @"Resource\Image\tyr_icon7.png",
                        UriKind.RelativeOrAbsolute));
                }

                return null;
            }
            catch
            {
                return null;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter,
            System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}