using CoreLibrary.Core;
using System.Globalization;
namespace MauiSpark.Convertisseurs
{
///
/// Convertisseur d'indicateur en couleur qui implémente l'interface IValueConverter.
/// Cette classe permet de convertir des valeurs de type Indicateur en valeurs de type Color.
///
public class IndicateurVersCouleurMAUI : IValueConverter
{
///
/// Obtient la couleur noire.
///
public static Color Noir { get; private set; } = Color.FromArgb("#000000");
///
/// Obtient la couleur blanche.
///
public static Color Blanc { get; private set; } = Color.FromArgb("#FFFFFF");
///
/// Convertit une valeur de type Indicateur en une valeur de type Color.
///
/// La valeur à convertir.
/// Le type cible de la conversion.
/// Un paramètre facultatif utilisé pour la conversion.
/// La culture à utiliser pour la conversion.
/// Une valeur de type Color correspondant à la valeur de type Indicateur.
public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{
if (value is not Indicateur) return Noir;
switch (value)
{
case Indicateur.BonnePlace:
return Noir;
case Indicateur.BonneCouleur:
return Blanc;
default:
return Noir;
}
}
///
/// Convertit une valeur de type Color en une valeur de type Indicateur.
///
/// La valeur à convertir.
/// Le type cible de la conversion.
/// Un paramètre facultatif utilisé pour la conversion.
/// La culture à utiliser pour la conversion.
/// Non implémenté. Lance une NotImplementedException.
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}