"""Auto-generated ECM model classes for cabinet "DefinitionTests".

DO NOT EDIT — regenerate with generate_ecm_models.py.
"""

from enum import Enum

from datetime import date, datetime, time

from ecmind_blue_client.ecm.model import (
    ECMField,
    ECMFolderModel,
)


class DefinitionTests_CatalogListEnum(str, Enum):
    ENTRY1 = "Entry1"
    ENTRY2 = "Entry2"

class DefinitionTests_CatalogTreeListEnum(str, Enum):
    ELEMENT1 = "Element1"
    LEAF1 = "Leaf1"
    ELEMENT2 = "Element2"
    LEAF2 = "Leaf2"

class DefinitionTests_CatalogHierachyTreeEnum(str, Enum):
    ELEMENT1 = "Element1"
    ELEMENT1_LEAF1 = "Element1|Leaf1"
    ELEMENT2 = "Element2"
    ELEMENT2_SUBELEMENT1 = "Element2|Subelement1"
    ELEMENT2_SUBELEMENT1_LEAF2 = "Element2|Subelement1|Leaf2"

class DefinitionTests(ECMFolderModel):
    _internal_name_ = "DefinitionTests"

    InputRequired: ECMField[str] = ECMField(str, mandatory=True)
    InputSupervisor: ECMField[str] = ECMField(str, default=None)
    ReadOnly: ECMField[str] = ECMField(str, default=None)
    ReadOnlyAfterArchiving: ECMField[str] = ECMField(str, default=None)
    ReadOnlyAfterIntitializing: ECMField[str] = ECMField(str, default=None)
    AutomaticCopy: ECMField[str] = ECMField(str, default=None)
    WithLeadingZeros: ECMField[str] = ECMField(str, default=None)
    KeyField: ECMField[str] = ECMField(str, default=None)
    KontrolledByCrosscheck: ECMField[str] = ECMField(str, default=None)
    IgnoreCase: ECMField[str] = ECMField(str, default=None)
    MaskProtected: ECMField[str] = ECMField(str, default=None)
    FieldWithRegex: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedCurrentID: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedCurrentUser: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedCurrentUsername: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedCurrentDateGerman: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedCurrentDateUS: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedCurrentDateWithTimespan: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedCurrentUserWithU: ECMField[str] = ECMField(str, default=None)
    ValuePredefinedConstant: ECMField[str] = ECMField(str, default=None)
    CatalogList: ECMField[DefinitionTests_CatalogListEnum] = ECMField(DefinitionTests_CatalogListEnum, default=None)
    CatalogTreeList: ECMField[DefinitionTests_CatalogTreeListEnum] = ECMField(DefinitionTests_CatalogTreeListEnum, default=None)
    CatalogHierachyTree: ECMField[DefinitionTests_CatalogHierachyTreeEnum] = ECMField(DefinitionTests_CatalogHierachyTreeEnum, default=None)
    CatalogDatabase: ECMField[str] = ECMField(str, default=None)
    CatalogStructuretree: ECMField[str] = ECMField(str, default=None)
    CatalogAddon: ECMField[str] = ECMField(str, default=None)
    CatalogAddonAutoExecute: ECMField[str] = ECMField(str, default=None)
    Searchgroup: ECMField[str] = ECMField(str, default=None)
    AutoProposals: ECMField[str] = ECMField(str, default=None)
    Multiline: ECMField[str] = ECMField(str, default=None)
    ControlHidden: ECMField[str] = ECMField(str, default=None)
    LabelHidden: ECMField[str] = ECMField(str, default=None)
    TextColor: ECMField[str] = ECMField(str, default=None)
    FieldRightGroupControls: ECMField[str] = ECMField(str, default=None)
    AllCharacters: ECMField[str] = ECMField(str, default=None)
    Characters: ECMField[str] = ECMField(str, default=None)
    Date: ECMField[date] = ECMField(date, default=None)
    DateTime: ECMField[datetime] = ECMField(datetime, default=None)
    Time: ECMField[time] = ECMField(time, default=None)
    float_: ECMField[float] = ECMField(float, internal_name="float", default=None)  # internal: float
    Ziffern: ECMField[int] = ECMField(int, default=None)
    ZiffernAlpha: ECMField[str] = ECMField(str, default=None)
    asf: ECMField[str] = ECMField(str, default=None)
    lr: ECMField[str] = ECMField(str, default=None)
    mwd: ECMField[str] = ECMField(str, default=None)
    Yes_No: ECMField[str] = ECMField(str, default=None)
