{
    "$schema": "http://json-schema.org/draft-04/schema",
    "definitions": {
        "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"]
        }
    }
}
