using System; using System.Globalization; 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, 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(@"/Image/l_icon0.png", UriKind.RelativeOrAbsolute)); case 1: return new BitmapImage(new Uri(@"/Image/l_icon1.png", UriKind.RelativeOrAbsolute)); case 2: return new BitmapImage(new Uri(@"/Image/l_icon2.png", UriKind.RelativeOrAbsolute)); case 3: return new BitmapImage(new Uri(@"/Image/l_icon3.png", UriKind.RelativeOrAbsolute)); case 4: return new BitmapImage(new Uri(@"/Image/l_icon4.png", UriKind.RelativeOrAbsolute)); case 5: return new BitmapImage(new Uri(@"/Image/l_icon5.png", UriKind.RelativeOrAbsolute)); } } else if (p == 1) { int signalIntensity = (int)value; switch (signalIntensity) { case 0: return new BitmapImage(new Uri(@"/Image/r_icon0.png", UriKind.RelativeOrAbsolute)); case 1: return new BitmapImage(new Uri(@"/Image/r_icon1.png", UriKind.RelativeOrAbsolute)); case 2: return new BitmapImage(new Uri(@"/Image/r_icon2.png", UriKind.RelativeOrAbsolute)); case 3: return new BitmapImage(new Uri(@"/Image/r_icon3.png", UriKind.RelativeOrAbsolute)); case 4: return new BitmapImage(new Uri(@"/Image/r_icon4.png", UriKind.RelativeOrAbsolute)); case 5: return new BitmapImage(new Uri(@"/Image/r_icon5.png", UriKind.RelativeOrAbsolute)); } } else if (p == 2) { bool fault = (bool)value; if (fault) { return new BitmapImage(new Uri(@"/Image/d1_r.png", UriKind.RelativeOrAbsolute)); } else { return new BitmapImage(new Uri(@"/Image/d2_r.png", UriKind.RelativeOrAbsolute)); } } else if (p == 3) { bool fault = (bool)value; if (fault) { return new BitmapImage(new Uri(@"/Image/d1_b.png", UriKind.RelativeOrAbsolute)); } else { return new BitmapImage(new Uri(@"/Image/d2_b.png", UriKind.RelativeOrAbsolute)); } } else if (p == 4) { int signalIntensity = (int)value; switch (signalIntensity) { case 0: return new BitmapImage(new Uri(@"/Image/gl_icon1.png", UriKind.RelativeOrAbsolute)); case 1: return new BitmapImage(new Uri(@"/Image/gl_icon2.png", UriKind.RelativeOrAbsolute)); case 2: return new BitmapImage(new Uri(@"/Image/gl_icon3.png", UriKind.RelativeOrAbsolute)); case 3: return new BitmapImage(new Uri(@"/Image/gl_icon4.png", UriKind.RelativeOrAbsolute)); case 4: return new BitmapImage(new Uri(@"/Image/gl_icon5.png", UriKind.RelativeOrAbsolute)); case 5: return new BitmapImage(new Uri(@"/Image/gl_icon6.png", UriKind.RelativeOrAbsolute)); } } else if (p == 5) { int signalIntensity = (int)value; switch (signalIntensity) { case 0: return new BitmapImage(new Uri(@"/Image/gl_icon1.png", UriKind.RelativeOrAbsolute)); case 1: return new BitmapImage(new Uri(@"/Image/gl_icon7.png", UriKind.RelativeOrAbsolute)); case 2: return new BitmapImage(new Uri(@"/Image/gl_icon8.png", UriKind.RelativeOrAbsolute)); case 3: return new BitmapImage(new Uri(@"/Image/gl_icon9.png", UriKind.RelativeOrAbsolute)); case 4: return new BitmapImage(new Uri(@"/Image/gl_icon10.png", UriKind.RelativeOrAbsolute)); case 5: return new BitmapImage(new Uri(@"/Image/gl_icon11.png", UriKind.RelativeOrAbsolute)); } } else if (p == 6) { int signalIntensity = (int)value; switch (signalIntensity) { case 0: return new BitmapImage(new Uri(@"/Image/tyl_icon1.png", UriKind.RelativeOrAbsolute)); case 1: return new BitmapImage(new Uri(@"/Image/tyl_icon2.png", UriKind.RelativeOrAbsolute)); case 2: return new BitmapImage(new Uri(@"/Image/tyl_icon3.png", UriKind.RelativeOrAbsolute)); case 3: return new BitmapImage(new Uri(@"/Image/tyl_icon4.png", UriKind.RelativeOrAbsolute)); case 4: return new BitmapImage(new Uri(@"/Image/tyl_icon5.png", UriKind.RelativeOrAbsolute)); case 5: return new BitmapImage(new Uri(@"/Image/tyl_icon6.png", UriKind.RelativeOrAbsolute)); } } else if (p == 7) { int signalIntensity = (int)value; switch (signalIntensity) { case 0: return new BitmapImage(new Uri(@"/Image/tyr_icon1.png", UriKind.RelativeOrAbsolute)); case 1: return new BitmapImage(new Uri(@"/Image/tyr_icon2.png", UriKind.RelativeOrAbsolute)); case 2: return new BitmapImage(new Uri(@"/Image/tyr_icon3.png", UriKind.RelativeOrAbsolute)); case 3: return new BitmapImage(new Uri(@"/Image/tyr_icon4.png", UriKind.RelativeOrAbsolute)); case 4: return new BitmapImage(new Uri(@"/Image/tyr_icon5.png", UriKind.RelativeOrAbsolute)); case 5: return new BitmapImage(new Uri(@"/Image/tyr_icon6.png", UriKind.RelativeOrAbsolute)); } } else if (p == 8) { return new BitmapImage(new Uri(@"/Image/tyl_icon7.png", UriKind.RelativeOrAbsolute)); } else if (p == 9) { return new BitmapImage(new Uri(@"/Image/tyr_icon7.png", UriKind.RelativeOrAbsolute)); } return null; } catch { return null; } } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }