packages feed

HFitUI-0.1.0.0: src/WebUI/Themes/UIThemeTypes.hs

----------------------------------------------------------------
-- Модуль приложения
-- Графический интерфейс (UI)
-- Тема ГИП (Типы) 
----------------------------------------------------------------

module WebUI.Themes.UIThemeTypes
    ( ThParam       (..)
    , CUIThemeParam (..)
    , CUITheme      (..)
    ) where

-- Импорт модулей



-- Тип параметров темы
data ThParam =              -- | Фиксированный набор цветов
               ThC_03       -- | base 03 
             | ThC_02       -- | base 02
             | ThC_01       -- | base 01
             | ThC_00       -- | base 00
             | ThC_0        -- | base 0
             | ThC_1        -- | base 1
             | ThC_2        -- | base 2
             | ThC_3        -- | base 3
             | ThC_Yl       -- | yellow
             | ThC_Or       -- | orange
             | ThC_Rd       -- | red
             | ThC_Mg       -- | magenta
             | ThC_Vl       -- | violet
             | ThC_Bl       -- | blue
             | ThC_Cn       -- | cyan
             | ThC_Gr       -- | green
             | ThC String   -- | Другой цвет по имени
                            -- | Фиксированный набор шрифтов
             | ThF_03       -- | Font 03
             | ThF_02       -- | Font 02
             | ThF_01       -- | Font 01
             | ThF_0        -- | Font 0
             | ThF_1        -- | Font 1
             | ThF_2        -- | Font 2
             | ThF_3        -- | Font 3
             | ThF String   -- | Другой шрифт по имени

             | ThPrm String -- | Параметр общий



-- Класс типа параметра темы 
class CUIThemeParam b where
    isThemeParam :: b -> Bool

instance CUIThemeParam ThParam where
    isThemeParam _ = True



-- Класс темы
class CUITheme a where
    isTheme :: a -> Bool
    rndTh   :: a -> ThParam -> String