enum properties - Envivo-Software/Envivo.Fresnel GitHub Wiki

Enum Properties

Standard Enums

Standard Enums only allow one item to be chosen from a set:

/// <summary>
/// This is a simple list of options.
/// </summary>
public enum IndividualOptions
{
    /// <summary>
    /// This is the value NONE
    /// </summary>
    None = 0,

    /// <summary>
    /// This is the value RED
    /// </summary>
    Red = 10,

    /// <summary>
    /// This is the value GREEN
    /// </summary>
    Green = 20,

    /// <summary>
    /// This is the value BLUE
    /// </summary>
    Blue = 30
}

In the UI, this is rendered as a selection list:

It is also possible to show the enums as a set of radio options, using the UI attribute hint:

public class EnumValues
{
    /// <summary>
    /// This enum should be shown as a set of Radio Options
    /// </summary>
    [UI(preferredControl: UiControlType.Radio)] //👈
    public IndividualOptions EnumRadioOptions { get; set; }
}

Bitwise Enums

Bitwise enums allow a combination of items (note the Flags attribute, and the bitwise values):

/// <summary>
/// This is a simple list of options.
/// </summary>
[Flags] //👈
public enum CombinationOptions
{
    /// <summary>
    /// This is the value Eggs
    /// </summary>
    Eggs = 1,

    /// <summary>
    /// This is the value Ham
    /// </summary>
    Ham = 2,

    /// <summary>
    /// This is the value Cheese
    /// </summary>
    Cheese = 4,
}

This enum appear as a multi-select editor in the UI:

⚠️ **GitHub.com Fallback** ⚠️