namespace OpenCVStudio_v0
{
    public enum BlockCategory
    {
        InputOutput = 10,
        ColorChannels = 20,
        ImageGeometry = 30,
        Filtering = 40,
        GradientsEdges = 50,
        Thresholding = 60,
        Morphology = 70,
        SingleImageMath = 80,
        TwoImageMath = 90,
        HistogramContrast = 100,
        Statistics = 110,
        Contours = 120,
        ContourGeometry = 130,
        Segmentation = 140,
        Registration = 150,
        GeometricTransforms = 160,
        MultiImage = 170,
        Diagnostics = 180
    }

    public static class BlockCategoryNames
    {
        public static string GetName(
            BlockCategory category)
        {
            return category switch
            {
                BlockCategory.InputOutput =>
                    "01. Получение и вывод",

                BlockCategory.ColorChannels =>
                    "02. Цвет и каналы",

                BlockCategory.ImageGeometry =>
                    "03. Геометрия изображения",

                BlockCategory.Filtering =>
                    "04. Фильтрация и шум",

                BlockCategory.GradientsEdges =>
                    "05. Градиенты и границы",

                BlockCategory.Thresholding =>
                    "06. Бинаризация",

                BlockCategory.Morphology =>
                    "07. Морфология",

                BlockCategory.SingleImageMath =>
                    "08. Арифметика одного изображения",

                BlockCategory.TwoImageMath =>
                    "09. Арифметика двух изображений",

                BlockCategory.HistogramContrast =>
                    "10. Гистограммы и контраст",

                BlockCategory.Statistics =>
                    "11. Статистика",

                BlockCategory.Contours =>
                    "12. Поиск контуров",

                BlockCategory.ContourGeometry =>
                    "13. Геометрия контуров",

                BlockCategory.Segmentation =>
                    "14. Сегментация",

                BlockCategory.Registration =>
                    "15. Совмещение изображений",

                BlockCategory.GeometricTransforms =>
                    "16. Матричные преобразования",

                BlockCategory.MultiImage =>
                    "17. Несколько изображений",

                BlockCategory.Diagnostics =>
                    "18. Диагностика",

                _ => category.ToString()
            };
        }
    }
}