aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Common/Utilities/idle_task.h
blob: 9260756ddd7c1129b02876f22603340843e9afe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using
ction; using System.Text; using System.Threading.Tasks; using System.Windows.Data; namespace Tango.SharedUI.Converters { /// <summary> /// Represents a binding converter for converting enum value to the associated description attribute if found. /// </summary> /// <seealso cref="System.Windows.Data.IValueConverter" /> public class EnumToDescriptionConverter : IValueConverter { /// <summary> /// Converts a value. /// </summary> /// <param name="value">The value produced by the binding source.</param> /// <param name="targetType">The type of the binding target property.</param> /// <param name="parameter">The converter parameter to use.</param> /// <param name="culture">The culture to use in the converter.</param> /// <returns> /// A converted value. If the method returns null, the valid null value is used. /// </returns> /// <exception cref="System.NotImplementedException"></exception> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value != null) { return GetDescription(value, value.ToString()); } else { return null; } } public static string GetDescription(object enumValue, string defDesc) { FieldInfo fi = enumValue.GetType().GetField(enumValue.ToString()); if (null != fi) { object[] attrs = fi.GetCustomAttributes(typeof(DescriptionAttribute), true); if (attrs != null && attrs.Length > 0) return ((DescriptionAttribute)attrs[0]).Description; } return defDesc; } /// <summary> /// Converts a value. /// </summary> /// <param name="value">The value that is produced by the binding target.</param> /// <param name="targetType">The type to convert to.</param> /// <param name="parameter">The converter parameter to use.</param> /// <param name="culture">The culture to use in the converter.</param> /// <returns> /// A converted value. If the method returns null, the valid null value is used. /// </returns> /// <exception cref="System.NotImplementedException"></exception> public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return value; } } }