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; } } }