{
  "$schema": "http://json-schema.org/draft-04/schema",
  "definitions": {
    "AccessConfig": {
      "definitions": {
        "access": {
          "title": "Access",
          "type": "object",
          "engineeringColumns": [
            "accessright",
            "group",
            "permission"
          ],
          "propertiesMeta": [
            {
              "name": "accessright",
              "displayName": "Access right",
              "category": "General",
              "displayPriority": 10,
              "description": "Right which this rule defines."
            },
            {
              "name": "group",
              "displayName": "Group",
              "category": "General",
              "displayPriority": 10,
              "description": "Group to which this access right is given."
            },
            {
              "name": "permission",
              "displayName": "Permission",
              "category": "General",
              "displayPriority": 10,
              "description": "Permission for this access rule. \nAllow of one group overrides Deny/Inherit of another group. \nDeny will result in deny if we have no Allow of another group. \nInherit will ask parent control when we got no Allow/Deny. If the parent does not define something there will be a specified default."
            }
          ],
          "properties": {
            "accessright": {
              "type": "string",
              "minLength": 1
            },
            "group": {
              "type": "string",
              "minLength": 1
            },
            "permission": {
              "type": "string",
              "enum": [
                "Allow",
                "Deny",
                "Inherit"
              ]
            }
          },
          "required": [
            "accessright",
            "group",
            "permission"
          ]
        }
      },
      "type": "array",
      "items": {
        "$ref": "#/definitions/AccessConfig/definitions/access"
      }
    },
    "BorderRadius": {
      "type": "object",
      "propertiesMeta": [
        {
          "name": "topLeft",
          "category": "general",
          "displayName": "TopLeft",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "topLeftUnit",
          "category": "general",
          "refTo": "topLeft",
          "displayName": "TopLeftUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "topRight",
          "category": "general",
          "displayName": "TopRight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "topRightUnit",
          "category": "general",
          "refTo": "topRight",
          "displayName": "TopRightUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "bottomRight",
          "category": "general",
          "displayName": "BottomRight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "bottomRightUnit",
          "category": "general",
          "refTo": "bottomRight",
          "displayName": "BottomRightUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "bottomLeft",
          "category": "general",
          "displayName": "BottomLeft",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "bottomLeftUnit",
          "category": "general",
          "refTo": "bottomLeft",
          "displayName": "BottomLeftUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        }
      ],
      "properties": {
        "topLeft": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "topLeftUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        },
        "topRight": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "topRightUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        },
        "bottomRight": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "bottomRightUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        },
        "bottomLeft": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "bottomLeftUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        }
      },
      "required": [
        "topLeft",
        "topRight",
        "bottomRight",
        "bottomLeft"
      ]
    },
    "BorderStyle": {
      "definitions": {
        "style": {
          "type": "string",
          "enum": [
            "Solid",
            "Dashed",
            "Dotted",
            "None"
          ],
          "default": "Solid"
        }
      },
      "type": "object",
      "properties": {
        "left": {
          "$ref": "#/definitions/BorderStyle/definitions/style"
        },
        "top": {
          "$ref": "#/definitions/BorderStyle/definitions/style"
        },
        "right": {
          "$ref": "#/definitions/BorderStyle/definitions/style"
        },
        "bottom": {
          "$ref": "#/definitions/BorderStyle/definitions/style"
        }
      },
      "required": [
        "left",
        "top",
        "right",
        "bottom"
      ]
    },
    "BorderWidth": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "properties": {
        "left": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "leftUnit": {
          "$ref": "#/definitions/PixelUnit"
        },
        "top": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "topUnit": {
          "$ref": "#/definitions/PixelUnit"
        },
        "right": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "rightUnit": {
          "$ref": "#/definitions/PixelUnit"
        },
        "bottom": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "bottomUnit": {
          "$ref": "#/definitions/PixelUnit"
        }
      },
      "required": [
        "left",
        "top",
        "right",
        "bottom"
      ]
    },
    "BoxShadowList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "array",
      "items": {
        "title": "BoxShadow definition",
        "type": "object",
        "propertiesMeta": [
          {
            "name": "color",
            "category": "Colors",
            "displayName": "Color",
            "displayPriority": 10,
            "description": "Color of this Box Shadow",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "offsetX",
            "category": "General",
            "displayName": "OffsetX",
            "displayPriority": 10,
            "description": "The Shadow Offset.",
            "defaultValue": null,
            "defaultValueInternal": 0
          },
          {
            "name": "offsetXUnit",
            "refTo": "offsetX",
            "category": "General",
            "displayName": "OffsetX Unit",
            "displayPriority": 10,
            "description": "The Shadow Offset.",
            "defaultValue": null,
            "defaultValueInternal": "px"
          },
          {
            "name": "offsetY",
            "category": "General",
            "displayName": "OffsetY",
            "displayPriority": 10,
            "description": "The Shadow Offset.",
            "defaultValue": null,
            "defaultValueInternal": 0
          },
          {
            "name": "offsetYUnit",
            "refTo": "offsetY",
            "category": "General",
            "displayName": "OffsetY Unit",
            "displayPriority": 10,
            "description": "The Shadow Offset.",
            "defaultValue": null,
            "defaultValueInternal": "px"
          },
          {
            "name": "inset",
            "category": "General",
            "displayName": "Inset",
            "displayPriority": 10,
            "description": "Inset shadows are drawn inside the border (even transparent ones), above the background, but below content.",
            "defaultValue": null,
            "defaultValueInternal": false
          },
          {
            "name": "blur",
            "category": "General",
            "displayName": "Blur",
            "displayPriority": 10,
            "description": "The larger this value, the bigger the blur, so the shadow becomes bigger and lighter.",
            "defaultValue": null,
            "defaultValueInternal": 0
          },
          {
            "name": "blurUnit",
            "refTo": "blur",
            "category": "General",
            "displayName": "BlurUnit",
            "displayPriority": 10,
            "description": "The larger this value, the bigger the blur, so the shadow becomes bigger and lighter.",
            "defaultValue": null,
            "defaultValueInternal": "px"
          },
          {
            "name": "spread",
            "category": "General",
            "displayName": "Spread",
            "displayPriority": 10,
            "description": "Positive values will cause the shadow to expand and grow bigger, negative values will cause the shadow to shrink.",
            "defaultValue": null,
            "defaultValueInternal": 0
          },
          {
            "name": "spreadUnit",
            "refTo": "spread",
            "category": "General",
            "displayName": "SpreadUnit",
            "displayPriority": 10,
            "description": "Positive values will cause the shadow to expand and grow bigger, negative values will cause the shadow to shrink.",
            "defaultValue": null,
            "defaultValueInternal": "px"
          }
        ],
        "properties": {
          "color": {
            "$ref": "#/definitions/SolidColor"
          },
          "offsetX": {
            "$ref": "#/definitions/MeasurementValue"
          },
          "offsetXUnit": {
            "$ref": "#/definitions/PixelUnit"
          },
          "offsetY": {
            "$ref": "#/definitions/MeasurementValue"
          },
          "offsetYUnit": {
            "$ref": "#/definitions/PixelUnit"
          },
          "inset": {
            "type": "boolean"
          },
          "blur": {
            "$ref": "#/definitions/MeasurementValue"
          },
          "blurUnit": {
            "$ref": "#/definitions/PixelUnit"
          },
          "spread": {
            "$ref": "#/definitions/MeasurementValue"
          },
          "spreadUnit": {
            "$ref": "#/definitions/PixelUnit"
          }
        }
      },
      "minItems": 0
    },
    "ClassNameList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 0
    },
    "Color": {
      "anyOf": [
        {
          "$ref": "#/definitions/SolidColor"
        },
        {
          "$ref": "#/definitions/LinearGradientColor"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "ContentPath": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "minLength": 1
    },
    "ContextReference": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object"
    },
    "Control": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiControl",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "ControlAccessRight": {
      "type": "object",
      "description": "An access right which is checked by controls. In the Schema a defaultValue of true mean access is granted, false is denied, null is ask parent.",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "description": "Name of the access definition in the HTML."
        },
        "displayName": {
          "type": "string",
          "description": "Name which should be presented the user."
        },
        "visible": {
          "type": "boolean",
          "description": "Determine if an access definition is shown to the user."
        },
        "description": {
          "type": "string",
          "description": "A long description of this access definition."
        },
        "defaultValueInternal": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Defines the default of this control access right. This will be used if the check for this access right does not return a result. true mean access is granted, false is denied, null is ask parent."
        }
      },
      "required": [
        "name",
        "displayName",
        "visible",
        "defaultValueInternal"
      ]
    },
    "ControlAccessRightName": {
      "type": "string"
    },
    "ControlNamespace": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "minLength": 1
    },
    "ControlPropertyName": {
      "type": "string"
    },
    "ControlType": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "minLength": 1
    },
    "Empty": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "enum": [
        ""
      ]
    },
    "FontFamily": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string"
    },
    "FontSizeUnit": {
      "type": "string",
      "enum": [
        "px",
        "%"
      ],
      "default": "px"
    },
    "FontStyle": {
      "type": "string",
      "enum": [
        "Normal",
        "Italic",
        "Oblique",
        "Auto"
      ],
      "default": "Normal"
    },
    "FontWeight": {
      "type": "string",
      "enum": [
        "Normal",
        "Bold",
        "Auto"
      ],
      "default": "Normal"
    },
    "Fraction": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "Function": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "definitions": {
        "value": {
          "anyOf": [
            {
              "title": "StaticValue",
              "type": "object",
              "properties": {
                "objectType": {
                  "description": "An enum defining the variable type.",
                  "type": "string",
                  "enum": [
                    "StaticValue"
                  ]
                },
                "value": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "array"
                    },
                    {
                      "type": "object"
                    }
                  ]
                },
                "valueType": {
                  "type": "string"
                }
              },
              "required": [
                "objectType",
                "value",
                "valueType"
              ]
            },
            {
              "title": "Symbol",
              "type": "object",
              "properties": {
                "objectType": {
                  "description": "An enum defining the variable type.",
                  "type": "string",
                  "enum": [
                    "Symbol"
                  ]
                },
                "symbolExpression": {
                  "$ref": "#/definitions/Function/definitions/symbolExpression"
                }
              },
              "required": [
                "objectType",
                "symbolExpression"
              ]
            },
            {
              "title": "ControlApiFunction",
              "type": "object",
              "properties": {
                "objectType": {
                  "description": "An enum defining the variable type.",
                  "type": "string",
                  "enum": [
                    "ControlApiFunction"
                  ]
                },
                "control": {
                  "type": "string"
                },
                "fn": {
                  "type": "string"
                },
                "valueType": {
                  "type": "string"
                }
              },
              "required": [
                "objectType",
                "control",
                "fn",
                "valueType"
              ]
            },
            {
              "title": "EventDataObject",
              "type": "object",
              "properties": {
                "objectType": {
                  "description": "An enum defining the variable type.",
                  "type": "string",
                  "enum": [
                    "EventDataObject"
                  ]
                },
                "propertyPath": {
                  "type": "string"
                }
              },
              "required": [
                "objectType",
                "propertyPath"
              ]
            }
          ]
        },
        "symbolExpression": {
          "title": "SymbolExpression",
          "type": "string",
          "pattern": "^%(s|i|l|pp|tp|f|ctrl|ctx|tr)%.+%\\1%$"
        }
      },
      "properties": {
        "objectType": {
          "type": "string",
          "enum": [
            "Function"
          ]
        },
        "fn": {
          "type": "string"
        },
        "fnParams": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Function/definitions/value"
          }
        }
      },
      "required": [
        "objectType",
        "fn",
        "fnParams"
      ]
    },
    "FunctionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "array",
      "items": {
        "$ref": "#/definitions/Function"
      }
    },
    "HorizontalAlignment": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "enum": [
        "Left",
        "Center",
        "Right"
      ]
    },
    "Id": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "minLength": 1
    },
    "Inputmode": {
      "description": "Defines which keyboard layout should be loaded in the system keyboard when interacting. The exact layout file is defined in the project. \nThe most common one are: 'numeric', 'decimal', 'text'. Own project keywords are possible. \n'skip' ignores a focusIn, 'none' closes a keyboard on focusIn.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "text",
            "numeric",
            "decimal",
            "skip",
            "none"
          ],
          "description": "'skip' ignores a focusIn, 'none' closes a keyboard on focusIn."
        },
        {
          "type": "string",
          "description": "Project defined input mode"
        }
      ],
      "default": "text"
    },
    "LinearGradientColor": {
      "type": "object",
      "engineeringColumns": [
        "angle"
      ],
      "propertiesMeta": [
        {
          "name": "angle",
          "displayName": "Angle",
          "category": "General",
          "displayPriority": 10,
          "description": "Angle this Gradient is defined"
        }
      ],
      "properties": {
        "angle": {
          "type": "number"
        },
        "stopPoints": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StopPoint"
          },
          "minItems": 2
        }
      },
      "default": {
        "angle": 0,
        "stopPoints": [
          {
            "color": "rgba(0, 0, 0, 1)",
            "stop": "0%"
          },
          {
            "color": "rgba(255, 255, 255, 1)",
            "stop": "100%"
          }
        ]
      },
      "required": [
        "angle",
        "stopPoints"
      ]
    },
    "Locale": {
      "default": "en",
      "description": "(Deprecated, use ProjectLocale from general) A list of locales for which we have a localization file in the project.",
      "type": "string"
    },
    "MeasurementUnit": {
      "type": "string",
      "enum": [
        "px",
        "%"
      ],
      "default": "px"
    },
    "MeasurementUnitOrFactor": {
      "type": "string",
      "enum": [
        "px",
        "%",
        "factor"
      ],
      "default": "px",
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiGrid.MeasurementUnitOrFactor"
    },
    "MeasurementValue": {
      "type": "number"
    },
    "Padding": {
      "type": "object",
      "propertiesMeta": [
        {
          "name": "left",
          "category": "general",
          "displayName": "Left",
          "displayPriority": 10,
          "description": "Sets the left padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "leftUnit",
          "category": "general",
          "refTo": "left",
          "displayName": "LeftUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "top",
          "category": "general",
          "displayName": "Top",
          "displayPriority": 10,
          "description": "Sets the top padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "topUnit",
          "category": "general",
          "refTo": "top",
          "displayName": "TopUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "right",
          "category": "general",
          "displayName": "Right",
          "displayPriority": 10,
          "description": "Sets the right padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "rightUnit",
          "category": "general",
          "refTo": "right",
          "displayName": "RightUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "bottom",
          "category": "general",
          "displayName": "Bottom",
          "displayPriority": 10,
          "description": "Sets the bottom padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "bottomUnit",
          "category": "general",
          "refTo": "bottom",
          "displayName": "BottomUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        }
      ],
      "properties": {
        "left": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "leftUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        },
        "top": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "topUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        },
        "right": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "rightUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        },
        "bottom": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "bottomUnit": {
          "$ref": "#/definitions/MeasurementUnit"
        }
      },
      "required": [
        "left",
        "top",
        "right",
        "bottom"
      ]
    },
    "Path": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "minLength": 1
    },
    "PixelPadding": {
      "type": "object",
      "propertiesMeta": [
        {
          "name": "left",
          "category": "general",
          "displayName": "Left",
          "displayPriority": 10,
          "description": "Sets the left padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "leftUnit",
          "category": "general",
          "refTo": "left",
          "displayName": "LeftUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "top",
          "category": "general",
          "displayName": "Top",
          "displayPriority": 10,
          "description": "Sets the top padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "topUnit",
          "category": "general",
          "refTo": "top",
          "displayName": "TopUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "right",
          "category": "general",
          "displayName": "Right",
          "displayPriority": 10,
          "description": "Sets the right padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "rightUnit",
          "category": "general",
          "refTo": "right",
          "displayName": "RightUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "bottom",
          "category": "general",
          "displayName": "Bottom",
          "displayPriority": 10,
          "description": "Sets the bottom padding of the element.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "bottomUnit",
          "category": "general",
          "refTo": "bottom",
          "displayName": "BottomUnit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        }
      ],
      "properties": {
        "left": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "leftUnit": {
          "$ref": "#/definitions/PixelUnit"
        },
        "top": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "topUnit": {
          "$ref": "#/definitions/PixelUnit"
        },
        "right": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "rightUnit": {
          "$ref": "#/definitions/PixelUnit"
        },
        "bottom": {
          "$ref": "#/definitions/PositiveNumber"
        },
        "bottomUnit": {
          "$ref": "#/definitions/PixelUnit"
        }
      },
      "required": [
        "left",
        "top",
        "right",
        "bottom"
      ]
    },
    "PixelUnit": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "enum": [
        "px"
      ]
    },
    "PositiveNumber": {
      "allOf": [
        {
          "$ref": "tchmi:general#/definitions/Number"
        },
        {
          "minimum": 0
        }
      ]
    },
    "RecipeReference": {
      "description": "Refers to one recipe of the server.",
      "type": "string",
      "minLength": 1
    },
    "MultipleRecipeReferences": {
      "description": "Refers to one or more recipe types of the server.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/RecipeReference"
      }
    },
    "RecipeTypeReference": {
      "description": "Refers to one recipe type of the server.",
      "type": "string",
      "minLength": 1
    },
    "MultipleRecipeTypeReferences": {
      "description": "Refers to one or more recipe types of the server.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/RecipeTypeReference"
      }
    },
    "ScaleMode": {
      "type": "string",
      "enum": [
        "None",
        "ScaleToFill",
        "ScaleToFit",
        "ScaleToFitWidth",
        "ScaleToFitHeight"
      ],
      "default": "None"
    },
    "ScrollMode": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "enum": [
        "No",
        "Yes",
        "Auto"
      ]
    },
    "ServerEvent": {
      "anyOf": [
        {
          "title": "Message",
          "type": "object",
          "properties": {
            "type": {
              "type": "integer",
              "enum": [
                0
              ],
              "options": [
                {
                  "label": "ENUM_0_MESSAGE",
                  "value": 0
                }
              ],
              "default": 0
            },
            "domain": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "timeReceived": {
              "type": "string",
              "format": "date-time"
            },
            "sessionId": {
              "type": "string"
            },
            "severity": {
              "$ref": "tchmi:server#/definitions/severity"
            },
            "sourceDomain": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "timeRaised": {
              "type": "string",
              "format": "date-time"
            },
            "params": {
              "type": "object"
            }
          },
          "required": [
            "type",
            "domain",
            "name",
            "timeReceived",
            "severity",
            "sourceDomain",
            "text",
            "timeRaised",
            "params"
          ]
        },
        {
          "title": "Alarm",
          "type": "object",
          "properties": {
            "type": {
              "type": "integer",
              "enum": [
                1
              ],
              "options": [
                {
                  "label": "ENUM_1_ALARM",
                  "value": 1
                }
              ],
              "default": 1
            },
            "domain": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "timeReceived": {
              "type": "string",
              "format": "date-time"
            },
            "sessionId": {
              "type": "string"
            },
            "severity": {
              "$ref": "tchmi:server#/definitions/severity"
            },
            "sourceDomain": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "timeRaised": {
              "type": "string",
              "format": "date-time"
            },
            "params": {
              "type": "object"
            },
            "id": {
              "type": "integer"
            },
            "timeCleared": {
              "$ref": "tchmi:server#/definitions/nullableDateTime"
            },
            "timeConfirmed": {
              "$ref": "tchmi:server#/definitions/nullableDateTime"
            },
            "alarmState": {
              "$ref": "tchmi:server#/definitions/alarmState"
            },
            "confirmationState": {
              "$ref": "tchmi:server#/definitions/confirmationState"
            }
          },
          "required": [
            "type",
            "domain",
            "name",
            "timeReceived",
            "severity",
            "sourceDomain",
            "text",
            "timeRaised",
            "params",
            "id",
            "timeCleared",
            "timeConfirmed",
            "alarmState",
            "confirmationState"
          ]
        },
        {
          "title": "PayloadEvent",
          "type": "object",
          "properties": {
            "type": {
              "type": "integer",
              "enum": [
                2
              ],
              "options": [
                {
                  "label": "ENUM_2_PAYLOAD",
                  "value": 2
                }
              ],
              "default": 2
            },
            "domain": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "timeReceived": {
              "type": "string",
              "format": "date-time"
            },
            "sessionId": {
              "type": "string"
            },
            "payload": {}
          },
          "required": [
            "type",
            "domain",
            "name",
            "timeReceived"
          ]
        }
      ]
    },
    "SizeMode": {
      "type": "string",
      "enum": [
        "Value",
        "Parent"
      ],
      "default": "Value"
    },
    "SizeModeWithContent": {
      "type": "string",
      "enum": [
        "Value",
        "Parent",
        "Content"
      ],
      "default": "Value"
    },
    "SolidColor": {
      "type": "object",
      "properties": {
        "color": {
          "description": "Defining a color as CSS color: #-hexadecimal, rgb(), rgba(), hsl(), hsla(), css color keyword, none or transparent.",
          "type": "string",
          "minLength": 1,
          "default": "#000000"
        }
      },
      "required": [
        "color"
      ]
    },
    "Sorting": {
      "title": "Sorting",
      "type": "array",
      "items": {
        "title": "Sorting criterion",
        "type": "object",
        "engineeringColumns": [
          "name",
          "order"
        ],
        "propertiesMeta": [
          {
            "name": "name",
            "displayName": "Name",
            "category": "General",
            "displayPriority": 10,
            "description": "Name of the property to sort by",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "order",
            "displayName": "Order",
            "category": "General",
            "displayPriority": 10,
            "description": "Sort definition",
            "defaultValue": null,
            "defaultValueInternal": null
          }
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "order": {
            "type": "string",
            "enum": [
              "Ascending",
              "Descending"
            ],
            "default": "Ascending"
          }
        },
        "required": [
          "order"
        ],
        "additionalProperties": false
      }
    },
    "StopPoint": {
      "title": "StopPoint definition",
      "type": "object",
      "engineeringColumns": [
        "color",
        "stop"
      ],
      "properties": {
        "color": {
          "description": "Defining a color as CSS color: #-hexadecimal, rgb(), rgba(), hsl(), hsla(), lowercase css color keyword or transparent.",
          "type": "string",
          "minLength": 1
        },
        "stop": {
          "type": "string",
          "pattern": "^[0-9]*\\.?[0-9]+(?:px|%)$"
        }
      },
      "required": [
        "color"
      ]
    },
    "Symbol": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Symbol"
    },
    "ThemeName": {
      "type": "string",
      "default": "Base"
    },
    "ToggleState": {
      "type": "string",
      "enum": [
        "Normal",
        "Active"
      ],
      "default": "Normal"
    },
    "TransformList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "definitions": {
        "transform": {
          "anyOf": [
            {
              "title": "Translate",
              "type": "object",
              "propertiesMeta": [
                {
                  "name": "transformType",
                  "category": "general",
                  "displayName": "TransformType",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "x",
                  "category": "general",
                  "displayName": "x",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "xUnit",
                  "category": "general",
                  "refTo": "x",
                  "displayName": "xUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "px"
                },
                {
                  "name": "y",
                  "category": "general",
                  "displayName": "y",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "yUnit",
                  "category": "general",
                  "refTo": "y",
                  "displayName": "yUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "px"
                },
                {
                  "name": "z",
                  "category": "general",
                  "displayName": "z",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "zUnit",
                  "category": "general",
                  "refTo": "z",
                  "displayName": "zUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "px"
                }
              ],
              "properties": {
                "transformType": {
                  "type": "string",
                  "enum": [
                    "Translate"
                  ]
                },
                "x": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "xUnit": {
                  "$ref": "#/definitions/MeasurementUnit"
                },
                "y": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "yUnit": {
                  "$ref": "#/definitions/MeasurementUnit"
                },
                "z": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "zUnit": {
                  "$ref": "#/definitions/MeasurementUnit"
                }
              },
              "required": [
                "transformType"
              ]
            },
            {
              "title": "Rotate",
              "type": "object",
              "propertiesMeta": [
                {
                  "name": "transformType",
                  "category": "general",
                  "displayName": "TransformType",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "angle",
                  "category": "general",
                  "displayName": "Angle",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "angleUnit",
                  "category": "general",
                  "refTo": "angle",
                  "displayName": "AngleUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "deg"
                }
              ],
              "properties": {
                "transformType": {
                  "type": "string",
                  "enum": [
                    "Rotate"
                  ]
                },
                "angle": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "angleUnit": {
                  "$ref": "#/definitions/TransformList/definitions/angleUnit"
                },
                "vector": {
                  "type": "object",
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    },
                    "z": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "x",
                    "y",
                    "z"
                  ]
                }
              },
              "required": [
                "transformType",
                "angle"
              ]
            },
            {
              "title": "Scale",
              "type": "object",
              "properties": {
                "transformType": {
                  "type": "string",
                  "enum": [
                    "Scale"
                  ]
                },
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                },
                "z": {
                  "type": "number"
                }
              },
              "required": [
                "transformType"
              ]
            },
            {
              "title": "Skew",
              "type": "object",
              "propertiesMeta": [
                {
                  "name": "transformType",
                  "category": "general",
                  "displayName": "TransformType",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "xAngle",
                  "category": "general",
                  "displayName": "xAngle",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "xAngleUnit",
                  "category": "general",
                  "refTo": "xAngle",
                  "displayName": "xAngleUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "deg"
                },
                {
                  "name": "yAngle",
                  "category": "general",
                  "displayName": "yAngle",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "yAngleUnit",
                  "category": "general",
                  "refTo": "yAngle",
                  "displayName": "yAngleUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "deg"
                }
              ],
              "properties": {
                "transformType": {
                  "type": "string",
                  "enum": [
                    "Skew"
                  ]
                },
                "xAngle": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "xAngleUnit": {
                  "$ref": "#/definitions/TransformList/definitions/angleUnit"
                },
                "yAngle": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "yAngleUnit": {
                  "$ref": "#/definitions/TransformList/definitions/angleUnit"
                }
              },
              "required": [
                "transformType"
              ]
            },
            {
              "title": "Origin",
              "type": "object",
              "propertiesMeta": [
                {
                  "name": "transformType",
                  "category": "general",
                  "displayName": "TransformType",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "x",
                  "category": "general",
                  "displayName": "x",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "xUnit",
                  "category": "general",
                  "refTo": "x",
                  "displayName": "xUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "px"
                },
                {
                  "name": "y",
                  "category": "general",
                  "displayName": "y",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "yUnit",
                  "category": "general",
                  "refTo": "y",
                  "displayName": "yUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "px"
                },
                {
                  "name": "z",
                  "category": "general",
                  "displayName": "z",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "zUnit",
                  "category": "general",
                  "refTo": "z",
                  "displayName": "zUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "px"
                }
              ],
              "properties": {
                "transformType": {
                  "type": "string",
                  "enum": [
                    "Origin"
                  ]
                },
                "x": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "xUnit": {
                  "$ref": "#/definitions/MeasurementUnit"
                },
                "y": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "yUnit": {
                  "$ref": "#/definitions/MeasurementUnit"
                },
                "z": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "zUnit": {
                  "$ref": "#/definitions/MeasurementUnit"
                }
              },
              "required": [
                "transformType"
              ]
            },
            {
              "title": "Perspective",
              "type": "object",
              "propertiesMeta": [
                {
                  "name": "transformType",
                  "category": "general",
                  "displayName": "TransformType",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "distance",
                  "category": "general",
                  "displayName": "Distance",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "distanceUnit",
                  "category": "general",
                  "refTo": "distance",
                  "displayName": "DistanceUnit",
                  "displayPriority": 10,
                  "description": "",
                  "defaultValue": null,
                  "defaultValueInternal": "px"
                }
              ],
              "properties": {
                "transformType": {
                  "type": "string",
                  "enum": [
                    "Perspective"
                  ]
                },
                "distance": {
                  "$ref": "#/definitions/MeasurementValue"
                },
                "distanceUnit": {
                  "$ref": "#/definitions/MeasurementUnit"
                },
                "origin": {
                  "type": "object",
                  "propertiesMeta": [
                    {
                      "name": "x",
                      "category": "general",
                      "displayName": "x",
                      "displayPriority": 10,
                      "description": "",
                      "defaultValue": null,
                      "defaultValueInternal": null
                    },
                    {
                      "name": "xUnit",
                      "category": "general",
                      "refTo": "x",
                      "displayName": "xUnit",
                      "displayPriority": 10,
                      "description": "",
                      "defaultValue": null,
                      "defaultValueInternal": "px"
                    },
                    {
                      "name": "y",
                      "category": "general",
                      "displayName": "y",
                      "displayPriority": 10,
                      "description": "",
                      "defaultValue": null,
                      "defaultValueInternal": null
                    },
                    {
                      "name": "yUnit",
                      "category": "general",
                      "refTo": "y",
                      "displayName": "yUnit",
                      "displayPriority": 10,
                      "description": "",
                      "defaultValue": null,
                      "defaultValueInternal": "px"
                    }
                  ],
                  "properties": {
                    "x": {
                      "$ref": "#/definitions/MeasurementValue"
                    },
                    "xUnit": {
                      "$ref": "#/definitions/MeasurementUnit"
                    },
                    "y": {
                      "$ref": "#/definitions/MeasurementValue"
                    },
                    "yUnit": {
                      "$ref": "#/definitions/MeasurementUnit"
                    }
                  }
                }
              },
              "required": [
                "transformType",
                "distance"
              ]
            }
          ]
        },
        "angleUnit": {
          "type": "string",
          "enum": [
            "deg",
            "rad",
            "turn",
            "grad"
          ]
        }
      },
      "type": "array",
      "items": {
        "$ref": "#/definitions/TransformList/definitions/transform"
      }
    },
    "Trigger": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "definitions": {
        "action": {
          "anyOf": [
            {
              "title": "Condition",
              "type": "object",
              "description": "IF .. THEN ..ELSE - style condition",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "Condition"
                  ]
                },
                "parts": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "if": {
                            "$ref": "#/definitions/Trigger/definitions/expression"
                          },
                          "then": {
                            "type": "array",
                            "items": {
                              "$ref": "#/definitions/Trigger/definitions/action"
                            }
                          },
                          "showThenActions": {
                            "type": "boolean",
                            "description": "Holds the current state of the Trigger GUI. Not used in runtime"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "elseif": {
                            "$ref": "#/definitions/Trigger/definitions/expression"
                          },
                          "then": {
                            "type": "array",
                            "items": {
                              "$ref": "#/definitions/Trigger/definitions/action"
                            }
                          },
                          "showThenActions": {
                            "type": "boolean",
                            "description": "Holds the current state of the Trigger GUI. Not used in runtime"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "else": {
                            "type": "array",
                            "items": {
                              "$ref": "#/definitions/Trigger/definitions/action"
                            }
                          },
                          "showThenActions": {
                            "type": "boolean",
                            "description": "Holds the current state of the Trigger GUI. Not used in runtime"
                          }
                        }
                      }
                    ]
                  }
                },
                "success": {
                  "description": "Success callback action list.",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "description": "Error callback action list.",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType",
                "true",
                "false"
              ]
            },
            {
              "title": "SwitchCase",
              "type": "object",
              "description": "SWITCH .. CASE ..CASE - style condition",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "SwitchCase"
                  ]
                },
                "compare": {
                  "$ref": "#/definitions/Trigger/definitions/value"
                },
                "cases": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/vCase"
                  }
                },
                "caseDefault": {
                  "$ref": "#/definitions/Trigger/definitions/dCase"
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType",
                "compare",
                "cases",
                "caseDefault"
              ]
            },
            {
              "title": "WriteToSymbol",
              "type": "object",
              "description": "Write To Symbol",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "WriteToSymbol"
                  ]
                },
                "symbolExpression": {
                  "$ref": "#/definitions/Trigger/definitions/symbolExpression"
                },
                "value": {
                  "$ref": "#/definitions/Trigger/definitions/value"
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType",
                "symbolExpression",
                "value"
              ]
            },
            {
              "title": "Function",
              "type": "object",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "Function"
                  ]
                },
                "fn": {
                  "type": "string"
                },
                "fnParams": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/value"
                  }
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType",
                "fn",
                "fnParams"
              ]
            },
            {
              "title": "JavaScript",
              "type": "object",
              "description": "Executes a user-defined JavaScript",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "JavaScript"
                  ]
                },
                "sourceLines": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "injectContextObject": {
                  "type": "boolean",
                  "description": "Inject context object.\nCall ctx.success() or ctx.error(TcHmi.Errors.ERROR)"
                },
                "waitMode": {
                  "type": "string",
                  "enum": [
                    "Synchronous",
                    "Asynchronous"
                  ],
                  "description": "Synchronous: Next step will called after last JavaScript line. Asynchronous: Next step will called after calling ctx.success() or ctx.error(TcHmi.Errors.ERROR)"
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  },
                  "description": "Steps which will be called after call of ctx.success() with Asynchronous or last line with Synchronous."
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  },
                  "description": "Steps which will be called after call of ctx.success() with Asynchronous or an exception with Synchronous."
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean",
                  "description": "The next step is called after the completion of this step."
                }
              },
              "required": [
                "objectType",
                "sourceLines"
              ]
            },
            {
              "title": "ActionTemplate",
              "type": "object",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "ActionTemplate"
                  ]
                },
                "description": {
                  "type": "string",
                  "description": "A long description of this control."
                },
                "templateName": {
                  "type": "string"
                },
                "fnParams": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/value"
                  }
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType",
                "templateName",
                "fnParams"
              ]
            },
            {
              "title": "ControlApiFunction",
              "type": "object",
              "description": "",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "ControlApiFunction"
                  ]
                },
                "control": {
                  "type": "string"
                },
                "fn": {
                  "type": "string"
                },
                "fnParams": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/value"
                  }
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType",
                "control",
                "fn"
              ]
            },
            {
              "title": "FunctionExpression",
              "type": "object",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "FunctionExpression"
                  ]
                },
                "functionExpression": {
                  "type": "string"
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType",
                "functionExpression"
              ]
            },
            {
              "title": "Comment",
              "type": "object",
              "description": "Free comment. Will be ignored on runtime.",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "Comment"
                  ]
                },
                "target": {
                  "$ref": "#/definitions/Trigger/definitions/comment"
                },
                "success": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "error": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Trigger/definitions/action"
                  }
                },
                "active": {
                  "type": "boolean",
                  "description": "Should action be active? Defaults to true.",
                  "default": true
                },
                "collapsed": {
                  "type": "boolean",
                  "description": "Should action be collapsed? Not used in runtime",
                  "default": false
                },
                "asyncWait": {
                  "type": "boolean"
                }
              },
              "required": [
                "objectType"
              ]
            }
          ]
        },
        "value": {
          "anyOf": [
            {
              "title": "StaticValue",
              "type": "object",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "StaticValue"
                  ]
                },
                "value": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "array"
                    },
                    {
                      "type": "object"
                    }
                  ]
                },
                "valueType": {
                  "type": "string"
                }
              },
              "required": [
                "objectType",
                "value",
                "valueType"
              ]
            },
            {
              "title": "Symbol",
              "type": "object",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "Symbol"
                  ]
                },
                "symbolExpression": {
                  "$ref": "#/definitions/Trigger/definitions/symbolExpression"
                }
              },
              "required": [
                "objectType",
                "symbolExpression"
              ]
            },
            {
              "title": "EventDataObject",
              "type": "object",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "EventDataObject"
                  ]
                },
                "propertyPath": {
                  "type": "string"
                }
              },
              "required": [
                "objectType",
                "propertyPath"
              ]
            },
            {
              "title": "FunctionExpression",
              "type": "object",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "FunctionExpression"
                  ]
                },
                "functionExpression": {
                  "type": "string"
                }
              },
              "required": [
                "objectType",
                "functionExpression"
              ]
            }
          ]
        },
        "comment": {
          "title": "Comment",
          "type": "string"
        },
        "bindingTarget": {
          "anyOf": [
            {
              "title": "ControlAttributeBindingTarget",
              "type": "object",
              "description": "",
              "properties": {
                "objectType": {
                  "type": "string",
                  "enum": [
                    "ControlAttributeBindingTarget"
                  ]
                },
                "attributeExpression": {
                  "$ref": "#/definitions/Trigger/definitions/controlAttributeSymbolExpression"
                }
              },
              "required": [
                "objectType"
              ]
            }
          ]
        },
        "expression": {
          "title": "Expression",
          "type": "object",
          "properties": {
            "compare1": {
              "$ref": "#/definitions/Trigger/definitions/value"
            },
            "compare2": {
              "$ref": "#/definitions/Trigger/definitions/value"
            },
            "compareOperator": {
              "type": "string",
              "enum": [
                "==",
                "===",
                "!=",
                "!==",
                "<",
                "<=",
                ">",
                ">="
              ]
            },
            "logic": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "AND",
                    "OR"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "compare1",
            "compare2",
            "compareOperator"
          ]
        },
        "vCase": {
          "title": "VCase",
          "type": "object",
          "properties": {
            "actions": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Trigger/definitions/action"
              }
            },
            "caseValue": {
              "$ref": "#/definitions/Trigger/definitions/value"
            }
          },
          "required": [
            "actions",
            "caseValue"
          ]
        },
        "dCase": {
          "title": "DCase",
          "type": "object",
          "properties": {
            "actions": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Trigger/definitions/action"
              }
            }
          },
          "required": [
            "actions"
          ]
        },
        "symbolExpression": {
          "title": "SymbolExpression",
          "type": "string",
          "pattern": "^%(s|i|l|pp|tp|f|ctrl|ctx|tr)%.+%\\1%$"
        },
        "controlSymbolExpression": {
          "title": "controlSymbolExpression",
          "type": "string",
          "pattern": "^%(ctrl)%.+%\\1%$"
        },
        "controlAttributeSymbolExpression": {
          "title": "ControlAttributeSymbolExpression",
          "type": "string",
          "pattern": "^%(ctrl)%.+%\\1%$"
        }
      },
      "type": "object",
      "properties": {
        "event": {
          "type": "string",
          "minLength": 1
        },
        "preventDefault": {
          "type": "boolean",
          "description": "If activated the default action of the event will not be triggered.\nIf set on touch events the corresponding mouse events will not be triggered."
        },
        "displayName": {
          "type": "string",
          "description": "Name which should be presented the user."
        },
        "actions": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/definitions/Trigger/definitions/action"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "event",
        "actions"
      ]
    },
    "TriggerList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "array",
      "items": {
        "$ref": "#/definitions/Trigger"
      },
      "minItems": 1
    },
    "TypeRef": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string"
    },
    "UserControlPath": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "minLength": 1
    },
    "VerticalAlignment": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "enum": [
        "Top",
        "Center",
        "Bottom"
      ]
    },
    "VirtualControlRightMappingList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "array",
      "items": {
        "type": "object",
        "engineeringColumns": [
          "virtualControlRight",
          "controlRight"
        ],
        "properties": {
          "virtualControlRight": {
            "description": "Name of the right which is configured on a parent control (aka outer right).",
            "type": "string",
            "minLength": 1
          },
          "controlRight": {
            "description": "Name of the right which is working on this control (aka inner right).",
            "type": "string",
            "minLength": 1
          }
        },
        "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.",
        "required": [
          "controlRight",
          "virtualControlRight"
        ]
      },
      "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."
    },
    "Visibility": {
      "type": "string",
      "enum": [
        "Visible",
        "Hidden",
        "Collapsed"
      ],
      "default": "Visible"
    },
    "EnumMapping": {
      "type": "object",
      "patternProperties": {
        "^-?\\d+$": {
          "type": "string"
        }
      }
    },
    "DataPrecedence": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "string",
      "enum": [
        "Data",
        "UserInput",
        "ChangedDataOnly"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiButton": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiButton",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiButton.StateSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Boolean"
          }
        }
      ]
    },
    "TcHmiButton": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiButton"
    },
    "TcHmiButtonStateSymbol": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiButton.StateSymbol"
    },
    "TcHmi.Controls.Beckhoff.TcHmiToggleButton": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiToggleButton",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiToggleButton": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiToggleButton"
    },
    "ChartBarGraphColorList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphColorList"
    },
    "ChartBarGraphDataDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphDataDefinitionList"
    },
    "ChartBarGraphPosition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphPosition"
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiBarChart",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphColorList": {
      "title": "ChartBarGraphColorList",
      "engineeringDefaultDatatype": 0,
      "anyOf": [
        {
          "type": "array",
          "items": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          }
        },
        {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphDataDefinitionList": {
      "title": "ChartBarGraphDataDefinitionList",
      "engineeringDefaultDatatype": 0,
      "anyOf": [
        {
          "type": "array",
          "title": "Array<Array<number>>",
          "items": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        {
          "type": "array",
          "title": "Array<number>",
          "items": {
            "type": "number"
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphPosition": {
      "title": "ChartBarGraphPosition",
      "type": "string",
      "enum": [
        "Left",
        "Right"
      ],
      "default": "Left"
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphDescriptionDefinitionList": {
      "title": "ChartBarGraphDescriptionDefinitionList",
      "type": "array",
      "items": {
        "type": "object",
        "engineeringColumns": [
          "legendName"
        ],
        "propertiesMeta": [
          {
            "name": "barColor",
            "displayName": "Bar color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for this bars",
            "defaultValue": {
              "color": "#2775be"
            },
            "defaultValueInternal": null
          },
          {
            "name": "legendName",
            "category": "General",
            "displayName": "Legend name",
            "displayPriority": 10,
            "description": "The name that is displayed in the legend.",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "scaleFactor",
            "category": "General",
            "displayName": "Scale factor",
            "displayPriority": 10,
            "description": "Scales all values with this scale factor.",
            "defaultValue": null,
            "defaultValueInternal": 1
          },
          {
            "name": "colorRanges",
            "category": "General",
            "displayName": "Bar color ranges",
            "displayPriority": 10,
            "description": "An array of colors to be used in different ranges.",
            "defaultValue": null,
            "defaultValueInternal": null
          }
        ],
        "properties": {
          "barColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "legendName": {
            "type": "string"
          },
          "scaleFactor": {
            "type": "number"
          },
          "colorRanges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "color": {
                  "$ref": "tchmi:framework#/definitions/SolidColor"
                },
                "expression": {
                  "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarColorFilter"
                }
              }
            }
          }
        }
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarColorFilter": {
      "title": "ChartBarColorFilter",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "enum": [
                  "{value}"
                ],
                "default": "{value}"
              },
              "comparator": {
                "type": "string",
                "enum": [
                  "==",
                  "!=",
                  "<",
                  ">",
                  "<=",
                  ">="
                ],
                "default": "=="
              },
              "value": {
                "type": "number"
              }
            },
            "required": [
              "path",
              "comparator",
              "value"
            ]
          },
          {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarColorFilter"
          }
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphArrangement": {
      "title": "ChartBarGraphArrangement",
      "type": "string",
      "enum": [
        "Overlapped",
        "Clustered",
        "Stacked"
      ],
      "default": "Overlapped"
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartAxisLabeling": {
      "title": "ChartAxisLabeling",
      "type": "string",
      "enum": [
        "Number",
        "Scientific",
        "Auto"
      ],
      "default": "Number"
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartReferenceLineDefinition": {
      "title": "ChartReferenceLineDefinition",
      "type": "object",
      "engineeringColumns": [
        "name",
        "value",
        "orientation"
      ],
      "propertiesMeta": [
        {
          "name": "show",
          "category": "General",
          "displayName": "Show",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "name",
          "category": "General",
          "displayName": "Name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": ""
        },
        {
          "name": "orientation",
          "category": "General",
          "displayName": "Orientation",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Horizontal"
        },
        {
          "name": "value",
          "category": "General",
          "displayName": "Value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 0
        },
        {
          "name": "color",
          "category": "Colors",
          "displayName": "Color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiBarChart::ReferenceLineColor%/tr%",
          "defaultValueInternal": {
            "color": "#4794da"
          }
        },
        {
          "name": "lineWidth",
          "category": "General",
          "displayName": "Line width",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 1
        },
        {
          "name": "showLabel",
          "category": "General",
          "displayName": "Show label",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "labelHorizontalAlignment",
          "category": "General",
          "displayName": "Label horizontal alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Right"
        },
        {
          "name": "labelVerticalAlignment",
          "category": "General",
          "displayName": "Label vertical alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Top"
        },
        {
          "name": "labelFontFamily",
          "category": "General",
          "displayName": "Label font-family",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 12
        },
        {
          "name": "labelFontSizeUnit",
          "refTo": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "labelFontWeight",
          "category": "General",
          "displayName": "Label font-weight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Auto"
        }
      ],
      "properties": {
        "show": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        },
        "value": {
          "type": "number"
        },
        "color": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "lineWidth": {
          "type": "number"
        },
        "showLabel": {
          "type": "boolean"
        },
        "labelHorizontalAlignment": {
          "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
        },
        "labelVerticalAlignment": {
          "$ref": "tchmi:framework#/definitions/VerticalAlignment"
        },
        "labelFontFamily": {
          "$ref": "tchmi:framework#/definitions/FontFamily"
        },
        "labelFontSize": {
          "$ref": "tchmi:framework#/definitions/MeasurementValue"
        },
        "labelFontSizeUnit": {
          "$ref": "tchmi:framework#/definitions/PixelUnit"
        },
        "labelFontWeight": {
          "$ref": "tchmi:framework#/definitions/FontWeight"
        }
      },
      "required": [
        "name",
        "value",
        "orientation"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartReferenceLineDefinitionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartReferenceLineDefinitionList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartReferenceLineDefinition"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartReferenceLinesPosition": {
      "title": "ChartReferenceLinesPosition",
      "type": "string",
      "enum": [
        "Background",
        "Foreground"
      ],
      "default": "Background"
    },
    "TcHmiBarChart": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiBarChart"
    },
    "ChartLineStyle": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.ChartLineStyle"
    },
    "GaugeKnobDefinition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.GaugeKnobDefinition"
    },
    "GaugeRangeDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.GaugeRangeDefinitionList"
    },
    "GaugeTickDefinition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.GaugeTickDefinition"
    },
    "TcHmi.Controls.Beckhoff.ChartLineStyle": {
      "title": "ChartLineStyle",
      "type": "string",
      "enum": [
        "Dashed",
        "Dotted",
        "Solid"
      ],
      "default": "Dashed"
    },
    "TcHmi.Controls.Beckhoff.GaugeKnobDefinition": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "GaugeKnobDefinition",
      "type": "object",
      "propertiesMeta": [
        {
          "name": "imagePath",
          "category": "General",
          "displayName": "ImagePath",
          "displayPriority": 10,
          "description": "Path to a Pixel or Vector Image.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "width",
          "category": "General",
          "displayName": "Width",
          "displayPriority": 10,
          "description": "Width of the Knob",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "height",
          "category": "General",
          "displayName": "Height",
          "displayPriority": 10,
          "description": "Height of the Knob",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "offsetX",
          "category": "General",
          "displayName": "Offset X",
          "displayPriority": 10,
          "description": "Defines the Offset of the Knob.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "offsetY",
          "category": "General",
          "displayName": "Offset Y",
          "displayPriority": 10,
          "description": "Defines the Offset of the Knob.",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "imagePath": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "width": {
          "type": "number"
        },
        "height": {
          "type": "number"
        },
        "offsetX": {
          "type": "number"
        },
        "offsetY": {
          "type": "number"
        }
      }
    },
    "TcHmi.Controls.Beckhoff.GaugeRangeDefinitionList": {
      "title": "GaugeRangeDefinitionList",
      "type": "array",
      "items": {
        "type": "object",
        "title": "Range Definition",
        "engineeringColumns": [
          "start",
          "end",
          "color"
        ],
        "propertiesMeta": [
          {
            "name": "color",
            "displayName": "Color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color of this range",
            "defaultValue": "rgba(0, 0, 0, 1)",
            "defaultValueInternal": null
          },
          {
            "name": "start",
            "displayName": "Start",
            "category": "General",
            "displayPriority": 10,
            "description": "Start of this range",
            "defaultValue": 0,
            "defaultValueInternal": 0
          },
          {
            "name": "end",
            "displayName": "End",
            "category": "General",
            "displayPriority": 10,
            "description": "End of this range",
            "defaultValue": 0,
            "defaultValueInternal": 0
          }
        ],
        "properties": {
          "color": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "start": {
            "type": "number"
          },
          "end": {
            "type": "number"
          }
        },
        "required": [
          "color",
          "start",
          "end"
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.GaugeTickDefinition": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "GaugeTickDefinition",
      "type": "object",
      "properties": {
        "mainTickRange": {
          "type": "number",
          "minimum": 0
        },
        "subTickRange": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "mainTickRange",
        "subTickRange"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiCheckbox": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiCheckbox",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiCheckbox.StateSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Boolean"
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiCheckbox.TextPosition": {
      "type": "string",
      "enum": [
        "Left",
        "Right"
      ]
    },
    "TcHmiCheckbox": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCheckbox"
    },
    "TcHmiCheckboxStateSymbol": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCheckbox.StateSymbol"
    },
    "DropDownStyle": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.DropDownStyle"
    },
    "ListItem": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItem"
    },
    "ListItemList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItemList"
    },
    "TcHmi.Controls.Beckhoff.TcHmiCombobox": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiCombobox",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiCombobox.DropDownStyle": {
      "type": "string",
      "enum": [
        "Classic",
        "Mobile"
      ],
      "default": "Classic"
    },
    "TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItem": {
      "title": "List Item",
      "description": "List Item List",
      "type": "object",
      "engineeringColumns": [
        "id",
        "text",
        "value",
        "category"
      ],
      "propertiesMeta": [
        {
          "name": "id",
          "displayName": "ID",
          "category": "General",
          "displayPriority": 10,
          "description": "Numerical ID for this entry. Can be chosen freely, but must be unique.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "text",
          "displayName": "Text",
          "category": "General",
          "displayPriority": 10,
          "description": "Text to show for this entry",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "value",
          "displayName": "Value",
          "category": "General",
          "displayPriority": 10,
          "description": "Value which is associated to this entry",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "category",
          "displayName": "Category",
          "category": "General",
          "displayPriority": 10,
          "description": "An optional category which will be displayed above the item as a label (like <optgroup> in HTML).\nConsecutive items that have the exact same category will all be displayed under one category.\nHowever, if two items have the same category, but are not back to back, the category will be displayed twice to preserve the original item order.\nFor example items with categories [A, A, B, A] will create the category A with two entries, one category B with a single entry and after that again the category A with a single entry.",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "id": {
          "type": "number"
        },
        "text": {
          "type": "string"
        },
        "value": {},
        "category": {
          "type": "string"
        }
      },
      "required": [
        "text"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItemList": {
      "title": "ListItemList",
      "description": "List Item List",
      "engineeringDefaultDatatype": 0,
      "anyOf": [
        {
          "type": "array",
          "items": {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItem"
          }
        },
        {
          "type": "array"
        },
        {
          "type": "object"
        }
      ]
    },
    "TcHmiCombobox": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox"
    },
    "EnumDataSymbol": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.EnumDataSymbol"
    },
    "TcHmi.Controls.Beckhoff.TcHmiCombobox.EnumDataSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Object"
          }
        }
      ]
    },
    "DGColumnDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid.ColumnDefinitionList"
    },
    "DGDataDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataDefinitionList"
    },
    "DGSorting": {
      "$ref": "tchmi:framework#/definitions/Sorting"
    },
    "TcHmi.Controls.Beckhoff.TcHmiDatagrid.Sorting": {
      "$ref": "tchmi:framework#/definitions/Sorting"
    },
    "TcHmi.Controls.Beckhoff.TcHmiDatagrid": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiDatagrid",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Array"
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiDatagrid.ColumnDefinitionList": {
      "title": "ColumnDefinitionList",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "object",
            "engineeringColumns": [
              "name",
              "label",
              "control",
              "width",
              "widthUnit"
            ],
            "propertiesMeta": [
              {
                "name": "cellBackground",
                "displayName": "Cell background",
                "category": "Colors",
                "displayPriority": 10,
                "description": "Background color of the cells in this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "textColor",
                "displayName": "Text color",
                "category": "Colors",
                "displayPriority": 10,
                "description": "Text color of the cells in this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "name",
                "displayName": "Name",
                "category": "General",
                "displayPriority": 10,
                "description": "Name of the property in the srcData object",
                "defaultValue": "",
                "defaultValueInternal": null
              },
              {
                "name": "label",
                "displayName": "Label",
                "category": "General",
                "displayPriority": 10,
                "description": "Name of the label for this column",
                "defaultValue": "",
                "defaultValueInternal": null
              },
              {
                "name": "control",
                "displayName": "Control",
                "category": "General",
                "displayPriority": 10,
                "description": "Type of the input elements for this column",
                "defaultValue": "TextBox",
                "defaultValueInternal": null
              },
              {
                "name": "width",
                "displayName": "Width",
                "category": "General",
                "displayPriority": 10,
                "description": "Width for this column",
                "defaultValue": 100,
                "defaultValueInternal": null
              },
              {
                "name": "widthUnit",
                "refTo": "width",
                "displayName": "Width unit",
                "category": "General",
                "displayPriority": 10,
                "description": "Width unit for this column. px defines an absolute width, % is relative to the control width and factor can be used to divide the available space into fractions.",
                "defaultValue": "px",
                "defaultValueInternal": "px"
              },
              {
                "name": "resize",
                "displayName": "Resize",
                "category": "General",
                "displayPriority": 10,
                "description": "Can this column be resized? Columns that have factor as their widthUnit can never be resizeable.",
                "defaultValue": false,
                "defaultValueInternal": false
              },
              {
                "name": "minWidth",
                "displayName": "Min width",
                "category": "General",
                "displayPriority": 10,
                "description": "Minimum width for this column",
                "defaultValue": 100,
                "defaultValueInternal": null
              },
              {
                "name": "minWidthUnit",
                "refTo": "minWidth",
                "displayName": "Min width unit",
                "category": "General",
                "displayPriority": 10,
                "description": "Minimum width unit for this column",
                "defaultValue": "px",
                "defaultValueInternal": "px"
              },
              {
                "name": "editable",
                "displayName": "Editable",
                "category": "General",
                "displayPriority": 10,
                "description": "Can this column be edited (text, number) or operated (button, checkbox)?",
                "defaultValue": false,
                "defaultValueInternal": false
              },
              {
                "name": "sortable",
                "displayName": "Sortable",
                "category": "General",
                "displayPriority": 10,
                "description": "Can this column be sortedby user interaction?",
                "defaultValue": true,
                "defaultValueInternal": true
              },
              {
                "name": "horizontalAlignment",
                "displayName": "Horizontal alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Horizontal alignment of this column",
                "defaultValue": "Left",
                "defaultValueInternal": "Left"
              },
              {
                "name": "verticalAlignment",
                "displayName": "Vertical alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Vertical alignment of this column",
                "defaultValue": "Center",
                "defaultValueInternal": "Center"
              },
              {
                "name": "headerHorizontalAlignment",
                "displayName": "Header Horizontal alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Horizontal alignment of the header of this column",
                "defaultValue": "Center",
                "defaultValueInternal": "Center"
              },
              {
                "name": "headerVerticalAlignment",
                "displayName": "Header Vertical alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Vertical alignment of the header of this column",
                "defaultValue": "Center",
                "defaultValueInternal": "Center"
              },
              {
                "name": "format",
                "displayName": "Format",
                "category": "General",
                "displayPriority": 10,
                "description": "A reference of function which is called with each entry",
                "allowedFunctions": {
                  "returnType": "tchmi:general#/definitions/String",
                  "requiredArguments": [
                    {
                      "type": "tchmi:general#/definitions/Any",
                      "description": "The value to format."
                    }
                  ],
                  "waitMode": "Synchronous"
                },
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "dataDefinitions",
                "displayName": "Data definitions",
                "category": "General",
                "displayPriority": 10,
                "description": "Mapping from the srcData to a combobox or image selection. \nText to show on Buttons. \nRestrictions for number inputs.",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "ignoreEscapeSequences",
                "displayName": "Ignore Escape Sequences",
                "category": "General",
                "displayPriority": 10,
                "description": "When set to true a backslash in a text will be shown verbatim in the HMI",
                "defaultValue": false,
                "defaultValueInternal": false
              },
              {
                "name": "autoFocusOut",
                "displayName": "Auto Focus-Out",
                "category": "General",
                "displayPriority": 10,
                "description": "When set to true the control will automatically lose focus when the user presses the enter or escape key",
                "defaultValue": true,
                "defaultValueInternal": true
              },
              {
                "name": "autoSelectText",
                "displayName": "Auto Select Text",
                "category": "General",
                "displayPriority": 10,
                "description": "When set to true all text within the control will be selected when the control gains focus",
                "defaultValue": false,
                "defaultValueInternal": false
              }
            ],
            "properties": {
              "cellBackground": {
                "$ref": "tchmi:framework#/definitions/Color"
              },
              "textColor": {
                "anyOf": [
                  {
                    "$ref": "tchmi:framework#/definitions/SolidColor"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string"
              },
              "control": {
                "type": "string",
                "enum": [
                  "TextBox",
                  "TextBlock",
                  "CheckBox",
                  "Image",
                  "ComboBox",
                  "NumericInput",
                  "SpinboxInput",
                  "PasswordInput",
                  "Button",
                  "ToggleButton",
                  "ToggleSwitch",
                  "RadioButton",
                  "DateTimeInput",
                  "TimespanInput"
                ]
              },
              "width": {
                "type": "number",
                "minimum": 0
              },
              "widthUnit": {
                "$ref": "tchmi:framework#/definitions/MeasurementUnitOrFactor"
              },
              "resize": {
                "type": "boolean"
              },
              "minWidth": {
                "type": "number",
                "minimum": 0
              },
              "minWidthUnit": {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              "editable": {
                "type": "boolean"
              },
              "sortable": {
                "type": "boolean"
              },
              "horizontalAlignment": {
                "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
              },
              "verticalAlignment": {
                "$ref": "tchmi:framework#/definitions/VerticalAlignment"
              },
              "headerHorizontalAlignment": {
                "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
              },
              "headerVerticalAlignment": {
                "$ref": "tchmi:framework#/definitions/VerticalAlignment"
              },
              "format": {
                "$ref": "tchmi:framework#/definitions/Function"
              },
              "dataDefinitions": {
                "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataDefinitionList"
              },
              "ignoreEscapeSequences": {
                "type": "boolean"
              },
              "autoFocusOut": {
                "type": "boolean"
              },
              "autoSelectText": {
                "type": "boolean"
              }
            },
            "required": [
              "name",
              "label",
              "control",
              "width",
              "widthUnit",
              "resize",
              "minWidth",
              "minWidthUnit",
              "editable",
              "horizontalAlignment",
              "verticalAlignment"
            ]
          }
        },
        {
          "type": "object",
          "propertiesMeta": [
            {
              "name": "cellBackground",
              "displayName": "Cell background",
              "category": "Colors",
              "displayPriority": 10,
              "description": "Background color of the cells in this column",
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "textColor",
              "displayName": "Text color",
              "category": "Colors",
              "displayPriority": 10,
              "description": "Text color of the cells in this column",
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "label",
              "displayName": "Label",
              "category": "General",
              "displayPriority": 10,
              "description": "Name of the label for this column",
              "defaultValue": "",
              "defaultValueInternal": null
            },
            {
              "name": "control",
              "displayName": "Control",
              "category": "General",
              "displayPriority": 10,
              "description": "Type of the input elements for this column",
              "defaultValue": "TextBox",
              "defaultValueInternal": null
            },
            {
              "name": "width",
              "displayName": "Width",
              "category": "General",
              "displayPriority": 10,
              "description": "Width for this column",
              "defaultValue": 100,
              "defaultValueInternal": null
            },
            {
              "name": "widthUnit",
              "refTo": "width",
              "displayName": "Width unit",
              "category": "General",
              "displayPriority": 10,
              "description": "Width unit for this column",
              "defaultValue": "px",
              "defaultValueInternal": "px"
            },
            {
              "name": "resize",
              "displayName": "Resize",
              "category": "General",
              "displayPriority": 10,
              "description": "Can this column be resized?",
              "defaultValue": false,
              "defaultValueInternal": false
            },
            {
              "name": "minWidth",
              "displayName": "Min width",
              "category": "General",
              "displayPriority": 10,
              "description": "Minimum width for this column",
              "defaultValue": 100,
              "defaultValueInternal": null
            },
            {
              "name": "minWidthUnit",
              "refTo": "minWidth",
              "displayName": "Min width unit",
              "category": "General",
              "displayPriority": 10,
              "description": "Minimum width unit for this column",
              "defaultValue": "px",
              "defaultValueInternal": "px"
            },
            {
              "name": "editable",
              "displayName": "Editable",
              "category": "General",
              "displayPriority": 10,
              "description": "Can this column be edited (text, number) or operated (button, checkbox)?",
              "defaultValue": false,
              "defaultValueInternal": false
            },
            {
              "name": "sortable",
              "displayName": "Sortable",
              "category": "General",
              "displayPriority": 10,
              "description": "Can this column be sorted by user interaction?",
              "defaultValue": true,
              "defaultValueInternal": false
            },
            {
              "name": "horizontalAlignment",
              "displayName": "Horizontal alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Horizontal alignment of this column",
              "defaultValue": "Left",
              "defaultValueInternal": "Left"
            },
            {
              "name": "verticalAlignment",
              "displayName": "Vertical alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Vertical alignment of this column",
              "defaultValue": "Center",
              "defaultValueInternal": "Center"
            },
            {
              "name": "headerHorizontalAlignment",
              "displayName": " Header Horizontal alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Horizontal alignment of the header of this column",
              "defaultValue": "Center",
              "defaultValueInternal": "Center"
            },
            {
              "name": "headerVerticalAlignment",
              "displayName": "Header Vertical alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Vertical alignment of the header of this column",
              "defaultValue": "Center",
              "defaultValueInternal": "Center"
            },
            {
              "name": "format",
              "displayName": "Format",
              "category": "General",
              "displayPriority": 10,
              "description": "A reference of function which is called with each entry",
              "allowedFunctions": {
                "returnType": "tchmi:general#/definitions/String",
                "requiredArguments": [
                  {
                    "type": "tchmi:general#/definitions/Number",
                    "description": "The value to format."
                  }
                ],
                "waitMode": "Synchronous"
              },
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "dataDefinitions",
              "displayName": "Data definitions",
              "category": "General",
              "displayPriority": 10,
              "description": "Mapping from the srcData to a combobox or image selection. \nText to show on Buttons. \nRestrictions for number inputs.",
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "ignoreEscapeSequences",
              "displayName": "Ignore Escape Sequences",
              "category": "General",
              "displayPriority": 10,
              "description": "When set to true a backslash in a text will be shown verbatim in the HMI",
              "defaultValue": false,
              "defaultValueInternal": false
            },
            {
              "name": "autoFocusOut",
              "displayName": "Auto Focus-Out",
              "category": "General",
              "displayPriority": 10,
              "description": "When set to true the control will automatically lose focus when the user presses the enter or escape key",
              "defaultValue": true,
              "defaultValueInternal": true
            },
            {
              "name": "autoSelectText",
              "displayName": "Auto Select Text",
              "category": "General",
              "displayPriority": 10,
              "description": "When set to true all text within the control will be selected when the control gains focus",
              "defaultValue": false,
              "defaultValueInternal": false
            }
          ],
          "properties": {
            "cellBackground": {
              "$ref": "tchmi:framework#/definitions/Color"
            },
            "textColor": {
              "anyOf": [
                {
                  "$ref": "tchmi:framework#/definitions/SolidColor"
                },
                {
                  "type": "null"
                }
              ]
            },
            "label": {
              "type": "string"
            },
            "control": {
              "type": "string",
              "enum": [
                "TextBox",
                "TextBlock",
                "CheckBox",
                "Image",
                "ComboBox",
                "NumericInput",
                "SpinboxInput",
                "PasswordInput",
                "Button",
                "ToggleButton",
                "ToggleSwitch",
                "RadioButton",
                "DateTimeInput",
                "TimespanInput"
              ]
            },
            "width": {
              "type": "number",
              "minimum": 0
            },
            "widthUnit": {
              "$ref": "tchmi:framework#/definitions/MeasurementUnitOrFactor"
            },
            "resize": {
              "type": "boolean"
            },
            "minWidth": {
              "type": "number",
              "minimum": 0
            },
            "minWidthUnit": {
              "$ref": "tchmi:framework#/definitions/MeasurementUnit"
            },
            "editable": {
              "type": "boolean"
            },
            "sortable": {
              "type": "boolean"
            },
            "horizontalAlignment": {
              "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
            },
            "verticalAlignment": {
              "$ref": "tchmi:framework#/definitions/VerticalAlignment"
            },
            "headerHorizontalAlignment": {
              "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
            },
            "headerVerticalAlignment": {
              "$ref": "tchmi:framework#/definitions/VerticalAlignment"
            },
            "format": {
              "$ref": "tchmi:framework#/definitions/Function"
            },
            "dataDefinitions": {
              "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataDefinitionList"
            },
            "ignoreEscapeSequences": {
              "type": "boolean"
            },
            "autoFocusOut": {
              "type": "boolean"
            },
            "autoSelectText": {
              "type": "boolean"
            }
          },
          "required": [
            "label",
            "control",
            "width",
            "widthUnit",
            "resize",
            "minWidth",
            "minWidthUnit",
            "editable",
            "horizontalAlignment",
            "verticalAlignment"
          ]
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataDefinitionList": {
      "anyOf": [
        {
          "type": "array",
          "title": "Definition for an image control",
          "items": {
            "type": "object",
            "title": "Definition for an image selection",
            "engineeringColumns": [
              "value",
              "source",
              "width",
              "height",
              "text"
            ],
            "propertiesMeta": [
              {
                "name": "value",
                "displayName": "Value",
                "category": "General",
                "displayPriority": 10,
                "description": "Value which is compared to select this image.",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "source",
                "displayName": "Source",
                "category": "General",
                "displayPriority": 10,
                "description": "Path to the image.",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "width",
                "displayName": "Width",
                "category": "General",
                "displayPriority": 10,
                "description": "Pixel width for this image",
                "defaultValue": 0,
                "defaultValueInternal": null
              },
              {
                "name": "height",
                "displayName": "Height",
                "category": "General",
                "displayPriority": 10,
                "description": "Pixel height for this image",
                "defaultValue": 0,
                "defaultValueInternal": null
              },
              {
                "name": "text",
                "displayName": "Text",
                "category": "General",
                "displayPriority": 10,
                "description": "Alt text (tooltip) for this image",
                "defaultValue": null,
                "defaultValueInternal": null
              }
            ],
            "properties": {
              "value": {
                "$ref": "tchmi:general#/definitions/Any"
              },
              "source": {
                "$ref": "tchmi:framework#/definitions/Path"
              },
              "width": {
                "type": "number",
                "minimum": 0
              },
              "height": {
                "type": "number",
                "minimum": 0
              },
              "text": {
                "type": "string"
              }
            },
            "required": [
              "value",
              "source",
              "width",
              "height"
            ]
          }
        },
        {
          "type": "array",
          "title": "Definition for a combobox control",
          "items": {
            "type": "object",
            "title": "Definition for an combobox entry",
            "engineeringColumns": [
              "text",
              "value"
            ],
            "propertiesMeta": [
              {
                "name": "value",
                "displayName": "Value",
                "category": "General",
                "displayPriority": 10,
                "description": "Value which is compared to create this entry.",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "text",
                "displayName": "Text",
                "category": "General",
                "displayPriority": 10,
                "description": "Text to show for this entry",
                "defaultValue": null,
                "defaultValueInternal": null
              }
            ],
            "properties": {
              "value": {
                "$ref": "tchmi:general#/definitions/Any"
              },
              "text": {
                "type": "string"
              }
            },
            "required": [
              "value",
              "text"
            ],
            "additionalProperties": false
          }
        },
        {
          "type": "object",
          "title": "Definition for a numeric input control",
          "properties": {
            "minValue": {
              "type": "number"
            },
            "maxValue": {
              "type": "number"
            },
            "decimalDigits": {
              "type": "number",
              "minimum": 0
            }
          },
          "propertiesMeta": [
            {
              "name": "minValue",
              "displayName": "Min Value",
              "category": "General",
              "displayPriority": 10,
              "description": "The minimal value of the numeric input. No restrictions if it's unset.",
              "defaultValue": 0,
              "defaultValueInternal": null
            },
            {
              "name": "maxValue",
              "displayName": "Max Value",
              "category": "General",
              "displayPriority": 10,
              "description": "The maximal value of the numeric input. No restrictions if it's unset.",
              "defaultValue": 100,
              "defaultValueInternal": null
            },
            {
              "name": "decimalDigits",
              "displayName": "Decimal Digits",
              "category": "General",
              "displayPriority": 10,
              "description": "Number of displayed decimal digits. No restrictions if it's unset.",
              "defaultValue": 0,
              "defaultValueInternal": null
            }
          ]
        },
        {
          "type": "object",
          "title": "Definition for a spinbox input control",
          "properties": {
            "minValue": {
              "type": "number"
            },
            "maxValue": {
              "type": "number"
            },
            "decimalDigits": {
              "type": "number",
              "minimum": 0
            },
            "step": {
              "type": "number"
            }
          },
          "propertiesMeta": [
            {
              "name": "step",
              "displayName": "Step",
              "category": "General",
              "displayPriority": 10,
              "description": "Defines in which step increasing/decreasing the value is possible. \nIf you define a decimal number here it is recommended to set the 'decimal digits' property too to have an effect.",
              "defaultValue": 1,
              "defaultValueInternal": 1
            },
            {
              "name": "minValue",
              "displayName": "Min Value",
              "category": "General",
              "displayPriority": 10,
              "description": "The minimal value of the numeric input. No restrictions if it's unset.",
              "defaultValue": 0,
              "defaultValueInternal": null
            },
            {
              "name": "maxValue",
              "displayName": "Max Value",
              "category": "General",
              "displayPriority": 10,
              "description": "The maximal value of the numeric input. No restrictions if it's unset.",
              "defaultValue": 100,
              "defaultValueInternal": null
            },
            {
              "name": "decimalDigits",
              "displayName": "Decimal Digits",
              "category": "General",
              "displayPriority": 10,
              "description": "Number of displayed decimal digits. No restrictions if it's unset.",
              "defaultValue": 0,
              "defaultValueInternal": null
            }
          ]
        },
        {
          "type": "object",
          "title": "Definition for a button control",
          "properties": {
            "text": {
              "$ref": "tchmi:general#/definitions/String"
            }
          },
          "propertiesMeta": [
            {
              "name": "text",
              "displayName": "Text",
              "category": "General",
              "displayPriority": 10,
              "description": "Defines the text of the button.",
              "defaultValue": "",
              "defaultValueInternal": null
            }
          ]
        }
      ]
    },
    "TcHmiDatagrid": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid"
    },
    "TcHmi.Controls.Beckhoff.TcHmiDateTimeInput": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiDateTimeInput",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiDateTimeInput": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDateTimeInput"
    },
    "TcHmi.Controls.Beckhoff.TcHmiDateTimeInput.ButtonPosition": {
      "title": "DateTimeInputButtonPosition",
      "type": "string",
      "enum": [
        "Left",
        "Right"
      ],
      "default": "Right"
    },
    "TcHmi.Controls.Beckhoff.TcHmiDateTimePicker": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiDateTimePicker",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiDateTimePicker": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDateTimePicker"
    },
    "TcHmi.Controls.Beckhoff.TcHmiEllipse": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiEllipse",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiEllipse": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiEllipse"
    },
    "EventGridColumnList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiEventGrid.ColumnList"
    },
    "EventGridMenuBarPosition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiEventGrid.MenuBarPosition"
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventGrid": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiEventGrid",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventGrid.ColumnList": {
      "title": "ColumnList",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "title": "Column",
            "type": "object",
            "engineeringColumns": [
              "columnName"
            ],
            "propertiesMeta": [
              {
                "name": "columnName",
                "displayName": "Column Name",
                "category": "General",
                "displayPriority": 10,
                "description": "Source of this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "width",
                "displayName": "Width",
                "category": "General",
                "displayPriority": 10,
                "description": "Width of this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "widthUnit",
                "refTo": "width",
                "displayName": "Width Unit",
                "category": "General",
                "displayPriority": 10,
                "description": "Width unit of this column. px defines an absolute width, % is relative to the control width and factor can be used to divide the available space into fractions.",
                "defaultValue": null,
                "defaultValueInternal": "px"
              },
              {
                "name": "sortable",
                "displayName": "sortable",
                "category": "General",
                "displayPriority": 10,
                "description": "Whether it should be possible to sort this column",
                "defaultValue": true,
                "defaultValueInternal": null
              },
              {
                "name": "format",
                "displayName": "Format",
                "category": "General",
                "displayPriority": 10,
                "description": "A reference of function which is called with each entry",
                "allowedFunctions": {
                  "returnType": "tchmi:general#/definitions/String",
                  "requiredArguments": [
                    {
                      "type": "tchmi:general#/definitions/Any",
                      "description": "The value to format."
                    }
                  ],
                  "waitMode": "Synchronous"
                },
                "defaultValue": null,
                "defaultValueInternal": null
              }
            ],
            "properties": {
              "columnName": {
                "type": "string",
                "enum": [
                  "severity",
                  "type",
                  "alarmState",
                  "confirmationState",
                  "domain",
                  "sourceDomain",
                  "name",
                  "text",
                  "timeAndDateRaised",
                  "timeRaised",
                  "dateRaised",
                  "timeAndDateConfirmed",
                  "timeConfirmed",
                  "dateConfirmed",
                  "timeAndDateCleared",
                  "timeCleared",
                  "dateCleared"
                ]
              },
              "width": {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              "widthUnit": {
                "$ref": "tchmi:framework#/definitions/MeasurementUnitOrFactor"
              },
              "sortable": {
                "type": "boolean",
                "default": true
              },
              "format": {
                "$ref": "tchmi:framework#/definitions/Function"
              }
            },
            "required": [
              "columnName"
            ]
          },
          {
            "title": "Custom column",
            "type": "object",
            "engineeringColumns": [
              "columnName"
            ],
            "propertiesMeta": [
              {
                "name": "columnName",
                "displayName": "Column Name",
                "category": "General",
                "displayPriority": 10,
                "description": "Source of this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "label",
                "displayName": "Label",
                "category": "General",
                "displayPriority": 10,
                "description": "Label of this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "width",
                "displayName": "Width",
                "category": "General",
                "displayPriority": 10,
                "description": "Width of this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "widthUnit",
                "refTo": "width",
                "displayName": "Width Unit",
                "category": "General",
                "displayPriority": 10,
                "description": "Width unit of this column. px defines an absolute width, % is relative to the control width and factor can be used to divide the available space into fractions.",
                "defaultValue": null,
                "defaultValueInternal": "px"
              },
              {
                "name": "sortable",
                "displayName": "sortable",
                "category": "General",
                "displayPriority": 10,
                "description": "Whether it should be possible to sort this column",
                "defaultValue": true,
                "defaultValueInternal": null
              },
              {
                "name": "format",
                "displayName": "Format",
                "category": "General",
                "displayPriority": 10,
                "description": "A reference of function which is called with each entry",
                "allowedFunctions": {
                  "returnType": "tchmi:general#/definitions/String",
                  "requiredArguments": [
                    {
                      "type": "tchmi:general#/definitions/Any",
                      "description": "The value to format."
                    }
                  ],
                  "waitMode": "Synchronous"
                },
                "defaultValue": null,
                "defaultValueInternal": null
              }
            ],
            "properties": {
              "columnName": {
                "type": "string",
                "pattern": "^params::"
              },
              "label": {
                "type": "string"
              },
              "width": {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              "widthUnit": {
                "$ref": "tchmi:framework#/definitions/MeasurementUnitOrFactor"
              },
              "sortable": {
                "type": "boolean",
                "default": true
              },
              "format": {
                "$ref": "tchmi:framework#/definitions/Function"
              }
            },
            "required": [
              "columnName"
            ]
          }
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventGrid.MenuBarPosition": {
      "type": "string",
      "enum": [
        "Top",
        "Bottom",
        "Left",
        "Right"
      ],
      "default": "Top"
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventGrid.ServerEvent": {
      "$ref": "tchmi:framework#/definitions/ServerEvent"
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventGrid.IconDefinition": {
      "title": "IconDefinition",
      "type": "object",
      "propertiesMeta": [
        {
          "name": "imagePath",
          "category": "General",
          "displayName": "ImagePath",
          "displayPriority": 10,
          "description": "Path to a Pixel or Vector Image.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "width",
          "category": "General",
          "displayName": "Width",
          "displayPriority": 10,
          "description": "Width of the icon",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "height",
          "category": "General",
          "displayName": "Height",
          "displayPriority": 10,
          "description": "Height of the icon",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "imagePath": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "width": {
          "type": "number"
        },
        "height": {
          "type": "number"
        }
      },
      "required": [
        "imagePath",
        "width",
        "height"
      ]
    },
    "TcHmiEventGrid": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiEventGrid"
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventLine": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiEventLine",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiEventLine": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiEventLine"
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventLine.MessageFormat": {
      "title": "MessageFormat",
      "type": "array",
      "engineeringColumns": [
        "title"
      ],
      "items": {
        "anyOf": [
          {
            "title": "Event Property",
            "type": "object",
            "propertiesMeta": [
              {
                "name": "name",
                "displayName": "Name",
                "category": "General",
                "displayPriority": 10,
                "description": "A Part of the displayed message.",
                "defaultValue": null,
                "defaultValueInternal": null
              }
            ],
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "type",
                  "severity",
                  "alarmState",
                  "confirmationState",
                  "domain",
                  "sourceDomain",
                  "name",
                  "text",
                  "timeReceived",
                  "timeRaised",
                  "timeConfirmed",
                  "timeCleared"
                ]
              }
            },
            "required": [
              "name"
            ]
          },
          {
            "title": "Event Parameter",
            "type": "object",
            "propertiesMeta": [
              {
                "name": "name",
                "displayName": "Name",
                "category": "General",
                "displayPriority": 10,
                "description": "The Path to a property of the received event. Subproperties can be accessed with the '::' seperator.",
                "defaultValue": "params::",
                "defaultValueInternal": null
              }
            ],
            "properties": {
              "name": {
                "type": "string",
                "pattern": "^params::"
              }
            },
            "required": [
              "name"
            ]
          },
          {
            "title": "Text",
            "type": "object",
            "propertiesMeta": [
              {
                "name": "text",
                "displayName": "Text",
                "category": "General",
                "displayPriority": 10,
                "description": "A custom text displayed in the event message.",
                "defaultValue": null,
                "defaultValueInternal": null
              }
            ],
            "properties": {
              "text": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ]
          }
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiEventLine.TextOverflow": {
      "type": "string",
      "enum": [
        "Ellipsis",
        "MarqueeLeftToRight",
        "MarqueeRightToLeft"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiFileExplorer": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiFileExplorer",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiFileExplorer.MenuBarPosition": {
      "type": "string",
      "enum": [
        "Top",
        "Bottom"
      ],
      "default": "Top"
    },
    "TcHmi.Controls.Beckhoff.TcHmiFileExplorer.NameArray": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "TcHmiFileExplorer": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiFileExplorer"
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiHorizontalBarChart",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphColorList": {
      "title": "ChartBarGraphColorList",
      "engineeringDefaultDatatype": 0,
      "anyOf": [
        {
          "type": "array",
          "items": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          }
        },
        {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphDataDefinitionList": {
      "title": "ChartBarGraphDataDefinitionList",
      "engineeringDefaultDatatype": 0,
      "anyOf": [
        {
          "type": "array",
          "title": "Array<Array<number>>",
          "items": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        {
          "type": "array",
          "title": "Array<number>",
          "items": {
            "type": "number"
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphPosition": {
      "title": "ChartBarGraphPosition",
      "type": "string",
      "enum": [
        "Left",
        "Right"
      ],
      "default": "Left"
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphArrangement": {
      "title": "ChartBarGraphArrangement",
      "type": "string",
      "enum": [
        "Overlapped",
        "Clustered",
        "Stacked"
      ],
      "default": "Overlapped"
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphDescriptionDefinitionList": {
      "title": "ChartBarGraphDescriptionDefinitionList",
      "type": "array",
      "items": {
        "type": "object",
        "engineeringColumns": [
          "legendName"
        ],
        "propertiesMeta": [
          {
            "name": "barColor",
            "displayName": "Bar color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for this bars",
            "defaultValue": {
              "color": "#2775be"
            },
            "defaultValueInternal": null
          },
          {
            "name": "legendName",
            "category": "General",
            "displayName": "Legend name",
            "displayPriority": 10,
            "description": "The name that is displayed in the legend.",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "scaleFactor",
            "category": "General",
            "displayName": "Scale factor",
            "displayPriority": 10,
            "description": "Scales all values with this scale factor.",
            "defaultValue": null,
            "defaultValueInternal": 1
          },
          {
            "name": "colorRanges",
            "category": "General",
            "displayName": "Bar color ranges",
            "displayPriority": 10,
            "description": "An array of colors to be used in different ranges.",
            "defaultValue": null,
            "defaultValueInternal": null
          }
        ],
        "properties": {
          "barColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "legendName": {
            "type": "string"
          },
          "scaleFactor": {
            "type": "number"
          },
          "colorRanges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "color": {
                  "$ref": "tchmi:framework#/definitions/SolidColor"
                },
                "expression": {
                  "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarColorFilter"
                }
              }
            }
          }
        }
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarColorFilter": {
      "title": "ChartBarColorFilter",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "enum": [
                  "{value}"
                ],
                "default": "{value}"
              },
              "comparator": {
                "type": "string",
                "enum": [
                  "==",
                  "!=",
                  "<",
                  ">",
                  "<=",
                  ">="
                ],
                "default": "=="
              },
              "value": {
                "type": "number"
              }
            },
            "required": [
              "path",
              "comparator",
              "value"
            ]
          },
          {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarColorFilter"
          }
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartAxisLabeling": {
      "title": "ChartAxisLabeling",
      "type": "string",
      "enum": [
        "Number",
        "Scientific",
        "Auto"
      ],
      "default": "Number"
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartReferenceLineDefinition": {
      "title": "ChartReferenceLineDefinition",
      "type": "object",
      "engineeringColumns": [
        "name",
        "value",
        "orientation"
      ],
      "propertiesMeta": [
        {
          "name": "show",
          "category": "General",
          "displayName": "Show",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "name",
          "category": "General",
          "displayName": "Name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": ""
        },
        {
          "name": "orientation",
          "category": "General",
          "displayName": "Orientation",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Horizontal"
        },
        {
          "name": "value",
          "category": "General",
          "displayName": "Value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 0
        },
        {
          "name": "color",
          "category": "Colors",
          "displayName": "Color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart::ReferenceLineColor%/tr%",
          "defaultValueInternal": {
            "color": "#4794da"
          }
        },
        {
          "name": "lineWidth",
          "category": "General",
          "displayName": "Line width",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 1
        },
        {
          "name": "showLabel",
          "category": "General",
          "displayName": "Show label",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "labelHorizontalAlignment",
          "category": "General",
          "displayName": "Label horizontal alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Right"
        },
        {
          "name": "labelVerticalAlignment",
          "category": "General",
          "displayName": "Label vertical alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Top"
        },
        {
          "name": "labelFontFamily",
          "category": "General",
          "displayName": "Label font-family",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 12
        },
        {
          "name": "labelFontSizeUnit",
          "refTo": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "labelFontWeight",
          "category": "General",
          "displayName": "Label font-weight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Auto"
        }
      ],
      "properties": {
        "show": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        },
        "value": {
          "type": "number"
        },
        "color": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "lineWidth": {
          "type": "number"
        },
        "showLabel": {
          "type": "boolean"
        },
        "labelHorizontalAlignment": {
          "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
        },
        "labelVerticalAlignment": {
          "$ref": "tchmi:framework#/definitions/VerticalAlignment"
        },
        "labelFontFamily": {
          "$ref": "tchmi:framework#/definitions/FontFamily"
        },
        "labelFontSize": {
          "$ref": "tchmi:framework#/definitions/MeasurementValue"
        },
        "labelFontSizeUnit": {
          "$ref": "tchmi:framework#/definitions/PixelUnit"
        },
        "labelFontWeight": {
          "$ref": "tchmi:framework#/definitions/FontWeight"
        }
      },
      "required": [
        "name",
        "value",
        "orientation"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartReferenceLineDefinitionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartReferenceLineDefinitionList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartReferenceLineDefinition"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartReferenceLinesPosition": {
      "title": "ChartReferenceLinesPosition",
      "type": "string",
      "enum": [
        "Background",
        "Foreground"
      ],
      "default": "Background"
    },
    "TcHmiHorizontalBarChart": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart"
    },
    "TcHmi.Controls.Beckhoff.TcHmiIFrame": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiIFrame",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiIFrame": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiIFrame"
    },
    "TcHmi.Controls.Beckhoff.TcHmiImage": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiImage",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiImage": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiImage"
    },
    "TcHmi.Controls.Beckhoff.TcHmiKeyboard.ProjectKeyboardLayouts": {
      "type": "string",
      "description": "A path of a keyboard layout in the project."
    },
    "KeyList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiKeyboard.KeyList"
    },
    "TcHmi.Controls.Beckhoff.TcHmiKeyboard": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiKeyboard",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiKeyboard.KeyList": {
      "title": "KeyList",
      "description": "Array of keys.",
      "type": "array",
      "items": {
        "type": "object",
        "engineeringColumns": [
          "code",
          "key"
        ],
        "propertiesMeta": [
          {
            "name": "code",
            "displayName": "Code",
            "category": "General",
            "displayPriority": 10,
            "description": "Special string for each physical key on the keyboard (does not have to be the same as the corresponding char)",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "key",
            "displayName": "Key",
            "category": "General",
            "displayPriority": 10,
            "description": "Value of the key pressed",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "location",
            "displayName": "Location",
            "category": "General",
            "displayPriority": 10,
            "description": "Location of the pressed key",
            "defaultValue": null,
            "defaultValueInternal": null
          }
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "unmodifiedKey": {
            "type": "string"
          },
          "location": {
            "type": "string",
            "enum": [
              "standard",
              "left",
              "right",
              "numpad"
            ]
          }
        },
        "required": [
          "code",
          "key",
          "unmodifiedKey",
          "location"
        ]
      }
    },
    "TcHmiKeyboard": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiKeyboard"
    },
    "ControlKeyboardLayouts": {
      "title": "ControlKeyboardLayouts",
      "description": "Enum of existing Layouts from the control",
      "type": "string",
      "enum": [
        "EN-US_QWERTY_standard",
        "EN-US_QWERTY_full",
        "EN-US_QWERTY_compact",
        "DE-DE_QWERTZ_standard",
        "DE-DE_QWERTZ_full",
        "DE-DE_QWERTZ_compact",
        "PINpad",
        "Numpad",
        "Calculator"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiLine": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiLine",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiLine": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLine"
    },
    "LinearGaugeLabelPosition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLinearGauge.LabelPosition"
    },
    "LinearGaugeOrientation": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLinearGauge.Orientation"
    },
    "LinearGaugeUnitOrientation": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLinearGauge.UnitOrientation"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLinearGauge": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiLinearGauge",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLinearGauge.LabelPosition": {
      "title": "LabelPosition",
      "type": "string",
      "enum": [
        "Top",
        "Bottom",
        "Left",
        "Right"
      ],
      "default": "Top"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLinearGauge.Orientation": {
      "title": "LinearGaugeOrientation",
      "type": "string",
      "enum": [
        "Horizontal",
        "Vertical",
        "HorizontalInverted",
        "VerticalInverted"
      ],
      "default": "Horizontal"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLinearGauge.UnitOrientation": {
      "title": "LinearGaugeUnitOrientation",
      "type": "string",
      "enum": [
        "Theme",
        "Horizontal",
        "Vertical"
      ],
      "default": "Theme"
    },
    "TcHmiLinearGauge": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLinearGauge"
    },
    "ChartLineGraphDataDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartLineGraphDataDefinitionList"
    },
    "ChartLineGraphDescriptionDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartLineGraphDescriptionDefinitionList"
    },
    "ChartYAxisDefinition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartYAxisDefinition"
    },
    "ChartYAxisDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartYAxisDefinitionList"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiLineChart",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartLineGraphDataDefinitionList": {
      "title": "ChartLineGraphDataDefinitionList",
      "anyOf": [
        {
          "type": "array",
          "title": "Array<Array<Coordinate pair>>",
          "items": {
            "type": "array",
            "title": "List of coordinate pairs",
            "items": {
              "type": "object",
              "title": "Coordinate pair",
              "engineeringColumns": [
                "x",
                "y"
              ],
              "propertiesMeta": [
                {
                  "name": "x",
                  "displayName": "X",
                  "category": "General",
                  "displayPriority": 10,
                  "description": "x coordinate",
                  "defaultValue": null,
                  "defaultValueInternal": null
                },
                {
                  "name": "y",
                  "displayName": "Y",
                  "category": "General",
                  "displayPriority": 10,
                  "description": "y coordinate",
                  "defaultValue": null,
                  "defaultValueInternal": null
                }
              ],
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y"
              ]
            }
          }
        },
        {
          "type": "array",
          "title": "Array<Array<number>>",
          "items": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        {
          "type": "array",
          "title": "Array<number>",
          "items": {
            "type": "number"
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartLineGraphDescriptionDefinitionList": {
      "title": "ChartLineGraphDescriptionDefinitionList",
      "type": "array",
      "items": {
        "type": "object",
        "engineeringColumns": [
          "yAxisId",
          "lineWidth"
        ],
        "propertiesMeta": [
          {
            "name": "lineColor",
            "displayName": "Line color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for this line",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::LineGraphDescriptionLineColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "pointDotFillColor",
            "displayName": "Point dot fill color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for the fill of the dots",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::LineGraphDescriptionPointDotFillColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "pointDotStrokeColor",
            "displayName": "Point dot stroke color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for the stroke of the dots",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::LineGraphDescriptionPointDotStrokeColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "yAxisId",
            "displayName": "Y-Axis Id",
            "category": "General",
            "displayPriority": 10,
            "description": "Id of the y-axis to use for this graph",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "lineWidth",
            "displayName": "Line width",
            "category": "General",
            "displayPriority": 10,
            "description": "Line width in pixel",
            "defaultValue": 1,
            "defaultValueInternal": null
          },
          {
            "name": "pointDot",
            "displayName": "Point dot",
            "category": "General",
            "displayPriority": 10,
            "description": "Defines if the line has dots on the data points",
            "defaultValue": false,
            "defaultValueInternal": false
          },
          {
            "name": "pointDotRadius",
            "displayName": "Point dot radius",
            "category": "General",
            "displayPriority": 10,
            "description": "Dot radius",
            "defaultValue": 3,
            "defaultValueInternal": 3
          },
          {
            "name": "pointDotStrokeWidth",
            "displayName": "Point dot stroke width",
            "category": "General",
            "displayPriority": 10,
            "description": "Dot stroke width",
            "defaultValue": 1,
            "defaultValueInternal": 1
          },
          {
            "name": "legendName",
            "category": "General",
            "displayName": "Legend name",
            "displayPriority": 10,
            "description": "The name that is displayed in the legend.",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "xScaleFactor",
            "category": "General",
            "displayName": "X scale factor",
            "displayPriority": 10,
            "description": "Scales all x values with this scale factor.",
            "defaultValue": null,
            "defaultValueInternal": 1
          },
          {
            "name": "yScaleFactor",
            "category": "General",
            "displayName": "Y scale factor",
            "displayPriority": 10,
            "description": "Scales all y values with this scale factor.",
            "defaultValue": null,
            "defaultValueInternal": 1
          },
          {
            "name": "fillMode",
            "displayName": "Fill mode",
            "category": "General",
            "displayPriority": 10,
            "description": "Fill mode for the fill area",
            "defaultValue": null,
            "defaultValueInternal": "None"
          },
          {
            "name": "fillColor",
            "displayName": "Fill color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for the fill area",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::LineGraphDescriptionFillColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "fillTransparency",
            "displayName": "Fill transparency",
            "category": "General",
            "displayPriority": 10,
            "description": "Fill transparency for the fill area",
            "defaultValue": null,
            "defaultValueInternal": 50
          }
        ],
        "properties": {
          "lineColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "pointDotFillColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "pointDotStrokeColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "yAxisId": {
            "type": "number"
          },
          "lineWidth": {
            "type": "number"
          },
          "pointDot": {
            "type": "boolean"
          },
          "pointDotRadius": {
            "type": "number",
            "minimum": 0
          },
          "pointDotStrokeWidth": {
            "type": "number",
            "minimum": 0
          },
          "legendName": {
            "type": "string"
          },
          "xScaleFactor": {
            "type": "number"
          },
          "yScaleFactor": {
            "type": "number"
          },
          "fillMode": {
            "type": "string",
            "enum": [
              "None",
              "HorizontalZero",
              "Top",
              "Bottom",
              "Center",
              "Source"
            ]
          },
          "fillColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "fillTransparency": {
            "type": "number"
          }
        },
        "required": [
          "yAxisId"
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartYAxisDefinition": {
      "title": "ChartYAxisDefinition",
      "type": "object",
      "engineeringColumns": [
        "id",
        "axisName",
        "position"
      ],
      "propertiesMeta": [
        {
          "name": "labelFontColor",
          "category": "Colors",
          "displayName": "Label font color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::YAxisLabelFontColor%/tr%",
          "defaultValueInternal": {
            "color": "#4794da"
          }
        },
        {
          "name": "axisColor",
          "category": "Colors",
          "displayName": "Axis color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::YAxisAxisColor%/tr%",
          "defaultValueInternal": {
            "color": "#4794da"
          }
        },
        {
          "name": "axisNameFontColor",
          "category": "Colors",
          "displayName": "Axis name font color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::YAxisAxisNameFontColor%/tr%",
          "defaultValueInternal": {
            "color": "#4794da"
          }
        },
        {
          "name": "id",
          "category": "General",
          "displayName": "Id",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 1
        },
        {
          "name": "position",
          "category": "General",
          "displayName": "Position",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Left"
        },
        {
          "name": "logarithmicScale",
          "category": "General",
          "displayName": "Logarithmic scale",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": false
        },
        {
          "name": "axisLabeling",
          "category": "General",
          "displayName": "Axis labeling",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Number"
        },
        {
          "name": "mainTickMinValue",
          "category": "General",
          "displayName": "Main-tick min-value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 0
        },
        {
          "name": "mainTickMaxValue",
          "category": "General",
          "displayName": "Main-tick max-value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 100
        },
        {
          "name": "autoScaling",
          "category": "General",
          "displayName": "Auto scaling",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": false
        },
        {
          "name": "decimalPlaces",
          "category": "General",
          "displayName": "decimalPlaces",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 2
        },
        {
          "name": "showLabels",
          "category": "General",
          "displayName": "showLabels",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "showAxisName",
          "category": "General",
          "displayName": "Show axis name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "axisName",
          "category": "General",
          "displayName": "Axis name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "y axis 1"
        },
        {
          "name": "axisNameFontFamily",
          "category": "General",
          "displayName": "Axis name font-family",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "axisNameFontSize",
          "category": "General",
          "displayName": "Axis name font-size",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 12
        },
        {
          "name": "axisNameFontSizeUnit",
          "refTo": "axisNameFontSize",
          "category": "General",
          "displayName": "Axis name font-size unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "axisNameFontWeight",
          "category": "General",
          "displayName": "Axis name font-weight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Bold"
        },
        {
          "name": "unit",
          "category": "General",
          "displayName": "Unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "labelFontColor": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "axisColor": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "axisNameFontColor": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "id": {
          "type": "number"
        },
        "position": {
          "type": "string",
          "enum": [
            "Left",
            "Right"
          ]
        },
        "logarithmicScale": {
          "type": "boolean"
        },
        "axisLabeling": {
          "type": "string",
          "enum": [
            "Number",
            "Scientific",
            "Auto"
          ]
        },
        "mainTickMinValue": {
          "type": "number"
        },
        "mainTickMaxValue": {
          "type": "number"
        },
        "autoScaling": {
          "type": "boolean"
        },
        "decimalPlaces": {
          "type": "number",
          "minimum": 0
        },
        "showLabels": {
          "type": "boolean"
        },
        "showAxisName": {
          "type": "boolean"
        },
        "axisName": {
          "type": "string"
        },
        "axisNameFontFamily": {
          "$ref": "tchmi:framework#/definitions/FontFamily"
        },
        "axisNameFontSize": {
          "$ref": "tchmi:framework#/definitions/MeasurementValue"
        },
        "axisNameFontSizeUnit": {
          "$ref": "tchmi:framework#/definitions/PixelUnit"
        },
        "axisNameFontWeight": {
          "$ref": "tchmi:framework#/definitions/FontWeight"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "position"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartYAxisDefinitionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartYAxisDefinitionList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartYAxisDefinition"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartAxisLabeling": {
      "title": "ChartAxisLabeling",
      "type": "string",
      "enum": [
        "Number",
        "Scientific",
        "Auto"
      ],
      "default": "Number"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartReferenceLineDefinition": {
      "title": "ChartReferenceLineDefinition",
      "type": "object",
      "engineeringColumns": [
        "name",
        "value",
        "orientation"
      ],
      "propertiesMeta": [
        {
          "name": "show",
          "category": "General",
          "displayName": "Show",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "name",
          "category": "General",
          "displayName": "Name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": ""
        },
        {
          "name": "orientation",
          "category": "General",
          "displayName": "Orientation",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Horizontal"
        },
        {
          "name": "yAxisId",
          "category": "General",
          "displayName": "Y-Axis id",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "value",
          "category": "General",
          "displayName": "Value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 0
        },
        {
          "name": "color",
          "category": "Colors",
          "displayName": "Color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::ReferenceLineColor%/tr%",
          "defaultValueInternal": {
            "color": "#4794da"
          }
        },
        {
          "name": "lineWidth",
          "category": "General",
          "displayName": "Line width",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 1
        },
        {
          "name": "showLabel",
          "category": "General",
          "displayName": "Show label",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "labelHorizontalAlignment",
          "category": "General",
          "displayName": "Label horizontal alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Right"
        },
        {
          "name": "labelVerticalAlignment",
          "category": "General",
          "displayName": "Label vertical alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Top"
        },
        {
          "name": "labelFontFamily",
          "category": "General",
          "displayName": "Label font-family",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 15
        },
        {
          "name": "labelFontSizeUnit",
          "refTo": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "labelFontWeight",
          "category": "General",
          "displayName": "Label font-weight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Auto"
        }
      ],
      "properties": {
        "show": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        },
        "yAxisId": {
          "type": "number"
        },
        "value": {
          "type": "number"
        },
        "color": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "lineWidth": {
          "type": "number"
        },
        "showLabel": {
          "type": "boolean"
        },
        "labelHorizontalAlignment": {
          "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
        },
        "labelVerticalAlignment": {
          "$ref": "tchmi:framework#/definitions/VerticalAlignment"
        },
        "labelFontFamily": {
          "$ref": "tchmi:framework#/definitions/FontFamily"
        },
        "labelFontSize": {
          "$ref": "tchmi:framework#/definitions/MeasurementValue"
        },
        "labelFontSizeUnit": {
          "$ref": "tchmi:framework#/definitions/PixelUnit"
        },
        "labelFontWeight": {
          "$ref": "tchmi:framework#/definitions/FontWeight"
        }
      },
      "required": [
        "name",
        "value",
        "orientation"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartReferenceLineDefinitionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartReferenceLineDefinitionList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartReferenceLineDefinition"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiLineChart.ChartReferenceLinesPosition": {
      "title": "ChartReferenceLinesPosition",
      "type": "string",
      "enum": [
        "Background",
        "Foreground"
      ],
      "default": "Background"
    },
    "TcHmiLineChart": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLineChart"
    },
    "FillMode": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiPolygon.FillMode"
    },
    "TcHmi.Controls.Beckhoff.TcHmiPolygon": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiPolygon",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiPolygon.FillMode": {
      "title": "FillMode",
      "type": "string",
      "enum": [
        "NonZero",
        "EvenOdd"
      ],
      "default": "NonZero"
    },
    "TcHmiPolygon": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiPolygon"
    },
    "TcHmi.Controls.Beckhoff.TcHmiPolyline": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiPolyline",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiPolyline": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiPolyline"
    },
    "RadialGaugeLabelPosition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadialGauge.LabelPosition"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRadialGauge": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiRadialGauge",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRadialGauge.LabelPosition": {
      "title": "LabelPosition",
      "type": "string",
      "enum": [
        "Outside",
        "Inside"
      ],
      "default": "Inside"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRadialGauge.GaugeAlignment": {
      "title": "GaugeAlignment",
      "type": "string",
      "enum": [
        "Start",
        "Center",
        "End"
      ],
      "default": "Start"
    },
    "TcHmiRadialGauge": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadialGauge"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRadioButton": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiRadioButton",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRadioButton.StateSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Boolean"
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiRadioButton.TextPosition": {
      "type": "string",
      "enum": [
        "Left",
        "Right"
      ]
    },
    "TcHmiRadioButton": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadioButton"
    },
    "TcHmiRadioButtonStateSymbol": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadioButton.StateSymbol"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRectangle": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiRectangle",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiRectangle": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRectangle"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTachometer": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTachometer",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiTachometer": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTachometer"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTachometer.LabelPosition": {
      "title": "LabelPosition",
      "type": "string",
      "enum": [
        "Outside",
        "Inside"
      ],
      "default": "Inside"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTachometer.GaugeAlignment": {
      "title": "GaugeAlignment",
      "type": "string",
      "enum": [
        "Start",
        "Center",
        "End"
      ],
      "default": "Inside"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTextblock": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTextblock",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiTextblock": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTextblock"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTextbox": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTextbox",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiTextbox": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTextbox"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTimespanInput": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTimespanInput",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiTimespanInput": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTimespanInput"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTimespanInput.ButtonPosition": {
      "title": "DateTimeInputButtonPosition",
      "type": "string",
      "enum": [
        "Left",
        "Right"
      ],
      "default": "Right"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTimespanPicker": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTimespanPicker",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiTimespanPicker": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTimespanPicker"
    },
    "ChartMenuBarPosition": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartMenuBarPosition"
    },
    "ChartMouseMode": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartMouseMode"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTrendLineChart",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartEnd": {
      "anyOf": [
        {
          "title": "Time",
          "$ref": "tchmi:general#/definitions/DateTime"
        },
        {
          "title": "Timespan",
          "$ref": "tchmi:general#/definitions/TimeSpan"
        },
        {
          "title": "KeyWords",
          "type": "string",
          "enum": [
            "Latest"
          ]
        }
      ],
      "default": "Latest"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartLineGraphDescriptionDefinitionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "TrendLineChartLineGraphDescriptionDefinitionList",
      "type": "array",
      "items": {
        "type": "object",
        "title": "Line graph description",
        "description": "Defines one line graph descriptions.",
        "propertiesMeta": [
          {
            "name": "lineColor",
            "displayName": "Line color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for this line",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::LineGraphDescriptionLineColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "pointDotFillColor",
            "displayName": "Point dot fill color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for the fill of the dots",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::LineGraphDescriptionPointDotFillColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "pointDotStrokeColor",
            "displayName": "Point dot stroke color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for the stroke of the dots",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::LineGraphDescriptionPointDotStrokeColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "symbol",
            "displayName": "symbol",
            "category": "General",
            "displayPriority": 10,
            "description": "Name of the historized Symbol",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "yAxisId",
            "displayName": "Y-Axis Id",
            "category": "General",
            "displayPriority": 10,
            "description": "Id of the y-axis to use for this graph",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "lineWidth",
            "displayName": "Line width",
            "category": "General",
            "displayPriority": 10,
            "description": "Line width in pixel",
            "defaultValue": 1,
            "defaultValueInternal": null
          },
          {
            "name": "pointDot",
            "displayName": "Point dot",
            "category": "General",
            "displayPriority": 10,
            "description": "Defines if the line has dots on the data points",
            "defaultValue": false,
            "defaultValueInternal": false
          },
          {
            "name": "pointDotInStopMode",
            "displayName": "Point dot in stopmode",
            "category": "General",
            "displayPriority": 10,
            "description": "Defines if the line has dots on the data points",
            "defaultValue": false,
            "defaultValueInternal": false
          },
          {
            "name": "pointDotRadius",
            "displayName": "Point dot radius",
            "category": "General",
            "displayPriority": 10,
            "description": "Dot radius",
            "defaultValue": 3,
            "defaultValueInternal": 3
          },
          {
            "name": "pointDotStrokeWidth",
            "displayName": "Point dot stroke width",
            "category": "General",
            "displayPriority": 10,
            "description": "Dot stroke width",
            "defaultValue": 1,
            "defaultValueInternal": 1
          },
          {
            "name": "legendName",
            "category": "General",
            "displayName": "Legend name",
            "displayPriority": 10,
            "description": "The name that is displayed in the legend.",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "scaleFactor",
            "category": "General",
            "displayName": "Scale factor",
            "displayPriority": 10,
            "description": "Scales all values with this scale factor.",
            "defaultValue": null,
            "defaultValueInternal": 1
          },
          {
            "name": "fillMode",
            "displayName": "Fill mode",
            "category": "General",
            "displayPriority": 10,
            "description": "Fill mode for the fill area",
            "defaultValue": null,
            "defaultValueInternal": "None"
          },
          {
            "name": "fillColor",
            "displayName": "Fill color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Color for the fill area",
            "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiLineChart::LineGraphDescriptionFillColor%/tr%",
            "defaultValueInternal": null
          },
          {
            "name": "fillTransparency",
            "displayName": "Fill transparency",
            "category": "General",
            "displayPriority": 10,
            "description": "Fill transparency for the fill area",
            "defaultValue": null,
            "defaultValueInternal": 50
          }
        ],
        "properties": {
          "symbol": {
            "type": "string"
          },
          "yAxisId": {
            "type": "number"
          },
          "lineWidth": {
            "type": "number"
          },
          "lineColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "pointDot": {
            "type": "boolean"
          },
          "pointDotInStopMode": {
            "type": "boolean"
          },
          "pointDotRadius": {
            "type": "number",
            "minimum": 0
          },
          "pointDotFillColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "pointDotStrokeWidth": {
            "type": "number",
            "minimum": 0
          },
          "pointDotStrokeColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "legendName": {
            "type": "string"
          },
          "scaleFactor": {
            "type": "number"
          },
          "fillMode": {
            "type": "string",
            "enum": [
              "None",
              "HorizontalZero",
              "Top",
              "Bottom"
            ]
          },
          "fillColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "fillTransparency": {
            "type": "number"
          }
        },
        "required": [
          "yAxisId"
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartMenuBarPosition": {
      "title": "ChartMenuBarPosition",
      "type": "string",
      "enum": [
        "Bottom",
        "Top"
      ],
      "default": "Bottom"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartMouseMode": {
      "title": "ChartMouseMode",
      "type": "string",
      "enum": [
        "ZoomX",
        "ZoomXY",
        "PanX",
        "PanXY"
      ],
      "default": "ZoomX"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartStart": {
      "anyOf": [
        {
          "title": "Time",
          "$ref": "tchmi:general#/definitions/DateTime"
        },
        {
          "title": "Timespan",
          "$ref": "tchmi:general#/definitions/TimeSpan"
        },
        {
          "title": "KeyWords",
          "type": "string",
          "enum": [
            "First"
          ]
        }
      ],
      "default": "First"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipErrorInformationList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartTooltipErrorInformationList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipErrorInformationObject"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipErrorInformationObject": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "title": "TrendLineChart tooltip error information object",
      "properties": {
        "yAxis": {
          "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartYAxisDefinition"
        },
        "beginTime": {
          "type": "number"
        },
        "endTime": {
          "type": "number"
        },
        "errorCode": {
          "type": "number"
        },
        "symbolname": {
          "type": "string"
        }
      },
      "required": [
        "symbolname"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipInformationList": {
      "title": "ChartTooltipInformationList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipInformationObject"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipInformationObject": {
      "type": "object",
      "title": "TrendLineChart tooltip information object",
      "properties": {
        "point": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y"
          ]
        },
        "yAxis": {
          "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartYAxisDefinition"
        },
        "symbolname": {
          "type": "string"
        }
      },
      "required": [
        "point",
        "symbolname"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartYAxisDefinition": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartYAxisDefinition",
      "type": "object",
      "propertiesMeta": [
        {
          "name": "labelFontColor",
          "category": "Colors",
          "displayName": "Label font color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::YAxisLabelFontColor%/tr%",
          "defaultValueInternal": {
            "color": "#2775be"
          }
        },
        {
          "name": "axisColor",
          "category": "Colors",
          "displayName": "Axis color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::YAxisAxisColor%/tr%",
          "defaultValueInternal": {
            "color": "#2775be"
          }
        },
        {
          "name": "axisNameFontColor",
          "category": "Colors",
          "displayName": "Axis name font color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::YAxisAxisNameFontColor%/tr%",
          "defaultValueInternal": {
            "color": "#2775be"
          }
        },
        {
          "name": "id",
          "category": "General",
          "displayName": "Id",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 1
        },
        {
          "name": "position",
          "category": "General",
          "displayName": "Position",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Left"
        },
        {
          "name": "logarithmicScale",
          "category": "General",
          "displayName": "Logarithmic scale",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": false
        },
        {
          "name": "axisLabeling",
          "category": "General",
          "displayName": "Axis labeling",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Number"
        },
        {
          "name": "mainTickMinValue",
          "category": "General",
          "displayName": "Main-tick min-value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 0
        },
        {
          "name": "mainTickMaxValue",
          "category": "General",
          "displayName": "Main-tick max-value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 100
        },
        {
          "name": "autoScaling",
          "category": "General",
          "displayName": "Auto scaling",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": false
        },
        {
          "name": "decimalPlaces",
          "category": "General",
          "displayName": "decimalPlaces",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 2
        },
        {
          "name": "showAxis",
          "category": "General",
          "displayName": "showAxis",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "showLabels",
          "category": "General",
          "displayName": "showLabels",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "showAxisName",
          "category": "General",
          "displayName": "Show axis name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "axisName",
          "category": "General",
          "displayName": "Axis name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "y axis 1"
        },
        {
          "name": "axisNameFontFamily",
          "category": "General",
          "displayName": "Axis name font-family",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "axisNameFontSize",
          "category": "General",
          "displayName": "Axis name font-size",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 15
        },
        {
          "name": "axisNameFontSizeUnit",
          "refTo": "axisNameFontSize",
          "category": "General",
          "displayName": "Axis name font-size unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "axisNameFontWeight",
          "category": "General",
          "displayName": "Axis name font-weight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Bold"
        },
        {
          "name": "unit",
          "category": "General",
          "displayName": "Unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "labelFontColor": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "axisColor": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "axisNameFontColor": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "id": {
          "type": "number"
        },
        "position": {
          "type": "string",
          "enum": [
            "Left",
            "Right"
          ]
        },
        "logarithmicScale": {
          "type": "boolean"
        },
        "axisLabeling": {
          "type": "string",
          "enum": [
            "Number",
            "Scientific",
            "Auto"
          ]
        },
        "mainTickMinValue": {
          "type": "number"
        },
        "mainTickMaxValue": {
          "type": "number"
        },
        "autoScaling": {
          "type": "boolean"
        },
        "decimalPlaces": {
          "type": "number",
          "minimum": 0
        },
        "showAxis": {
          "type": "boolean"
        },
        "showLabels": {
          "type": "boolean"
        },
        "showAxisName": {
          "type": "boolean"
        },
        "axisName": {
          "type": "string"
        },
        "axisNameFontFamily": {
          "$ref": "tchmi:framework#/definitions/FontFamily"
        },
        "axisNameFontSize": {
          "$ref": "tchmi:framework#/definitions/MeasurementValue"
        },
        "axisNameFontSizeUnit": {
          "$ref": "tchmi:framework#/definitions/PixelUnit"
        },
        "axisNameFontWeight": {
          "$ref": "tchmi:framework#/definitions/FontWeight"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "position"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartYAxisDefinitionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartYAxisDefinitionList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartYAxisDefinition"
      }
    },
    "TcHmiTrendLineChart": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart"
    },
    "TrendLineChartEnd": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartEnd"
    },
    "TrendLineChartLineGraphDescriptionDefinitionList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartLineGraphDescriptionDefinitionList"
    },
    "TrendLineChartStart": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartStart"
    },
    "TrendLineChartTooltipErrorInformationList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipErrorInformationList"
    },
    "TrendLineChartTooltipErrorInformationObject": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipErrorInformationObject"
    },
    "TrendLineChartTooltipInformationList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipInformationList"
    },
    "TrendLineChartTooltipInformationObject": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartTooltipInformationObject"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartReferenceLineDefinition": {
      "title": "ChartReferenceLineDefinition",
      "type": "object",
      "engineeringColumns": [
        "name",
        "value",
        "orientation"
      ],
      "propertiesMeta": [
        {
          "name": "show",
          "category": "General",
          "displayName": "Show",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "name",
          "category": "General",
          "displayName": "Name",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": ""
        },
        {
          "name": "orientation",
          "category": "General",
          "displayName": "Orientation",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Horizontal"
        },
        {
          "name": "yAxisId",
          "category": "General",
          "displayName": "Y-Axis id",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "value",
          "category": "General",
          "displayName": "Value",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 0
        },
        {
          "name": "color",
          "category": "Colors",
          "displayName": "Color",
          "displayPriority": 10,
          "description": "",
          "defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::ReferenceLineColor%/tr%",
          "defaultValueInternal": {
            "color": "#4794da"
          }
        },
        {
          "name": "lineWidth",
          "category": "General",
          "displayName": "Line width",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 1
        },
        {
          "name": "showLabel",
          "category": "General",
          "displayName": "Show label",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": true
        },
        {
          "name": "labelHorizontalAlignment",
          "category": "General",
          "displayName": "Label horizontal alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Right"
        },
        {
          "name": "labelVerticalAlignment",
          "category": "General",
          "displayName": "Label vertical alignment",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Top"
        },
        {
          "name": "labelFontFamily",
          "category": "General",
          "displayName": "Label font-family",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": 12
        },
        {
          "name": "labelFontSizeUnit",
          "refTo": "labelFontSize",
          "category": "General",
          "displayName": "Label font-size unit",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "px"
        },
        {
          "name": "labelFontWeight",
          "category": "General",
          "displayName": "Label font-weight",
          "displayPriority": 10,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": "Auto"
        }
      ],
      "properties": {
        "show": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal"
          ]
        },
        "yAxisId": {
          "type": "number"
        },
        "value": {
          "type": "number"
        },
        "color": {
          "$ref": "tchmi:framework#/definitions/SolidColor"
        },
        "lineWidth": {
          "type": "number"
        },
        "showLabel": {
          "type": "boolean"
        },
        "labelHorizontalAlignment": {
          "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
        },
        "labelVerticalAlignment": {
          "$ref": "tchmi:framework#/definitions/VerticalAlignment"
        },
        "labelFontFamily": {
          "$ref": "tchmi:framework#/definitions/FontFamily"
        },
        "labelFontSize": {
          "$ref": "tchmi:framework#/definitions/MeasurementValue"
        },
        "labelFontSizeUnit": {
          "$ref": "tchmi:framework#/definitions/PixelUnit"
        },
        "labelFontWeight": {
          "$ref": "tchmi:framework#/definitions/FontWeight"
        }
      },
      "required": [
        "name",
        "value",
        "orientation"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartReferenceLineDefinitionList": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "title": "ChartReferenceLineDefinitionList",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartReferenceLineDefinition"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartReferenceLinesPosition": {
      "title": "ChartReferenceLinesPosition",
      "type": "string",
      "enum": [
        "Background",
        "Foreground"
      ],
      "default": "Background"
    },
    "TcHmi.Controls.Beckhoff.TcHmiVideo": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiVideo",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiVideo.VideoSourceList": {
      "title": "VideoSourceList",
      "description": "Video Source List",
      "type": "array",
      "items": {
        "type": "object",
        "engineeringColumns": [
          "source",
          "type"
        ],
        "properties": {
          "source": {
            "$ref": "tchmi:framework#/definitions/Path"
          },
          "type": {
            "type": "string",
            "category": "Common",
            "enum": [
              "",
              "video/mp4",
              "video/webm",
              "video/ogg",
              "application/dash+xml",
              "application/vnd.apple.mpegurl"
            ],
            "default": ""
          }
        },
        "required": [
          "source"
        ]
      }
    },
    "TcHmiVideo": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiVideo"
    },
    "VideoSourceList": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiVideo.VideoSourceList"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRecipeSelect": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiRecipeSelect",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiRecipeSelect": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRecipeSelect"
    },
    "TcHmi.Controls.Beckhoff.TcHmiThemeSelect": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiThemeSelect",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiThemeSelect": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiThemeSelect"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLocalizationSelect": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiLocalizationSelect",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiLocalizationSelect": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLocalizationSelect"
    },
    "TcHmi.Controls.Beckhoff.TcHmiLocalizationSelect.ListItem": {
      "title": "List Item",
      "description": "List Item List",
      "type": "object",
      "engineeringColumns": [
        "code",
        "text"
      ],
      "propertiesMeta": [
        {
          "name": "code",
          "displayName": "Localization Code",
          "category": "General",
          "displayPriority": 10,
          "description": "A Localization code like 'de-DE'. ",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "text",
          "displayName": "Text",
          "category": "General",
          "displayPriority": 10,
          "description": "Text to show for the defined localization code",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "text"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiLocalizationSelect.ListItemList": {
      "title": "ListItemList",
      "description": "List Item List",
      "engineeringDefaultDatatype": 0,
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLocalizationSelect.ListItem"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiDateTimeDisplay": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiDateTimeDisplay",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiDateTimeDisplay": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDateTimeDisplay"
    },
    "TcHmi.Controls.Beckhoff.TcHmiDateTimeDisplay.TimeDisplayLayout": {
      "type": "string",
      "enum": [
        "Time",
        "Date",
        "TimeDateSingleLine",
        "TimeDateMultiLine",
        "DateTimeSingleLine",
        "DateTimeMultiLine"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiToggleSwitch": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiToggleSwitch",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiToggleSwitch": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiToggleSwitch"
    },
    "TcHmi.Controls.Beckhoff.TcHmiInput": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiInput",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiInput": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiInput"
    },
    "TcHmi.Controls.Beckhoff.TcHmiNumericInput": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiNumericInput",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiNumericInput": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiNumericInput"
    },
    "TcHmi.Controls.Beckhoff.TcHmiPasswordInput": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiPasswordInput",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiPasswordInput": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiPasswordInput"
    },
    "TcHmi.Controls.Beckhoff.TcHmiSpinboxInput": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiSpinboxInput",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiSpinboxInput": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiSpinboxInput"
    },
    "TcHmi.Controls.Beckhoff.TcHmiSpinboxInput.ButtonPosition": {
      "title": "SpinboxInputButtonPosition",
      "type": "string",
      "enum": [
        "BothLeft",
        "BothRight",
        "PlusLeftAndMinusRight",
        "MinusLeftAndPlusRight",
        "PlusTopAndMinusBottom",
        "MinusTopAndPlusBottom"
      ],
      "default": "MinusLeftAndPlusRight"
    },
    "TcHmi.Controls.Beckhoff.TcHmiAudio": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiAudio",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiAudio.AudioSourceList": {
      "title": "AudioSourceList",
      "description": "Audio Source List",
      "type": "array",
      "items": {
        "type": "object",
        "title": "Audio Source",
        "engineeringColumns": [
          "source",
          "type"
        ],
        "properties": {
          "source": {
            "$ref": "tchmi:framework#/definitions/Path"
          },
          "type": {
            "type": "string",
            "category": "Common",
            "enum": [
              "",
              "audio/mpeg",
              "audio/ogg",
              "audio/wav",
              "application/dash+xml",
              "application/vnd.apple.mpegurl"
            ],
            "options": [
              {
                "label": "<auto detect>",
                "value": ""
              }
            ],
            "default": ""
          }
        },
        "propertiesMeta": [
          {
            "name": "source",
            "displayName": "Source",
            "category": "General",
            "displayPriority": 10,
            "description": "The source path of the audio source",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "type",
            "displayName": "Audio Type",
            "category": "General",
            "displayPriority": 10,
            "description": "The type of the audio source.",
            "defaultValue": null,
            "defaultValueInternal": null
          }
        ],
        "required": [
          "source"
        ]
      }
    },
    "TcHmiAudio": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiAudio"
    },
    "TcHmi.Controls.Beckhoff.TcHmiStateImage": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiStateImage",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiStateImage": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiStateImage"
    },
    "TcHmi.Controls.Beckhoff.TcHmiStateImage.StateList": {
      "title": "StateList",
      "description": "State List",
      "type": "array",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiStateImage.StateListItem"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiStateImage.StateListItem": {
      "title": "State List Item",
      "description": "State List Item",
      "type": "object",
      "engineeringColumns": [
        "state",
        "stateIcon"
      ],
      "propertiesMeta": [
        {
          "name": "state",
          "displayName": "Value",
          "category": "General",
          "displayPriority": 10,
          "description": "State Value",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "stateIcon",
          "displayName": "Icon",
          "category": "General",
          "displayPriority": 10,
          "description": "Icon Path for this entry.",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "state": {
          "$ref": "tchmi:general#/definitions/Any"
        },
        "stateIcon": {
          "$ref": "tchmi:framework#/definitions/Path"
        }
      },
      "required": [
        "state",
        "stateIcon"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiRecipeEdit": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiRecipeEdit",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiRecipeEdit.NameArray": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "TcHmiRecipeEdit": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRecipeEdit"
    },
    "TcHmi.Controls.Beckhoff.TcHmiAdsState": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiAdsState",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiAdsState": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiAdsState"
    },
    "TcHmi.Controls.Beckhoff.TcHmiAdsState.StateImages": {
      "type": "object",
      "title": "StateImages",
      "description": "A structure defining an image for each state the control can have and the fallback image.",
      "propertiesMeta": [
        {
          "name": "Fallback",
          "displayName": "Fallback",
          "category": "General",
          "displayPriority": 1,
          "description": "The Fallback Image if a state is not defined.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Invalid",
          "displayName": "Invalid",
          "category": "General",
          "displayPriority": 2,
          "description": "The Image for the State 'Invalid'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Idle",
          "displayName": "Idle",
          "category": "General",
          "displayPriority": 3,
          "description": "The Image for the State 'Idle'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Reset",
          "displayName": "Reset",
          "category": "General",
          "displayPriority": 4,
          "description": "The Image for the State 'Reset'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Init",
          "displayName": "Init",
          "category": "General",
          "displayPriority": 5,
          "description": "The Image for the State 'Init'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Start",
          "displayName": "Start",
          "category": "General",
          "displayPriority": 6,
          "description": "The Image for the State 'Start'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Run",
          "displayName": "Run",
          "category": "General",
          "displayPriority": 7,
          "description": "The Image for the State 'Run'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Stop",
          "displayName": "Stop",
          "category": "General",
          "displayPriority": 8,
          "description": "The Image for the State 'Stop'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "SaveCfg",
          "displayName": "SaveCfg",
          "category": "General",
          "displayPriority": 9,
          "description": "The Image for the State 'SaveCfg'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "LoadCfg",
          "displayName": "LoadCfg",
          "category": "General",
          "displayPriority": 10,
          "description": "The Image for the State 'LoadCfg'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "PowerFailure",
          "displayName": "PowerFailure",
          "category": "General",
          "displayPriority": 11,
          "description": "The Image for the State 'PowerFailure'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "PowerGood",
          "displayName": "PowerGood",
          "category": "General",
          "displayPriority": 12,
          "description": "The Image for the State 'PowerGood'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Error",
          "displayName": "Error",
          "category": "General",
          "displayPriority": 13,
          "description": "The Image for the State 'Error'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Shutdown",
          "displayName": "Shutdown",
          "category": "General",
          "displayPriority": 14,
          "description": "The Image for the State 'Shutdown'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Suspend",
          "displayName": "Suspend",
          "category": "General",
          "displayPriority": 15,
          "description": "The Image for the State 'Suspend'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Resume",
          "displayName": "Resume",
          "category": "General",
          "displayPriority": 16,
          "description": "The Image for the State 'Resume'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Config",
          "displayName": "Config",
          "category": "General",
          "displayPriority": 17,
          "description": "The Image for the State 'Config'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Reconfig",
          "displayName": "Reconfig",
          "category": "General",
          "displayPriority": 18,
          "description": "The Image for the State 'Reconfig'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Stopping",
          "displayName": "Stopping",
          "category": "General",
          "displayPriority": 19,
          "description": "The Image for the State 'Stopping'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Incompatible",
          "displayName": "Incompatible",
          "category": "General",
          "displayPriority": 20,
          "description": "The Image for the State 'Incompatible'.",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "Exception",
          "displayName": "Exception",
          "category": "General",
          "displayPriority": 21,
          "description": "The Image for the State 'Exception'.",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "properties": {
        "Fallback": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Invalid": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Idle": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Reset": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Init": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Start": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Run": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Stop": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "SaveCfg": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "LoadCfg": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "PowerFailure": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "PowerGood": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Error": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Shutdown": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Suspend": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Resume": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Config": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Reconfig": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Stopping": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Incompatible": {
          "$ref": "tchmi:framework#/definitions/Path"
        },
        "Exception": {
          "$ref": "tchmi:framework#/definitions/Path"
        }
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiUserManagement": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiUserManagement",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiUserManagement": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiUserManagement"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTreeView": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTreeView",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTreeView.Index": {
      "type": "array",
      "title": "The hierarchical index of treeview data.",
      "items": {
        "type": "number"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiTreeView.DataSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Array"
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiTreeView.ColumnDefinitionList": {
      "title": "ColumnDefinitionList",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "object",
            "engineeringColumns": [
              "name",
              "label",
              "control",
              "width",
              "widthUnit"
            ],
            "propertiesMeta": [
              {
                "name": "cellBackground",
                "displayName": "Cell background",
                "category": "Colors",
                "displayPriority": 10,
                "description": "Background color of the cells in this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "textColor",
                "displayName": "Text color",
                "category": "Colors",
                "displayPriority": 10,
                "description": "Text color of the cells in this column",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "name",
                "displayName": "Name",
                "category": "General",
                "displayPriority": 10,
                "description": "Name of the property in the srcData object",
                "defaultValue": "",
                "defaultValueInternal": null
              },
              {
                "name": "label",
                "displayName": "Label",
                "category": "General",
                "displayPriority": 10,
                "description": "Name of the label for this column",
                "defaultValue": "",
                "defaultValueInternal": null
              },
              {
                "name": "control",
                "displayName": "Control",
                "category": "General",
                "displayPriority": 10,
                "description": "Type of the input elements for this column",
                "defaultValue": "TextBox",
                "defaultValueInternal": null
              },
              {
                "name": "width",
                "displayName": "Width",
                "category": "General",
                "displayPriority": 10,
                "description": "Width for this column",
                "defaultValue": 100,
                "defaultValueInternal": null
              },
              {
                "name": "widthUnit",
                "refTo": "width",
                "displayName": "Width unit",
                "category": "General",
                "displayPriority": 10,
                "description": "Width unit for this column. px defines an absolute width, % is relative to the control width and factor can be used to divide the available space into fractions.",
                "defaultValue": "px",
                "defaultValueInternal": "px"
              },
              {
                "name": "resize",
                "displayName": "Resize",
                "category": "General",
                "displayPriority": 10,
                "description": "Can this column be resized? Columns that have factor as their widthUnit can never be resizeable.",
                "defaultValue": false,
                "defaultValueInternal": false
              },
              {
                "name": "minWidth",
                "displayName": "Min width",
                "category": "General",
                "displayPriority": 10,
                "description": "Minimum width for this column",
                "defaultValue": 100,
                "defaultValueInternal": null
              },
              {
                "name": "minWidthUnit",
                "refTo": "minWidth",
                "displayName": "Min width unit",
                "category": "General",
                "displayPriority": 10,
                "description": "Minimum width unit for this column",
                "defaultValue": "px",
                "defaultValueInternal": "px"
              },
              {
                "name": "editable",
                "displayName": "Editable",
                "category": "General",
                "displayPriority": 10,
                "description": "Can this column be edited (text, number) or operated (button, checkbox)?",
                "defaultValue": false,
                "defaultValueInternal": false
              },
              {
                "name": "sortable",
                "displayName": "Sortable",
                "category": "General",
                "displayPriority": 10,
                "description": "Can this column be sortedby user interaction?",
                "defaultValue": true,
                "defaultValueInternal": true
              },
              {
                "name": "horizontalAlignment",
                "displayName": "Horizontal alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Horizontal alignment of this column",
                "defaultValue": "Left",
                "defaultValueInternal": "Left"
              },
              {
                "name": "verticalAlignment",
                "displayName": "Vertical alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Vertical alignment of this column",
                "defaultValue": "Center",
                "defaultValueInternal": "Center"
              },
              {
                "name": "headerHorizontalAlignment",
                "displayName": "Header Horizontal alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Horizontal alignment of the header of this column",
                "defaultValue": "Center",
                "defaultValueInternal": "Center"
              },
              {
                "name": "headerVerticalAlignment",
                "displayName": "Header Vertical alignment",
                "category": "General",
                "displayPriority": 10,
                "description": "Vertical alignment of the header of this column",
                "defaultValue": "Center",
                "defaultValueInternal": "Center"
              },
              {
                "name": "format",
                "displayName": "Format",
                "category": "General",
                "displayPriority": 10,
                "description": "A reference of function which is called with each entry",
                "allowedFunctions": {
                  "returnType": "tchmi:general#/definitions/String",
                  "requiredArguments": [
                    {
                      "type": "tchmi:general#/definitions/Any",
                      "description": "The value to format."
                    }
                  ],
                  "waitMode": "Synchronous"
                },
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "dataDefinitions",
                "displayName": "Data definitions",
                "category": "General",
                "displayPriority": 10,
                "description": "Mapping from the srcData to a combobox or image selection. \nText to show on Buttons. \nRestrictions for number inputs.",
                "defaultValue": null,
                "defaultValueInternal": null
              },
              {
                "name": "ignoreEscapeSequences",
                "displayName": "Ignore Escape Sequences",
                "category": "General",
                "displayPriority": 10,
                "description": "When set to true a backslash in a text will be shown verbatim in the HMI",
                "defaultValue": false,
                "defaultValueInternal": false
              },
              {
                "name": "autoFocusOut",
                "displayName": "Auto Focus-Out",
                "category": "General",
                "displayPriority": 10,
                "description": "When set to true the control will automatically lose focus when the user presses the enter or escape key",
                "defaultValue": true,
                "defaultValueInternal": true
              },
              {
                "name": "autoSelectText",
                "displayName": "Auto Select Text",
                "category": "General",
                "displayPriority": 10,
                "description": "When set to true all text within the control will be selected when the control gains focus",
                "defaultValue": false,
                "defaultValueInternal": false
              }
            ],
            "properties": {
              "cellBackground": {
                "$ref": "tchmi:framework#/definitions/Color"
              },
              "textColor": {
                "anyOf": [
                  {
                    "$ref": "tchmi:framework#/definitions/SolidColor"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string"
              },
              "control": {
                "type": "string",
                "enum": [
                  "TextBox",
                  "TextBlock",
                  "CheckBox",
                  "Image",
                  "ComboBox",
                  "NumericInput",
                  "SpinboxInput",
                  "PasswordInput",
                  "Button",
                  "ToggleButton",
                  "ToggleSwitch",
                  "RadioButton",
                  "DateTimeInput",
                  "TimespanInput",
                  "AutoDetectControl"
                ]
              },
              "width": {
                "type": "number",
                "minimum": 0
              },
              "widthUnit": {
                "$ref": "tchmi:framework#/definitions/MeasurementUnitOrFactor"
              },
              "resize": {
                "type": "boolean"
              },
              "minWidth": {
                "type": "number",
                "minimum": 0
              },
              "minWidthUnit": {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              "editable": {
                "type": "boolean"
              },
              "sortable": {
                "type": "boolean"
              },
              "horizontalAlignment": {
                "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
              },
              "verticalAlignment": {
                "$ref": "tchmi:framework#/definitions/VerticalAlignment"
              },
              "headerHorizontalAlignment": {
                "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
              },
              "headerVerticalAlignment": {
                "$ref": "tchmi:framework#/definitions/VerticalAlignment"
              },
              "format": {
                "$ref": "tchmi:framework#/definitions/Function"
              },
              "dataDefinitions": {
                "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataDefinitionList"
              },
              "ignoreEscapeSequences": {
                "type": "boolean"
              },
              "autoFocusOut": {
                "type": "boolean"
              },
              "autoSelectText": {
                "type": "boolean"
              }
            },
            "required": [
              "name",
              "label",
              "control",
              "width",
              "widthUnit",
              "resize",
              "minWidth",
              "minWidthUnit",
              "editable",
              "horizontalAlignment",
              "verticalAlignment"
            ]
          }
        },
        {
          "type": "object",
          "propertiesMeta": [
            {
              "name": "cellBackground",
              "displayName": "Cell background",
              "category": "Colors",
              "displayPriority": 10,
              "description": "Background color of the cells in this column",
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "textColor",
              "displayName": "Text color",
              "category": "Colors",
              "displayPriority": 10,
              "description": "Text color of the cells in this column",
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "label",
              "displayName": "Label",
              "category": "General",
              "displayPriority": 10,
              "description": "Name of the label for this column",
              "defaultValue": "",
              "defaultValueInternal": null
            },
            {
              "name": "control",
              "displayName": "Control",
              "category": "General",
              "displayPriority": 10,
              "description": "Type of the input elements for this column",
              "defaultValue": "TextBox",
              "defaultValueInternal": null
            },
            {
              "name": "width",
              "displayName": "Width",
              "category": "General",
              "displayPriority": 10,
              "description": "Width for this column",
              "defaultValue": 100,
              "defaultValueInternal": null
            },
            {
              "name": "widthUnit",
              "refTo": "width",
              "displayName": "Width unit",
              "category": "General",
              "displayPriority": 10,
              "description": "Width unit for this column",
              "defaultValue": "px",
              "defaultValueInternal": "px"
            },
            {
              "name": "resize",
              "displayName": "Resize",
              "category": "General",
              "displayPriority": 10,
              "description": "Can this column be resized?",
              "defaultValue": false,
              "defaultValueInternal": false
            },
            {
              "name": "minWidth",
              "displayName": "Min width",
              "category": "General",
              "displayPriority": 10,
              "description": "Minimum width for this column",
              "defaultValue": 100,
              "defaultValueInternal": null
            },
            {
              "name": "minWidthUnit",
              "refTo": "minWidth",
              "displayName": "Min width unit",
              "category": "General",
              "displayPriority": 10,
              "description": "Minimum width unit for this column",
              "defaultValue": "px",
              "defaultValueInternal": "px"
            },
            {
              "name": "editable",
              "displayName": "Editable",
              "category": "General",
              "displayPriority": 10,
              "description": "Can this column be edited (text, number) or operated (button, checkbox)?",
              "defaultValue": false,
              "defaultValueInternal": false
            },
            {
              "name": "sortable",
              "displayName": "Sortable",
              "category": "General",
              "displayPriority": 10,
              "description": "Can this column be sorted by user interaction?",
              "defaultValue": true,
              "defaultValueInternal": false
            },
            {
              "name": "horizontalAlignment",
              "displayName": "Horizontal alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Horizontal alignment of this column",
              "defaultValue": "Left",
              "defaultValueInternal": "Left"
            },
            {
              "name": "verticalAlignment",
              "displayName": "Vertical alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Vertical alignment of this column",
              "defaultValue": "Center",
              "defaultValueInternal": "Center"
            },
            {
              "name": "headerHorizontalAlignment",
              "displayName": " Header Horizontal alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Horizontal alignment of the header of this column",
              "defaultValue": "Center",
              "defaultValueInternal": "Center"
            },
            {
              "name": "headerVerticalAlignment",
              "displayName": "Header Vertical alignment",
              "category": "General",
              "displayPriority": 10,
              "description": "Vertical alignment of the header of this column",
              "defaultValue": "Center",
              "defaultValueInternal": "Center"
            },
            {
              "name": "format",
              "displayName": "Format",
              "category": "General",
              "displayPriority": 10,
              "description": "A reference of function which is called with each entry",
              "allowedFunctions": {
                "returnType": "tchmi:general#/definitions/String",
                "requiredArguments": [
                  {
                    "type": "tchmi:general#/definitions/Number",
                    "description": "The value to format."
                  }
                ],
                "waitMode": "Synchronous"
              },
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "dataDefinitions",
              "displayName": "Data definitions",
              "category": "General",
              "displayPriority": 10,
              "description": "Mapping from the srcData to a combobox or image selection. \nText to show on Buttons. \nRestrictions for number inputs.",
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "ignoreEscapeSequences",
              "displayName": "Ignore Escape Sequences",
              "category": "General",
              "displayPriority": 10,
              "description": "When set to true a backslash in a text will be shown verbatim in the HMI",
              "defaultValue": false,
              "defaultValueInternal": false
            },
            {
              "name": "autoFocusOut",
              "displayName": "Auto Focus-Out",
              "category": "General",
              "displayPriority": 10,
              "description": "When set to true the control will automatically lose focus when the user presses the enter or escape key",
              "defaultValue": true,
              "defaultValueInternal": true
            },
            {
              "name": "autoSelectText",
              "displayName": "Auto Select Text",
              "category": "General",
              "displayPriority": 10,
              "description": "When set to true all text within the control will be selected when the control gains focus",
              "defaultValue": false,
              "defaultValueInternal": false
            }
          ],
          "properties": {
            "cellBackground": {
              "$ref": "tchmi:framework#/definitions/Color"
            },
            "textColor": {
              "anyOf": [
                {
                  "$ref": "tchmi:framework#/definitions/SolidColor"
                },
                {
                  "type": "null"
                }
              ]
            },
            "label": {
              "type": "string"
            },
            "control": {
              "type": "string",
              "enum": [
                "TextBox",
                "TextBlock",
                "CheckBox",
                "Image",
                "ComboBox",
                "NumericInput",
                "SpinboxInput",
                "PasswordInput",
                "Button",
                "ToggleButton",
                "ToggleSwitch",
                "RadioButton",
                "DateTimeInput",
                "TimespanInput",
                "AutoDetectControl"
              ]
            },
            "width": {
              "type": "number",
              "minimum": 0
            },
            "widthUnit": {
              "$ref": "tchmi:framework#/definitions/MeasurementUnitOrFactor"
            },
            "resize": {
              "type": "boolean"
            },
            "minWidth": {
              "type": "number",
              "minimum": 0
            },
            "minWidthUnit": {
              "$ref": "tchmi:framework#/definitions/MeasurementUnit"
            },
            "editable": {
              "type": "boolean"
            },
            "sortable": {
              "type": "boolean"
            },
            "horizontalAlignment": {
              "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
            },
            "verticalAlignment": {
              "$ref": "tchmi:framework#/definitions/VerticalAlignment"
            },
            "headerHorizontalAlignment": {
              "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
            },
            "headerVerticalAlignment": {
              "$ref": "tchmi:framework#/definitions/VerticalAlignment"
            },
            "format": {
              "$ref": "tchmi:framework#/definitions/Function"
            },
            "dataDefinitions": {
              "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataDefinitionList"
            },
            "ignoreEscapeSequences": {
              "type": "boolean"
            },
            "autoFocusOut": {
              "type": "boolean"
            },
            "autoSelectText": {
              "type": "boolean"
            }
          },
          "required": [
            "label",
            "control",
            "width",
            "widthUnit",
            "resize",
            "minWidth",
            "minWidthUnit",
            "editable",
            "horizontalAlignment",
            "verticalAlignment"
          ]
        }
      ]
    },
    "TcHmiTreeView": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTreeView"
    },
    "TcHmi.Controls.Beckhoff.TcHmiObjectBrowser": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiObjectBrowser",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiObjectBrowser": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiObjectBrowser"
    },
    "TcHmi.Controls.Beckhoff.TcHmiObjectBrowser.Index": {
      "type": "array",
      "title": "The hierarchical index of treeview data.",
      "items": {
        "type": "number"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiObjectBrowser.DataSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "anyOf": [
              {
                "$ref": "tchmi:general#/definitions/Object"
              },
              {
                "$ref": "tchmi:general#/definitions/Array"
              }
            ]
          }
        }
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiObjectBrowser.ColumnName": {
      "type": "string",
      "enum": [
        "Name",
        "Value",
        "Datatype",
        "ValueDisplay"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiObjectBrowser.ColumnDefinitionList": {
      "title": "ColumnDefinitionList",
      "type": "array",
      "items": {
        "title": "ColumnDefinition",
        "type": "object",
        "engineeringColumns": [
          "columnData",
          "width",
          "widthUnit"
        ],
        "propertiesMeta": [
          {
            "name": "cellBackground",
            "displayName": "Cell background",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Background color of the cells in this column",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "textColor",
            "displayName": "Text color",
            "category": "Colors",
            "displayPriority": 10,
            "description": "Text color of the cells in this column",
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "columnData",
            "displayName": "Column data",
            "category": "General",
            "displayPriority": 10,
            "description": "The data that will be displayed in the column.",
            "defaultValue": "",
            "defaultValueInternal": null
          },
          {
            "name": "width",
            "displayName": "Width",
            "category": "General",
            "displayPriority": 10,
            "description": "Width for this column",
            "defaultValue": 100,
            "defaultValueInternal": null
          },
          {
            "name": "widthUnit",
            "refTo": "width",
            "displayName": "Width unit",
            "category": "General",
            "displayPriority": 10,
            "description": "Width unit for this column. px defines an absolute width, % is relative to the control width and factor can be used to divide the available space into fractions.",
            "defaultValue": "px",
            "defaultValueInternal": "px"
          },
          {
            "name": "resize",
            "displayName": "Resize",
            "category": "General",
            "displayPriority": 10,
            "description": "Can this column be resized? Columns that have factor as their widthUnit can never be resizeable.",
            "defaultValue": false,
            "defaultValueInternal": false
          },
          {
            "name": "minWidth",
            "displayName": "Min width",
            "category": "General",
            "displayPriority": 10,
            "description": "Minimum width for this column",
            "defaultValue": 100,
            "defaultValueInternal": null
          },
          {
            "name": "minWidthUnit",
            "refTo": "minWidth",
            "displayName": "Min width unit",
            "category": "General",
            "displayPriority": 10,
            "description": "Minimum width unit for this column",
            "defaultValue": "px",
            "defaultValueInternal": "px"
          },
          {
            "name": "editable",
            "displayName": "Editable",
            "category": "General",
            "displayPriority": 10,
            "description": "Can this column be edited (text, number) or operated (button, checkbox)?",
            "defaultValue": false,
            "defaultValueInternal": false
          },
          {
            "name": "sortable",
            "displayName": "Sortable",
            "category": "General",
            "displayPriority": 10,
            "description": "Can this column be sortedby user interaction?",
            "defaultValue": true,
            "defaultValueInternal": true
          },
          {
            "name": "horizontalAlignment",
            "displayName": "Horizontal alignment",
            "category": "General",
            "displayPriority": 10,
            "description": "Horizontal alignment of this column",
            "defaultValue": "Left",
            "defaultValueInternal": "Left"
          },
          {
            "name": "verticalAlignment",
            "displayName": "Vertical alignment",
            "category": "General",
            "displayPriority": 10,
            "description": "Vertical alignment of this column",
            "defaultValue": "Center",
            "defaultValueInternal": "Center"
          },
          {
            "name": "headerHorizontalAlignment",
            "displayName": "Header Horizontal alignment",
            "category": "General",
            "displayPriority": 10,
            "description": "Horizontal alignment of the header of this column",
            "defaultValue": "Center",
            "defaultValueInternal": "Center"
          },
          {
            "name": "headerVerticalAlignment",
            "displayName": "Header Vertical alignment",
            "category": "General",
            "displayPriority": 10,
            "description": "Vertical alignment of the header of this column",
            "defaultValue": "Center",
            "defaultValueInternal": "Center"
          },
          {
            "name": "format",
            "displayName": "Format",
            "category": "General",
            "displayPriority": 10,
            "description": "A reference of function which is called with each entry",
            "allowedFunctions": {
              "returnType": "tchmi:general#/definitions/String",
              "requiredArguments": [
                {
                  "type": "tchmi:general#/definitions/Any",
                  "description": "The value to format."
                }
              ],
              "waitMode": "Synchronous"
            },
            "defaultValue": null,
            "defaultValueInternal": null
          },
          {
            "name": "ignoreEscapeSequences",
            "displayName": "Ignore Escape Sequences",
            "category": "General",
            "displayPriority": 10,
            "description": "When set to true a backslash in a text will be shown verbatim in the HMI",
            "defaultValue": false,
            "defaultValueInternal": false
          }
        ],
        "properties": {
          "cellBackground": {
            "$ref": "tchmi:framework#/definitions/Color"
          },
          "textColor": {
            "$ref": "tchmi:framework#/definitions/SolidColor"
          },
          "columnData": {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiObjectBrowser.ColumnName"
          },
          "width": {
            "type": "number",
            "minimum": 0
          },
          "widthUnit": {
            "$ref": "tchmi:framework#/definitions/MeasurementUnitOrFactor"
          },
          "resize": {
            "type": "boolean"
          },
          "minWidth": {
            "type": "number",
            "minimum": 0
          },
          "minWidthUnit": {
            "$ref": "tchmi:framework#/definitions/MeasurementUnit"
          },
          "editable": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          },
          "horizontalAlignment": {
            "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
          },
          "verticalAlignment": {
            "$ref": "tchmi:framework#/definitions/VerticalAlignment"
          },
          "headerHorizontalAlignment": {
            "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
          },
          "headerVerticalAlignment": {
            "$ref": "tchmi:framework#/definitions/VerticalAlignment"
          },
          "format": {
            "$ref": "tchmi:framework#/definitions/Function"
          },
          "ignoreEscapeSequences": {
            "type": "boolean"
          }
        },
        "required": [
          "columnData",
          "width",
          "widthUnit",
          "resize",
          "minWidth",
          "minWidthUnit",
          "horizontalAlignment",
          "verticalAlignment"
        ]
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiTabNavigation": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiTabNavigation",
      "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
    },
    "TcHmiTabNavigation": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation"
    },
    "TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabAlignment": {
      "type": "string",
      "enum": [
        "Top",
        "Right",
        "Bottom",
        "Left"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabList": {
      "type": "array",
      "title": "Tabs",
      "description": "A list of tabs",
      "items": {
        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation.Tab"
      }
    },
    "TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TargetFile": {
      "type": "object",
      "description": "An object ({ path: string; attributes?: Dictionary<any>; }) with a file path and an attributes dictionary for the target file host control (when path points to a *.usercontrol file).",
      "properties": {
        "path": {
          "anyOf": [
            {
              "$ref": "tchmi:framework#/definitions/UserControlPath"
            },
            {
              "$ref": "tchmi:framework#/definitions/ContentPath"
            }
          ]
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {
            "type": [
              "object",
              "array",
              "string",
              "boolean",
              "integer",
              "number"
            ]
          }
        }
      },
      "required": [
        "path"
      ]
    },
    "TcHmi.Controls.Beckhoff.TcHmiTabNavigation.Tab": {
      "type": "object",
      "title": "Tab",
      "description": "A single tab",
      "engineeringColumns": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "targetFile": {
          "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TargetFile"
        },
        "targetFileHostPreload": {
          "type": "boolean"
        },
        "targetFileHostPreAttach": {
          "type": "boolean"
        },
        "targetFileHostKeepAlive": {
          "type": "boolean"
        },
        "horizontalAlignment": {
          "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
        },
        "verticalAlignment": {
          "$ref": "tchmi:framework#/definitions/VerticalAlignment"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconPath": {
              "$ref": "tchmi:framework#/definitions/Path"
            },
            "iconWidth": {
              "$ref": "tchmi:framework#/definitions/MeasurementValue"
            },
            "iconWidthUnit": {
              "$ref": "tchmi:framework#/definitions/MeasurementUnit"
            },
            "iconHeight": {
              "$ref": "tchmi:framework#/definitions/MeasurementValue"
            },
            "iconHeightUnit": {
              "$ref": "tchmi:framework#/definitions/MeasurementUnit"
            }
          },
          "propertiesMeta": [
            {
              "name": "iconPath",
              "displayName": "Icon Path",
              "category": "General",
              "displayPriority": 10,
              "description": "The icon that will be displayed in the tab bar.",
              "defaultValue": null,
              "defaultValueInternal": null
            },
            {
              "name": "iconWidth",
              "displayName": "Icon Width",
              "category": "General",
              "displayPriority": 11,
              "description": "",
              "defaultValue": null,
              "defaultValueInternal": 32
            },
            {
              "name": "iconWidthUnit",
              "displayName": "Icon Width Unit",
              "category": "General",
              "displayPriority": 11,
              "description": "",
              "defaultValue": null,
              "defaultValueInternal": "px",
              "refTo": "iconWidth"
            },
            {
              "name": "iconHeight",
              "displayName": "Icon Height",
              "category": "General",
              "displayPriority": 12,
              "description": "",
              "defaultValue": null,
              "defaultValueInternal": 32
            },
            {
              "name": "iconHeightUnit",
              "displayName": "Icon Height Unit",
              "category": "General",
              "displayPriority": 12,
              "description": "",
              "defaultValue": null,
              "defaultValueInternal": "px",
              "refTo": "iconHeight"
            }
          ],
          "required": [
            "iconPath",
            "iconWidth",
            "iconWidthUnit",
            "iconHeight",
            "iconHeightUnit"
          ]
        }
      },
      "propertiesMeta": [
        {
          "name": "name",
          "displayName": "Name",
          "category": "General",
          "displayPriority": 10,
          "description": "Name of the Tab.",
          "defaultValue": "newTab",
          "defaultValueInternal": null
        },
        {
          "name": "displayName",
          "displayName": "Display Name",
          "category": "General",
          "displayPriority": 10,
          "description": "Name of the Tab that will be displayed in the tab bar.",
          "defaultValue": "New Tab",
          "defaultValueInternal": null
        },
        {
          "name": "targetFile",
          "displayName": "Target File",
          "category": "General",
          "displayPriority": 11,
          "description": "",
          "defaultValue": null,
          "defaultValueInternal": null
        },
        {
          "name": "targetFileHostPreload",
          "displayName": "Target File Host Preload",
          "category": "General",
          "displayPriority": 13,
          "description": "Defines whether the target file host is preloaded when the tab navigation control is initialized or loaded when the tab is selected.",
          "defaultValue": null,
          "defaultValueInternal": false
        },
        {
          "name": "targetFileHostPreAttach",
          "displayName": "Target File Host Pre Attach",
          "category": "General",
          "displayPriority": 14,
          "description": "Defines whether the target file host is pre attached to the DOM even if the tab is not yet selected. Does only have an effect if TargetFileHostPreload is true.",
          "defaultValue": null,
          "defaultValueInternal": false
        },
        {
          "name": "targetFileHostKeepAlive",
          "displayName": "Target File Host Keep Alive",
          "category": "General",
          "displayPriority": 15,
          "description": "Defines whether the target file host is kept alive when the tab is unselected. Has no effect when TargetFileHostPreload is set to true.",
          "defaultValue": null,
          "defaultValueInternal": false
        },
        {
          "name": "horizontalAlignment",
          "displayName": "Horizontal alignment",
          "category": "General",
          "displayPriority": 20,
          "description": "Horizontal alignment of the text in the tab bar.",
          "defaultValue": "Left",
          "defaultValueInternal": "Left"
        },
        {
          "name": "verticalAlignment",
          "displayName": "Vertical alignment",
          "category": "General",
          "displayPriority": 21,
          "description": "Vertical alignment of the text in the tab bar.",
          "defaultValue": "Center",
          "defaultValueInternal": "Center"
        },
        {
          "name": "icon",
          "displayName": "Icon",
          "category": "General",
          "displayPriority": 30,
          "description": "The Icon displayed in the tab bar.",
          "defaultValue": null,
          "defaultValueInternal": null
        }
      ],
      "required": [
        "name"
      ]
    },
    "TcHmi.Controls.System.TcHmiControl": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiControl",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiControl": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiControl"
    },
    "TcHmi.Controls.System.TcHmiContainerControl": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiContainerControl",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiContainerControl": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiContainerControl"
    },
    "TcHmi.Controls.System.TcHmiPartial": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiPartial",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiPartial": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiPartial"
    },
    "TcHmi.Controls.System.TcHmiPopup": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiPopup",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiPopup": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiPopup"
    },
    "TcHmi.Controls.System.TcHmiPopup.TargetFile": {
      "type": "object",
      "properties": {
        "path": {
          "anyOf": [
            {
              "$ref": "tchmi:framework#/definitions/UserControlPath"
            },
            {
              "$ref": "tchmi:framework#/definitions/ContentPath"
            }
          ]
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {
            "type": [
              "object",
              "array",
              "string",
              "boolean",
              "integer",
              "number"
            ]
          }
        }
      },
      "required": [
        "path"
      ]
    },
    "TcHmi.Controls.System.TcHmiContainer": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiContainer",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiContainer": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiContainer"
    },
    "TcHmi.Controls.System.TcHmiContent": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiContent",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiContent": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiContent"
    },
    "CellOptions": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiGrid.CellOptions"
    },
    "ColumnOptions": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiGrid.ColumnOptions"
    },
    "RowOptions": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiGrid.RowOptions"
    },
    "TcHmi.Controls.System.TcHmiGrid": {
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiGrid",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmi.Controls.System.TcHmiGrid.CellOptions": {
      "title": "CellOptions",
      "description": "Definition of cell options in the grid.",
      "type": "array",
      "items": {
        "title": "Cell definition",
        "description": "Definition of a cell.",
        "type": "object",
        "engineeringColumns": [
          "columnIndex",
          "rowIndex"
        ],
        "propertiesMeta": [
          {
            "name": "columnIndex",
            "category": "Layout",
            "displayName": "ColumnIndex",
            "displayPriority": 10,
            "description": "Column index of the defined cell.",
            "defaultValueInternal": null
          },
          {
            "name": "rowIndex",
            "category": "Layout",
            "displayName": "RowIndex",
            "displayPriority": 10,
            "description": "Row index of the defined cell.",
            "defaultValueInternal": null
          },
          {
            "name": "padding",
            "category": "Layout",
            "displayPriority": 60,
            "displayName": "Padding",
            "description": "Inner padding of the cell. \nNote: Percentages always refer to the width of the cell, never its height (even for top and bottom).",
            "defaultValueInternal": null
          },
          {
            "name": "backgroundColor",
            "category": "Colors",
            "displayPriority": 10,
            "displayName": "BackgroundColor",
            "description": "Definition of the background color which is used if no or a transparent Background image is set.",
            "defaultValueInternal": null
          },
          {
            "name": "borderColor",
            "category": "Colors",
            "displayPriority": 10,
            "displayName": "BorderColor",
            "description": "Definition of the border color.",
            "defaultValueInternal": null
          },
          {
            "name": "borderWidth",
            "category": "Border",
            "displayPriority": 10,
            "displayName": "BorderWidth",
            "description": "Definition of the border width.",
            "defaultValueInternal": null
          },
          {
            "name": "borderStyle",
            "category": "Border",
            "displayPriority": 10,
            "displayName": "BorderStyle",
            "description": "Definition of the border style.",
            "defaultValueInternal": null
          },
          {
            "name": "backgroundImage",
            "category": "Background Image",
            "displayPriority": 10,
            "displayName": "BackgroundImage",
            "description": "Definition of the background image.",
            "defaultValueInternal": null
          },
          {
            "name": "backgroundImageWidth",
            "category": "Background Image",
            "displayPriority": 20,
            "displayName": "BackgroundImageWidth",
            "description": "Width of the background image.",
            "defaultValueInternal": null
          },
          {
            "name": "backgroundImageWidthUnit",
            "refTo": "backgroundImageWidth",
            "category": "Background Image",
            "displayPriority": 20,
            "displayName": "BackgroundImageWidthUnit",
            "description": "Width Unit of the background image.",
            "defaultValue": null,
            "defaultValueInternal": "px"
          },
          {
            "name": "backgroundImageHeight",
            "category": "Background Image",
            "displayPriority": 20,
            "displayName": "BackgroundImageHeight",
            "description": "Height of the background image.",
            "defaultValueInternal": null
          },
          {
            "name": "backgroundImageHeightUnit",
            "refTo": "backgroundImageHeight",
            "category": "Background Image",
            "displayPriority": 20,
            "displayName": "BackgroundImageHeightUnit",
            "description": "Height Unit of the background image.",
            "defaultValue": null,
            "defaultValueInternal": "px"
          },
          {
            "name": "backgroundImageHorizontalAlignment",
            "category": "Background Image",
            "displayPriority": 30,
            "displayName": "BackgroundImageHorizontalAligment",
            "description": "Horizontal Aligment of the background image.",
            "defaultValue": null,
            "defaultValueInternal": "Center"
          },
          {
            "name": "backgroundImageVerticalAlignment",
            "category": "Background Image",
            "displayPriority": 30,
            "displayName": "BackgroundImageVerticalAligment",
            "description": "Vertical Aligment of the background image.",
            "defaultValue": null,
            "defaultValueInternal": "Center"
          },
          {
            "name": "backgroundImagePadding",
            "category": "Background Image",
            "displayPriority": 60,
            "displayName": "BackgroundImagePadding",
            "description": "Padding of the background image.",
            "defaultValueInternal": null
          }
        ],
        "properties": {
          "columnIndex": {
            "type": "integer",
            "minimum": 0,
            "title": "ColumnIndex",
            "description": "Column index of the defined cell.",
            "default": null,
            "category": "Layout",
            "displayPriority": 10
          },
          "rowIndex": {
            "type": "integer",
            "minimum": 0,
            "title": "RowIndex",
            "description": "Row index of the defined cell.",
            "default": null,
            "category": "Layout",
            "displayPriority": 10
          },
          "padding": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/Padding"
              },
              {
                "title": "Padding",
                "description": "Inner padding of the cell. \nNote: Percentages always refer to the width of the cell, never its height (even for top and bottom).",
                "default": null,
                "category": "Layout",
                "displayPriority": 60
              }
            ]
          },
          "backgroundColor": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/SolidColor"
              },
              {
                "title": "BackgroundColor",
                "description": "Definition of the background color which is used if no or a transparent Background image is set.",
                "default": null,
                "category": "Colors",
                "displayPriority": 10
              }
            ]
          },
          "borderColor": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/SolidColor"
              },
              {
                "title": "BorderColor",
                "description": "Definition of the border color.",
                "default": null,
                "category": "Colors",
                "displayPriority": 10
              }
            ]
          },
          "borderWidth": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/BorderWidth"
              },
              {
                "title": "BorderWidth",
                "description": "Definition of the border width.",
                "default": null,
                "category": "Border",
                "displayPriority": 10
              }
            ]
          },
          "borderStyle": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/BorderStyle"
              },
              {
                "title": "BorderStyle",
                "description": "Definition of the border style.",
                "default": null,
                "category": "Border",
                "displayPriority": 10
              }
            ]
          },
          "backgroundImage": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/Path"
              },
              {
                "title": "BackgroundImage",
                "description": "Definition of the background image.",
                "default": null,
                "category": "Background Image",
                "displayPriority": 10
              }
            ]
          },
          "backgroundImageWidth": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "BackgroundImageWidth",
                "description": "Width of the background image.",
                "default": null,
                "category": "Background Image",
                "displayPriority": 20
              }
            ]
          },
          "backgroundImageWidthUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              {
                "title": "BackgroundImageWidthUnit",
                "description": "Width Unit of the background image.",
                "default": "px",
                "refTo": "backgroundImageWidth",
                "category": "Background Image",
                "displayPriority": 20
              }
            ]
          },
          "backgroundImageHeight": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "BackgroundImageHeight",
                "description": "Height of the background image.",
                "default": null,
                "category": "Background Image",
                "displayPriority": 20
              }
            ]
          },
          "backgroundImageHeightUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              {
                "title": "BackgroundImageHeightUnit",
                "description": "Height Unit of the background image.",
                "default": "px",
                "refTo": "backgroundImageHeight",
                "category": "Background Image",
                "displayPriority": 20
              }
            ]
          },
          "backgroundImageHorizontalAlignment": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/HorizontalAlignment"
              },
              {
                "title": "BackgroundImageHorizontalAligment",
                "description": "Horizontal Aligment of the background image.",
                "default": "Center",
                "category": "Background Image",
                "displayPriority": 30
              }
            ]
          },
          "backgroundImageVerticalAlignment": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/VerticalAlignment"
              },
              {
                "title": "BackgroundImageVerticalAligment",
                "description": "Vertical Aligment of the background image.",
                "default": "Center",
                "category": "Background Image",
                "displayPriority": 30
              }
            ]
          },
          "backgroundImagePadding": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/Padding"
              },
              {
                "title": "BackgroundImagePadding",
                "description": "Padding of the background image.",
                "default": null,
                "category": "Background Image",
                "displayPriority": 60
              }
            ]
          }
        }
      }
    },
    "TcHmi.Controls.System.TcHmiGrid.ColumnOptions": {
      "title": "ColumnOptions",
      "type": "array",
      "items": {
        "type": "object",
        "title": "Column definition",
        "description": "Defines one column.",
        "engineeringColumns": [
          "width",
          "widthUnit",
          "widthMode"
        ],
        "propertiesMeta": [
          {
            "name": "width",
            "category": "Layout",
            "displayName": "Width",
            "displayPriority": 10,
            "description": "Defines width of the column in the grid. Can be a pixel value (42px), percent value (42%) or a grow factor (1).\nThe grow factor determines how much the items will grow relative to the rest of the items when positive free space is distributed.",
            "defaultValue": null,
            "defaultValueInternal": 1
          },
          {
            "name": "widthUnit",
            "refTo": "width",
            "category": "Layout",
            "displayName": "WidthUnit",
            "displayPriority": 10,
            "description": "Defines if the number defines a pixel value (px), percent value (42%) or grow factor (2).",
            "defaultValue": null,
            "defaultValueInternal": "factor"
          },
          {
            "name": "widthMode",
            "category": "Layout",
            "displayName": "WidthMode",
            "displayPriority": 30,
            "description": "Defines if the width is taken from the width value or calculated from child controls in this Column.",
            "defaultValue": null,
            "defaultValueInternal": "Value"
          },
          {
            "name": "maxWidth",
            "category": "Layout",
            "displayName": "MaxWidth",
            "displayPriority": 60,
            "description": "Defines maximal width of the column in the grid. Can be a pixel value (42px), percent value (42%).\nmax-width overrides width, but min-width overrides max-width.",
            "defaultValueInternal": null
          },
          {
            "name": "maxWidthUnit",
            "refTo": "maxWidth",
            "category": "Layout",
            "displayName": "MaxWidthUnit",
            "displayPriority": 60,
            "description": "",
            "defaultValueInternal": "px"
          },
          {
            "name": "minWidth",
            "category": "Layout",
            "displayName": "MinWidth",
            "displayPriority": 61,
            "description": "Defines minimal width of the column in the grid. Can be a pixel value (42px), percent value (42%).\nmax-width overrides width, but min-width overrides max-width.",
            "defaultValueInternal": null
          },
          {
            "name": "minWidthUnit",
            "refTo": "minWidth",
            "category": "Layout",
            "displayName": "MinWidthUnit",
            "displayPriority": 61,
            "description": "",
            "defaultValueInternal": "px"
          },
          {
            "name": "overflow",
            "category": "Layout",
            "displayName": "Overflow",
            "displayPriority": 65,
            "description": "Defines if a control should be fully visible if it is outside of this column.",
            "defaultValue": null,
            "defaultValueInternal": false
          }
        ],
        "properties": {
          "width": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "Width",
                "description": "Defines width of the column in the grid. Can be a pixel value (42px), percent value (42%) or a grow factor (1).\nThe grow factor determines how much the items will grow relative to the rest of the items when positive free space is distributed.",
                "default": 1,
                "category": "Layout",
                "displayPriority": 10
              }
            ]
          },
          "widthUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiGrid.MeasurementUnitOrFactor"
              },
              {
                "title": "WidthUnit",
                "description": "Defines if the number defines a pixel value (px), percent value (42%) or grow factor (2).",
                "default": "factor",
                "refTo": "width",
                "category": "Layout",
                "displayPriority": 10
              }
            ]
          },
          "widthMode": {
            "allOf": [
              {
                "type": "string",
                "enum": [
                  "Value",
                  "Content"
                ]
              },
              {
                "title": "WidthMode",
                "description": "Defines if the width is taken from the width value or calculated from child controls in this Column.",
                "default": "Value",
                "category": "Layout",
                "displayPriority": 30
              }
            ]
          },
          "maxWidth": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "MaxWidth",
                "description": "Defines maximal width of the column in the grid. Can be a pixel value (42px), percent value (42%).\nmax-width overrides width, but min-width overrides max-width.",
                "default": null,
                "displayPriority": 60,
                "category": "Layout"
              }
            ]
          },
          "maxWidthUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              {
                "title": "MaxWidthUnit",
                "description": "",
                "default": "px",
                "category": "Layout",
                "displayPriority": 60,
                "refTo": "maxWidth"
              }
            ]
          },
          "minWidth": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "MinWidth",
                "description": "Defines minimal width of the column in the grid. Can be a pixel value (42px), percent value (42%).\nmax-width overrides width, but min-width overrides max-width.",
                "default": null,
                "category": "Layout",
                "displayPriority": 61
              }
            ]
          },
          "minWidthUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              {
                "title": "MinWidthUnit",
                "description": "",
                "default": "px",
                "refTo": "minWidth",
                "category": "Layout",
                "displayPriority": 61
              }
            ]
          },
          "overflow": {
            "allOf": [
              {
                "$ref": "tchmi:general#/definitions/Boolean"
              },
              {
                "title": "Overflow",
                "description": "Defines if a control should be fully visible if it is outside of this column.",
                "default": false,
                "category": "Layout",
                "displayPriority": 65
              }
            ]
          }
        }
      }
    },
    "TcHmi.Controls.System.TcHmiGrid.MeasurementUnitOrFactor": {
      "description": "Defines if the number defines a pixel value (px), percent value (42%) or grow factor (2).\nThe grow factor determines how much the items will grow relative to the rest of the items when positive free space is distributed.",
      "type": "string",
      "enum": [
        "factor",
        "px",
        "%"
      ],
      "default": "factor"
    },
    "TcHmi.Controls.System.TcHmiGrid.RowOptions": {
      "title": "RowOptions",
      "type": "array",
      "items": {
        "type": "object",
        "title": "Row definition",
        "description": "Defines one row.",
        "engineeringColumns": [
          "height",
          "heightUnit",
          "heightMode"
        ],
        "propertiesMeta": [
          {
            "name": "height",
            "category": "Layout",
            "displayName": "Height",
            "displayPriority": 10,
            "description": "Defines height of the cells of this row in the grid. Can be a pixel value (42px), percent value (42%) or a grow factor (1).\nThe grow factor determines how much the items will grow relative to the rest of the items when positive free space is distributed.",
            "defaultValue": null,
            "defaultValueInternal": 1
          },
          {
            "name": "heightUnit",
            "refTo": "height",
            "category": "Layout",
            "displayName": "HeightUnit",
            "displayPriority": 10,
            "description": "Defines if the number defines a pixel value (px), percent value (42%) or grow factor (2).",
            "defaultValue": null,
            "defaultValueInternal": "factor"
          },
          {
            "name": "heightMode",
            "category": "Layout",
            "displayName": "HeightMode",
            "displayPriority": 30,
            "description": "Defines if the height is taken from the height value or calculated from child controls in row.",
            "defaultValue": null,
            "defaultValueInternal": "Value"
          },
          {
            "name": "maxHeight",
            "category": "Layout",
            "displayName": "MaxHeight",
            "displayPriority": 60,
            "description": "Defines maximal height of the row in the grid. Can be a pixel value (42px), percent value (42%).\nmax-height overrides height, but min-height overrides max-height.",
            "defaultValueInternal": null
          },
          {
            "name": "maxHeightUnit",
            "refTo": "maxHeight",
            "category": "Layout",
            "displayName": "MaxHeightUnit",
            "displayPriority": 60,
            "description": "",
            "defaultValueInternal": "px"
          },
          {
            "name": "minHeight",
            "category": "Layout",
            "displayName": "MinHeight",
            "displayPriority": 61,
            "description": "Defines minimal height of the row in the grid. Can be a pixel value (42px), percent value (42%).\nmax-height overrides height, but min-height overrides max-height.",
            "defaultValueInternal": null
          },
          {
            "name": "minHeightUnit",
            "refTo": "minHeight",
            "category": "Layout",
            "displayName": "MinHeightUnit",
            "displayPriority": 61,
            "description": "",
            "defaultValueInternal": "px"
          },
          {
            "name": "overflow",
            "category": "Layout",
            "displayName": "Overflow",
            "displayPriority": 65,
            "description": "Defines if a control should be fully visible if it is outside of this row.",
            "defaultValue": null,
            "defaultValueInternal": false
          }
        ],
        "properties": {
          "height": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "Height",
                "description": "Defines height of the cells of this row in the grid. Can be a pixel value (42px), percent value (42%) or a grow factor (1).\nThe grow factor determines how much the items will grow relative to the rest of the items when positive free space is distributed.",
                "default": 1,
                "category": "Layout",
                "displayPriority": 10
              }
            ]
          },
          "heightUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiGrid.MeasurementUnitOrFactor"
              },
              {
                "title": "HeightUnit",
                "description": "Defines if the number defines a pixel value (px), percent value (42%) or grow factor (2).",
                "default": "factor",
                "refTo": "height",
                "category": "Layout",
                "displayPriority": 10
              }
            ]
          },
          "heightMode": {
            "allOf": [
              {
                "type": "string",
                "enum": [
                  "Value",
                  "Content"
                ]
              },
              {
                "title": "HeightMode",
                "description": "Defines if the height is taken from the height value or calculated from child controls in row.",
                "default": "Value",
                "category": "Layout",
                "displayPriority": 30
              }
            ]
          },
          "maxHeight": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "MaxHeight",
                "description": "Defines maximal height of the row in the grid. Can be a pixel value (42px), percent value (42%).\nmax-height overrides height, but min-height overrides max-height.",
                "default": null,
                "refTo": "maxHeight",
                "category": "Layout",
                "displayPriority": 60
              }
            ]
          },
          "maxHeightUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              {
                "title": "MaxHeightUnit",
                "description": "",
                "default": "px",
                "category": "Layout",
                "displayPriority": 60
              }
            ]
          },
          "minHeight": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementValue"
              },
              {
                "title": "MinHeight",
                "description": "Defines minimal height of the row in the grid. Can be a pixel value (42px), percent value (42%).\nmax-height overrides height, but min-height overrides max-height.",
                "default": null,
                "category": "Layout",
                "displayPriority": 61
              }
            ]
          },
          "minHeightUnit": {
            "allOf": [
              {
                "$ref": "tchmi:framework#/definitions/MeasurementUnit"
              },
              {
                "title": "MinHeightUnit",
                "description": "",
                "default": "px",
                "refTo": "minHeight",
                "category": "Layout",
                "displayPriority": 61
              }
            ]
          },
          "overflow": {
            "allOf": [
              {
                "$ref": "tchmi:general#/definitions/Boolean"
              },
              {
                "title": "Overflow",
                "description": "Defines if a control should be fully visible if it is outside of this row.",
                "default": false,
                "category": "Layout",
                "displayPriority": 65
              }
            ]
          }
        }
      }
    },
    "TcHmiGrid": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiGrid"
    },
    "TcHmi.Controls.System.TcHmiHtmlHost": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiHtmlHost",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiHtmlHost": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiHtmlHost"
    },
    "TcHmi.Controls.System.TcHmiUserControl": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiUserControl",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiUserControl": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiUserControl"
    },
    "TcHmi.Controls.System.TcHmiView": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiView",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiView": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiView"
    },
    "TcHmi.Controls.System.TcHmiRegion": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiRegion",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiRegion": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiRegion"
    },
    "TcHmi.Controls.System.TcHmiUserControlHost": {
      "$schema": "http://json-schema.org/draft-04/schema",
      "type": "object",
      "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
      "frameworkControlType": "TcHmiUserControlHost",
      "frameworkControlNamespace": "TcHmi.Controls.System"
    },
    "TcHmiUserControlHost": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiUserControlHost"
    },
    "TcHmi.Functions.Beckhoff.Increment.IncrementValueSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Number"
          }
        }
      ]
    },
    "IncrementValueSymbol": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Functions.Beckhoff.Increment.IncrementValueSymbol"
    },
    "TcHmi.Functions.Beckhoff.Decrement.DecrementValueSymbol": {
      "allOf": [
        {
          "$ref": "tchmi:framework#/definitions/Symbol"
        },
        {
          "frameworkSymbolSubType": {
            "$ref": "tchmi:general#/definitions/Number"
          }
        }
      ]
    },
    "DecrementValueSymbol": {
      "$ref": "tchmi:framework#/definitions/TcHmi.Functions.Beckhoff.Decrement.DecrementValueSymbol"
    },
    "TcHmi.Functions.Beckhoff.Log.Level": {
      "type": "string",
      "enum": [
        "Error",
        "Warning",
        "Info",
        "Debug"
      ]
    }
  }
}