{
    "$schema": "../../../Schema/ControlDescription.Schema.json",
    "apiVersion": 1,
    "name": "TcHmiControl",
    "namespace": "TcHmi.Controls.System",
    "displayName": "Control",
    "version": {
        "full": "1.12.762.46",
        "major": 1,
        "minor": 12,
        "build": 762,
        "revision": 46
    },
    "visible": false,
    "themeable": "Advanced",
    "base": null,
    "description": "Base class for all Controls.",
    "properties": {
        "containerControl": false,
        "geometry": {
            "width": 0,
            "height": 0
        }
    },
    "icons": [
        {
            "name": "Icons/16x16.png",
            "width": 16,
            "height": 16
        }
    ],
    "dependencyFiles": [
        {
            "name": "Style.css",
            "type": "Stylesheet",
            "description": ""
        },
        {
            "name": "TcHmiControl.js",
            "type": "JavaScript",
            "description": ""
        }
    ],
    "themes": {
        "Base": {
            "resources": [
                {
                    "name": "Themes/Base/Style.css",
                    "type": "Stylesheet",
                    "description": ""
                }
            ]
        },
        "Base-Dark": {
            "resources": [
                {
                    "name": "Themes/Base-Dark/Style.css",
                    "type": "Stylesheet",
                    "description": ""
                }
            ]
        }
    },
    "attributes": [
        {
            "name": "id",
            "displayName": "Id",
            "propertyName": "id",
            "propertyGetterName": "getId",
            "visible": true,
            "type": "tchmi:framework#/definitions/Id",
            "category": "Common",
            "description": "The id property represents the control's identifier.",
            "requiredOnCompile": true,
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": "",
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-type",
            "displayName": "Type",
            "propertyName": "type",
            "propertyGetterName": "getType",
            "visible": true,
            "type": "tchmi:framework#/definitions/ControlType",
            "category": "Common",
            "description": "Type of the control.",
            "requiredOnCompile": true,
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": "",
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-trigger",
            "propertyName": "Trigger",
            "propertySetterName": "setTrigger",
            "propertyGetterName": "getTrigger",
            "displayName": "Trigger",
            "visible": false,
            "themeable": "None",
            "type": "tchmi:framework#/definitions/TriggerList",
            "category": "None",
            "description": "",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": false,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-is-attached",
            "propertyName": "IsAttached",
            "propertyGetterName": "getIsAttached",
            "displayName": "IsAttached",
            "visible": true,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Returns a boolean value which determines if the control is logically attached to the dom.",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-virtual-control-right-mappings",
            "propertyName": "VirtualControlRightMappings",
            "propertySetterName": "setVirtualControlRightMappings",
            "propertyGetterName": "getVirtualControlRightMappings",
            "displayName": "VirtualControlRightMappings",
            "visible": false,
            "themeable": "None",
            "type": "tchmi:framework#/definitions/VirtualControlRightMappingList",
            "category": "None",
            "description": "Allows a mapping of rights to parent control virtual rights. For example the 'operate' right of this control can be configured to react on a custom 'canStartPump' right of a parent control.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": []
        },
        {
            "name": "data-tchmi-access-config",
            "propertyName": "AccessConfig",
            "propertySetterName": "setAccessConfig",
            "propertyGetterName": "getAccessConfig",
            "displayName": "AccessConfig",
            "visible": false,
            "themeable": "None",
            "type": "tchmi:framework#/definitions/AccessConfig",
            "category": "None",
            "description": "Holds the config of the access configuration.",
            "readOnly": false,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": []
        },
        {
            "name": "data-tchmi-class-names",
            "propertyName": "ClassNames",
            "propertySetterName": "setClassNames",
            "propertyGetterName": "getClassNames",
            "displayName": "ClassNames",
            "visible": true,
            "themeable": "None",
            "type": "tchmi:framework#/definitions/ClassNameList",
            "category": "Common",
            "displayPriority": 51,
            "description": "Defines the classes the control is part of. These can be addressed in themes.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": []
        },
        {
            "name": "data-tchmi-background-color",
            "propertyName": "BackgroundColor",
            "propertySetterName": "setBackgroundColor",
            "propertyGetterName": "getBackgroundColor",
            "displayName": "BackgroundColor",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/Color",
            "category": "Colors",
            "description": "Definition of the background color which is used if no or a transparent Background image is set.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-is-enabled",
            "propertyName": "IsEnabled",
            "propertySetterName": "setIsEnabled",
            "propertyGetterName": "getIsEnabled",
            "displayName": "IsEnabled",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 51,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Only enabled controls will react on events.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": true
        },
        {
            "name": "data-tchmi-tooltip",
            "propertyName": "Tooltip",
            "propertySetterName": "setTooltip",
            "propertyGetterName": "getTooltip",
            "displayName": "Tooltip",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 90,
            "type": "tchmi:general#/definitions/String",
            "category": "Common",
            "description": "Specifies a tooltip for this control.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-border-color",
            "propertyName": "BorderColor",
            "propertySetterName": "setBorderColor",
            "propertyGetterName": "getBorderColor",
            "displayName": "BorderColor",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/Color",
            "category": "Colors",
            "description": "Color of the border.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-left",
            "propertyName": "Left",
            "propertySetterName": "setLeft",
            "propertyGetterName": "getLeft",
            "displayName": "Left",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Specifies the distance between the left margin edge of the control and the left edge of its containing control. Could be empty if width and right is set.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-left-unit",
            "propertyName": "LeftUnit",
            "propertySetterName": "setLeftUnit",
            "propertyGetterName": "getLeftUnit",
            "refTo": "Left",
            "displayName": "LeftUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-top",
            "propertyName": "Top",
            "propertySetterName": "setTop",
            "propertyGetterName": "getTop",
            "displayName": "Top",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Specifies the distance between the top margin edge of the control and the top edge of its containing control. Could be empty if height and bottom is set.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-top-unit",
            "propertyName": "TopUnit",
            "propertySetterName": "setTopUnit",
            "propertyGetterName": "getTopUnit",
            "refTo": "Top",
            "displayName": "TopUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-right",
            "propertyName": "Right",
            "propertySetterName": "setRight",
            "propertyGetterName": "getRight",
            "displayName": "Right",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "If both left and right are specified, and width is empty, both the left and right distances are respected.\nIn all other situations, if width is constrained in any way, the left property takes precedence and the right attribute is ignored.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-right-unit",
            "propertyName": "RightUnit",
            "propertySetterName": "setRightUnit",
            "propertyGetterName": "getRightUnit",
            "refTo": "Right",
            "displayName": "RightUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-bottom",
            "propertyName": "Bottom",
            "propertySetterName": "setBottom",
            "propertyGetterName": "getBottom",
            "displayName": "Bottom",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "If both top and bottom are specified, and height is empty, both the top and bottom distances are respected.\nIn all other situations, if height is constrained in any way, the top property takes precedence and the bottom attribute is ignored.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-bottom-unit",
            "propertyName": "BottomUnit",
            "propertySetterName": "setBottomUnit",
            "propertyGetterName": "getBottomUnit",
            "refTo": "Bottom",
            "displayName": "BottomUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-width",
            "propertyName": "Width",
            "propertySetterName": "setWidth",
            "propertyGetterName": "getWidth",
            "displayName": "Width",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Outer width of the control. If this is empty left and right will be used to calculate the size.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-width-unit",
            "propertyName": "WidthUnit",
            "propertySetterName": "setWidthUnit",
            "propertyGetterName": "getWidthUnit",
            "refTo": "Width",
            "displayName": "WidthUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-height",
            "propertyName": "Height",
            "propertySetterName": "setHeight",
            "propertyGetterName": "getHeight",
            "displayName": "Height",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Outer height of the control. If this is empty top and bottom will be used to calculate the size.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-height-unit",
            "propertyName": "HeightUnit",
            "propertySetterName": "setHeightUnit",
            "propertyGetterName": "getHeightUnit",
            "refTo": "Height",
            "displayName": "HeightUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-opacity",
            "propertyName": "Opacity",
            "propertySetterName": "setOpacity",
            "propertyGetterName": "getOpacity",
            "displayName": "Opacity",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/Fraction",
            "category": "Layout",
            "description": "A number between 0 (not visible) and 1 (full visible). \nIf you do not need mouse/touch interaction and want to have maximum performance consider using attribute Visibility='Collapsed'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": 1
        },
        {
            "name": "data-tchmi-visibility",
            "propertyName": "Visibility",
            "propertySetterName": "setVisibility",
            "propertyGetterName": "getVisibility",
            "displayName": "Visibility",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/Visibility",
            "category": "Layout",
            "description": "The visibility property can be used to hide (still receives pointer events) or collapse (does not use space or receive pointer events) an element and its childrens. Hidden still uses space in fluid calculations, collapsed is ignored there.\nCollapsed controls are skipped in layouting so it is much faster then opacity=0",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Visible"
        },
        {
            "name": "data-tchmi-transform",
            "propertyName": "Transform",
            "propertySetterName": "setTransform",
            "propertyGetterName": "getTransform",
            "displayName": "Transform",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 70,
            "type": "tchmi:framework#/definitions/TransformList",
            "category": "Layout",
            "description": "A way to scale, rotate, translate and/or skew a control.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-width-mode",
            "propertyName": "WidthMode",
            "propertySetterName": "setWidthMode",
            "propertyGetterName": "getWidthMode",
            "displayName": "WidthMode",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/SizeMode",
            "category": "Layout",
            "description": "Defines if the width is taken from the width value or calculated from left and right (parent).",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Value"
        },
        {
            "name": "data-tchmi-height-mode",
            "propertyName": "HeightMode",
            "propertySetterName": "setHeightMode",
            "propertyGetterName": "getHeightMode",
            "displayName": "HeightMode",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/SizeMode",
            "category": "Layout",
            "description": "Defines if the height is taken from the height value or calculated from top and bottom (parent).",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Value"
        },
        {
            "name": "data-tchmi-max-width",
            "propertyName": "MaxWidth",
            "propertySetterName": "setMaxWidth",
            "propertyGetterName": "getMaxWidth",
            "displayName": "MaxWidth",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Maximal width of the control.\nmax-width overrides width, but min-width overrides max-width.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-max-width-unit",
            "propertyName": "MaxWidthUnit",
            "propertySetterName": "setMaxWidthUnit",
            "propertyGetterName": "getMaxWidthUnit",
            "refTo": "MaxWidth",
            "displayName": "MaxWidthUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-max-height",
            "propertyName": "MaxHeight",
            "propertySetterName": "setMaxHeight",
            "propertyGetterName": "getMaxHeight",
            "displayName": "MaxHeight",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Maximal height of the control.\nmax-height overrides height, but min-height overrides max-height.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-max-height-unit",
            "propertyName": "MaxHeightUnit",
            "propertySetterName": "setMaxHeightUnit",
            "propertyGetterName": "getMaxHeightUnit",
            "refTo": "MaxHeight",
            "displayName": "MaxHeightUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-min-width",
            "propertyName": "MinWidth",
            "propertySetterName": "setMinWidth",
            "propertyGetterName": "getMinWidth",
            "displayName": "MinWidth",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Minimal width of the control.\nmax-width overrides width, but min-width overrides max-width.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-min-width-unit",
            "propertyName": "MinWidthUnit",
            "propertySetterName": "setMinWidthUnit",
            "propertyGetterName": "getMinWidthUnit",
            "refTo": "MinWidth",
            "displayName": "MinWidthUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-min-height",
            "propertyName": "MinHeight",
            "propertySetterName": "setMinHeight",
            "propertyGetterName": "getMinHeight",
            "displayName": "MinHeight",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout",
            "description": "Minimal height of the control.\nmax-height overrides height, but min-height overrides max-height.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-min-height-unit",
            "propertyName": "MinHeightUnit",
            "propertySetterName": "setMinHeightUnit",
            "propertyGetterName": "getMinHeightUnit",
            "refTo": "MinHeight",
            "displayName": "MinHeightUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 80,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Layout",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-grid-column-index",
            "propertyName": "GridColumnIndex",
            "propertySetterName": "setGridColumnIndex",
            "propertyGetterName": "getGridColumnIndex",
            "displayName": "GridColumnIndex",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 100,
            "type": "tchmi:general#/definitions/UDINT",
            "category": "Layout",
            "description": "Column index of the control inside a TcHmiGrid container.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": 0
        },
        {
            "name": "data-tchmi-grid-row-index",
            "propertyName": "GridRowIndex",
            "propertySetterName": "setGridRowIndex",
            "propertyGetterName": "getGridRowIndex",
            "displayName": "GridRowIndex",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 100,
            "type": "tchmi:general#/definitions/UDINT",
            "category": "Layout",
            "description": "Row index of the control inside a TcHmiGrid container.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": 0
        },
        {
            "name": "data-tchmi-zindex",
            "propertyName": "Zindex",
            "propertySetterName": "setZindex",
            "propertyGetterName": "getZindex",
            "displayName": "Zindex",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 200,
            "type": "tchmi:general#/definitions/UDINT",
            "category": "Layout",
            "description": "The z-index property specifies the z-order of a Control.\nWhen controls overlap, z-order determines which one covers the other.\nA control with a larger z-index generally covers a control with a lower one.\n\nNote: Reordering controls via document outline works, too, without touching any z-index.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-rendered-left",
            "propertyName": "RenderedLeft",
            "propertyGetterName": "getRenderedLeft",
            "displayName": "RenderedLeft",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the pixel distance between the left margin edge of the control and the left edge of its containing control.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-rendered-top",
            "propertyName": "RenderedTop",
            "propertyGetterName": "getRenderedTop",
            "displayName": "RenderedTop",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the pixel distance between the top margin edge of the control and the top edge of its containing control.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-rendered-right",
            "propertyName": "RenderedRight",
            "propertyGetterName": "getRenderedRight",
            "displayName": "RenderedRight",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the pixel distance between the right margin edge of the control and the right edge of its containing control.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-rendered-bottom",
            "propertyName": "RenderedBottom",
            "propertyGetterName": "getRenderedBottom",
            "displayName": "RenderedBottom",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the pixel distance between the bottom margin edge of the control and the bottom edge of its containing control.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-rendered-width",
            "propertyName": "RenderedWidth",
            "propertyGetterName": "getRenderedWidth",
            "displayName": "RenderedWidth",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the outer pixel width of the control.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-rendered-height",
            "propertyName": "RenderedHeight",
            "propertyGetterName": "getRenderedHeight",
            "displayName": "RenderedHeight",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the outer pixel height of the control.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-border-width",
            "propertyName": "BorderWidth",
            "propertySetterName": "setBorderWidth",
            "propertyGetterName": "getBorderWidth",
            "displayName": "BorderWidth",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/BorderWidth",
            "category": "Border",
            "description": "Width of the border of the control.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-border-style",
            "propertyName": "BorderStyle",
            "propertySetterName": "setBorderStyle",
            "propertyGetterName": "getBorderStyle",
            "displayName": "BorderStyle",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/BorderStyle",
            "category": "Border",
            "description": "Defines the style of the border. Valid values are 'Solid', 'Dashed', 'Dotted', 'None'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-border-radius",
            "propertyName": "BorderRadius",
            "propertySetterName": "setBorderRadius",
            "propertyGetterName": "getBorderRadius",
            "displayName": "BorderRadius",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/BorderRadius",
            "category": "Border",
            "description": "Border radius for rounded corners.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image",
            "propertyName": "BackgroundImage",
            "propertySetterName": "setBackgroundImage",
            "propertyGetterName": "getBackgroundImage",
            "displayName": "BackgroundImage",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/Path",
            "category": "Background Image",
            "description": "An image in the background which is rendered over a background color.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image-width",
            "propertyName": "BackgroundImageWidth",
            "propertySetterName": "setBackgroundImageWidth",
            "propertyGetterName": "getBackgroundImageWidth",
            "displayName": "BackgroundImageWidth",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Background Image",
            "description": "Width of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image-width-unit",
            "propertyName": "BackgroundImageWidthUnit",
            "propertySetterName": "setBackgroundImageWidthUnit",
            "propertyGetterName": "getBackgroundImageWidthUnit",
            "refTo": "BackgroundImageWidth",
            "displayName": "BackgroundImageWidthUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Background Image",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-background-image-height",
            "propertyName": "BackgroundImageHeight",
            "propertySetterName": "setBackgroundImageHeight",
            "propertyGetterName": "getBackgroundImageHeight",
            "displayName": "BackgroundImageHeight",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Background Image",
            "description": "Height of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image-height-unit",
            "propertyName": "BackgroundImageHeightUnit",
            "propertySetterName": "setBackgroundImageHeightUnit",
            "propertyGetterName": "getBackgroundImageHeightUnit",
            "refTo": "BackgroundImageHeight",
            "displayName": "BackgroundImageHeightUnit",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Background Image",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-background-image-horizontal-alignment",
            "propertyName": "BackgroundImageHorizontalAlignment",
            "propertySetterName": "setBackgroundImageHorizontalAlignment",
            "propertyGetterName": "getBackgroundImageHorizontalAlignment",
            "displayName": "BackgroundImageHorizontalAlignment",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/HorizontalAlignment",
            "category": "Background Image",
            "description": "Position of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Center"
        },
        {
            "name": "data-tchmi-background-image-vertical-alignment",
            "propertyName": "BackgroundImageVerticalAlignment",
            "propertySetterName": "setBackgroundImageVerticalAlignment",
            "propertyGetterName": "getBackgroundImageVerticalAlignment",
            "displayName": "BackgroundImageVerticalAlignment",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/VerticalAlignment",
            "category": "Background Image",
            "description": "Position of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Center"
        },
        {
            "name": "data-tchmi-background-image-padding",
            "propertyName": "BackgroundImagePadding",
            "propertySetterName": "setBackgroundImagePadding",
            "propertyGetterName": "getBackgroundImagePadding",
            "displayName": "BackgroundImagePadding",
            "visible": true,
            "themeable": "Advanced",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/Padding",
            "category": "Background Image",
            "description": "Padding of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-box-shadow",
            "propertyName": "BoxShadow",
            "propertySetterName": "setBoxShadow",
            "propertyGetterName": "getBoxShadow",
            "displayName": "BoxShadow",
            "visible": true,
            "themeable": "Standard",
            "displayPriority": 200,
            "type": "tchmi:framework#/definitions/BoxShadowList",
            "category": "Layout",
            "description": "Defines the box shadows.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        }
    ],
    "functions": [],
    "access": [
        {
            "name": "operate",
            "displayName": "Operate",
            "description": "Controls the ability to operate. This defaults to true.",
            "visible": true,
            "defaultValueInternal": null
        },
        {
            "name": "observe",
            "displayName": "Observe",
            "description": "Controls the ability to observe. This defaults to true.",
            "visible": true,
            "defaultValueInternal": null
        }
    ],
    "attributeCategories": [
        {
            "name": "Colors",
            "displayPriority": -10,
            "defaultCollapsed": false,
            "description": "All color definitions concerning this control."
        },
        {
            "name": "Layout",
            "displayPriority": 100,
            "defaultCollapsed": false,
            "description": "Attributes defining the position and size of a control."
        },
        {
            "name": "Layout (rendered)",
            "displayPriority": 110,
            "defaultCollapsed": true,
            "description": "Rendered size and position values in pixel."
        },
        {
            "name": "Common",
            "displayPriority": 200,
            "defaultCollapsed": false,
            "description": "Main attributes of this control."
        },
        {
            "name": "Border",
            "displayPriority": 300,
            "defaultCollapsed": true,
            "description": "Attributes defining the border of the control."
        },
        {
            "name": "Background Image",
            "displayPriority": 400,
            "defaultCollapsed": true,
            "description": "Attributes defining a background image of the control."
        },
        {
            "name": "None",
            "displayPriority": 999999,
            "defaultCollapsed": true,
            "description": "General attributes"
        }
    ],
    "events": [
        {
            "name": ".onAttached",
            "displayName": ".onAttached",
            "visible": true,
            "category": "Framework",
            "displayPriority": 10,
            "description": "The attached event is fired before a control is added to a view.",
            "heritable": true
        },
        {
            "name": ".onDetached",
            "displayName": ".onDetached",
            "visible": true,
            "category": "Framework",
            "displayPriority": 10,
            "description": "The detached event is fired after a control was removed from a view.",
            "heritable": true
        },
        {
            "name": ".onResized",
            "displayName": ".onResized",
            "visible": true,
            "category": "Framework",
            "description": "The resized event is fired after a control was resized.",
            "heritable": true
        },
        {
            "name": ".onMoved",
            "displayName": ".onMoved",
            "visible": true,
            "category": "Framework",
            "description": "The moved event is fired after a control was moved.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onInitialized",
            "displayName": ".onInitialized",
            "visible": true,
            "category": "Framework",
            "description": "The initialized event is fired after a control is initialized. Note that not all Binding values are available at this time.",
            "heritable": true
        },
        {
            "name": ".onDestroyed",
            "displayName": ".onDestroyed",
            "visible": true,
            "category": "Framework",
            "description": "The destroyed event is fired after a control is destroyed. Note that the control itself is not available anymore at this time.",
            "heritable": true
        },
        {
            "name": ".onMouseOver",
            "displayName": ".onMouseOver",
            "visible": true,
            "category": "Operator",
            "description": "The mouseover event is fired when a pointing device (usually a mouse) is moved onto the element that has the listener attached or onto one of its children.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseEnter",
            "displayName": ".onMouseEnter",
            "visible": true,
            "category": "Operator",
            "displayPriority": 50,
            "description": "The mouseenter event is fired when a pointing device (usually a mouse) is moved over the element that has the listener attached.\nDoes not trigger on children.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseDown",
            "displayName": ".onMouseDown",
            "visible": true,
            "category": "Operator",
            "displayPriority": 50,
            "description": "The mousedown event is fired when a pointing device button (usually a mouse button) is pressed on an element.\nNote: This Event is fired at a touch screen, too. To prevent this set 'preventDefault' on the correspondent touch event.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseDownLeft",
            "displayName": ".onMouseDownLeft",
            "visible": true,
            "category": "Operator",
            "description": "The mousedownleft event is fired when the main interaction botton (most left) of a pointing device button (usually a mouse button) is pressed on an element.\nNote: This Event is fired at a touch screen, too. To prevent this set 'preventDefault' on the correspondent touch event.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseDownRight",
            "displayName": ".onMouseDownRight",
            "visible": true,
            "category": "Operator",
            "description": "The mousedownright event is fired when the secondary interaction botton (most right) of a pointing device button (usually a mouse button) is pressed on an element.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseMove",
            "displayName": ".onMouseMove",
            "visible": true,
            "category": "Operator",
            "description": "The mousemove event is fired when a pointing device (usually a mouse) is moved while over an element.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseUp",
            "displayName": ".onMouseUp",
            "visible": true,
            "category": "Operator",
            "displayPriority": 50,
            "description": "The mouseup event is fired when a pointing device button (usually a mouse button) is released over an element.\nNote: This Event is fired at a touch screen, too. To prevent this set 'preventDefault' on the correspondent touch event.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseUpLeft",
            "displayName": ".onMouseUpLeft",
            "visible": true,
            "category": "Operator",
            "description": "The mouseupleft event is fired when the main interaction botton (most left) of a pointing device button is released over an element.\nNote: This Event is fired at a touch screen, too. To prevent this set 'preventDefault' on the correspondent touch event.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseUpRight",
            "displayName": ".onMouseUpRight",
            "visible": true,
            "category": "Operator",
            "description": "The mouseupright event is fired when the secondary interaction botton (most right) of a pointing device button is released over an element.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseClick",
            "displayName": ".onMouseClick",
            "visible": true,
            "category": "Operator",
            "displayPriority": 15,
            "description": "The mouseclick event is fired when a pointing device button (usually a mouse button) is pressed and released on a single element.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseRightClick",
            "displayName": ".onMouseRightClick",
            "visible": true,
            "category": "Operator",
            "displayPriority": 15,
            "description": "The mouserightclick event is fired when the right button of the mouse is clicked (before the context menu is displayed)",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseDoubleClick",
            "displayName": ".onMouseDoubleClick",
            "visible": true,
            "category": "Operator",
            "displayPriority": 15,
            "description": "The mousedoubleclick event is fired when a pointing device button (usually a mouse button) is clicked twice on a single element.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseOut",
            "displayName": ".onMouseOut",
            "visible": true,
            "category": "Operator",
            "description": "The mouseout event is fired when a pointing device (usually a mouse) is moved off the element that has the listener attached or off one of its children.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseLeave",
            "displayName": ".onMouseLeave",
            "visible": true,
            "category": "Operator",
            "displayPriority": 50,
            "description": "The mouseleave event is fired when a pointing device (usually a mouse) is moved off the element that has the listener attached.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onMouseWheel",
            "displayName": ".onMouseWheel",
            "visible": true,
            "category": "Operator",
            "description": "The wheel event is fired when a wheel button of a pointing device (usually a mouse) is rotated.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onTouchStart",
            "displayName": ".onTouchStart",
            "visible": true,
            "category": "Operator",
            "description": "The touchstart event is fired when a touch point is placed on the touch surface.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onTouchMove",
            "displayName": ".onTouchMove",
            "visible": true,
            "category": "Operator",
            "description": "The touchmove event is fired when a touch point is moved along the touch surface.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onTouchEnd",
            "displayName": ".onTouchEnd",
            "visible": true,
            "category": "Operator",
            "description": "The touchend event is fired when a touch point is removed from the touch surface.",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onTouchCancel",
            "displayName": ".onTouchCancel",
            "visible": true,
            "category": "Operator",
            "description": "The touchcancel event is fired when a touch point has been disrupted in an implementation-specific manner (for example, too many touch points are created).",
            "heritable": true,
            "allowsPreventDefault": true
        },
        {
            "name": ".onPressed",
            "displayName": ".onPressed",
            "visible": true,
            "category": "Operator",
            "displayPriority": 10,
            "description": "The pressed event is fired after a click (mouse) or tap (touch) event.",
            "heritable": true
        }
    ],
    "creator": {
        "attributes": [
            {
                "name": "data-tchmi-creator-visibility",
                "type": "tchmi:framework#/definitions/Visibility",
                "required": false,
                "description": "Defines if the Control is visible while engineering.",
                "defaultValue": null,
                "defaultValueInternal": "Visible"
            },
            {
                "name": "data-tchmi-creator-locked",
                "type": "tchmi:general#/definitions/Boolean",
                "required": false,
                "description": "Defines if the Control is locked (not changeable with the keyboard/mouse) while engineering.",
                "defaultValue": null,
                "defaultValueInternal": false
            }
        ]
    },
    "dataTypes": [
        {
            "schema": "Schema/Types.Schema.json"
        }
    ]
}