50 lines
2.0 KiB
C#
50 lines
2.0 KiB
C#
namespace Common.UI.Infrastructure
|
|
{
|
|
using Common.Hardware.SIRT;
|
|
using Common.Hardware.SIRT.Parameters;
|
|
using Common.Hardware.SIRT.Tasks;
|
|
|
|
using System;
|
|
using System.Globalization;
|
|
using System.Windows.Data;
|
|
using System.Windows.Media;
|
|
|
|
internal class TaskStateToBackgroundBrushConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
var converter = new BrushConverter();
|
|
var error = (SolidColorBrush)converter.ConvertFrom("#22FFA07A");
|
|
var success = (SolidColorBrush)converter.ConvertFrom("#2290EE90");
|
|
var info = (SolidColorBrush)converter.ConvertFrom("#22ADD8E6");
|
|
var warning = (SolidColorBrush)converter.ConvertFrom("#22F5EF42");
|
|
var brush = Brushes.White;
|
|
|
|
if (value is string label)
|
|
{
|
|
switch (label)
|
|
{
|
|
case nameof(SIRTTaskState.Pending):; break;
|
|
case nameof(SIRTTaskState.Completed): brush = success; break;
|
|
case nameof(SIRTTaskState.Cancelled): brush = error; break;
|
|
case nameof(SIRTTaskState.Running): brush = warning; break;
|
|
case nameof(SIRTConstants.BUP): brush = warning; break;
|
|
case nameof(SIRTConstants.LAT): brush = warning; break;
|
|
case nameof(SIRTConstants.DEBUG): brush = info; break;
|
|
case nameof(SIRTConstants.SEMI): brush = success; break;
|
|
case nameof(PAMStatus.OK): brush = success; break;
|
|
case "AKN": brush = warning; break;
|
|
default: brush = error; break;
|
|
}
|
|
}
|
|
|
|
return brush;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|