Added minimal functionality for Robot teaching
- Added minimal HMI - Added possibility to open and close all chamber doors
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
{
|
||||
"$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
|
||||
"apiVersion": 1,
|
||||
"name": "TcHmiPolygon",
|
||||
"namespace": "TcHmi.Controls.Beckhoff",
|
||||
"displayName": "Polygon",
|
||||
"version": {
|
||||
"full": "14.4.1.0",
|
||||
"major": 14,
|
||||
"minor": 4,
|
||||
"build": 1,
|
||||
"revision": 0
|
||||
},
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"base": "TcHmi.Controls.System.TcHmiControl",
|
||||
"description": "The polygon control defines a closed shape consisting of a set of connected straight line segments.\nThe last point is connected to the first point.",
|
||||
"defaultDesignerEvent": ".onPressed",
|
||||
"properties": {
|
||||
"containerControl": false,
|
||||
"geometry": {
|
||||
"width": 200,
|
||||
"height": 200
|
||||
}
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"name": "Icons/16x16.png",
|
||||
"width": 16,
|
||||
"height": 16
|
||||
}
|
||||
],
|
||||
"template": "Template.html",
|
||||
"dependencyFiles": [
|
||||
{
|
||||
"name": "Style.css",
|
||||
"type": "Stylesheet",
|
||||
"description": ""
|
||||
},
|
||||
{
|
||||
"name": "../dist/TcHmiPolygon/TcHmiPolygon.esm.js",
|
||||
"type": "EsModule",
|
||||
"description": "Contains all the main logic as ES module."
|
||||
}
|
||||
],
|
||||
"themes": {
|
||||
"Base": {
|
||||
"resources": [
|
||||
{
|
||||
"name": "Themes/Base/Style.css",
|
||||
"type": "Stylesheet",
|
||||
"description": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"Base-Dark": {
|
||||
"resources": [
|
||||
{
|
||||
"name": "Themes/Base-Dark/Style.css",
|
||||
"type": "Stylesheet",
|
||||
"description": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"name": "data-tchmi-fill-color",
|
||||
"propertyName": "FillColor",
|
||||
"propertySetterName": "setFillColor",
|
||||
"propertyGetterName": "getFillColor",
|
||||
"displayName": "Fill Color",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 10,
|
||||
"type": "tchmi:framework#/definitions/Color",
|
||||
"category": "Colors",
|
||||
"description": "Defines the color of the interior of the control.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"allowSymbolExpressionsInObject": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-stroke-color",
|
||||
"propertyName": "StrokeColor",
|
||||
"propertySetterName": "setStrokeColor",
|
||||
"propertyGetterName": "getStrokeColor",
|
||||
"displayName": "Stroke Color",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 10,
|
||||
"type": "tchmi:framework#/definitions/SolidColor",
|
||||
"category": "Colors",
|
||||
"description": "Specifies the color of the outline of the control.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"allowSymbolExpressionsInObject": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-points",
|
||||
"propertyName": "Points",
|
||||
"propertySetterName": "setPoints",
|
||||
"propertyGetterName": "getPoints",
|
||||
"displayName": "Points",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 10,
|
||||
"type": "tchmi:general#/definitions/String",
|
||||
"category": "Common",
|
||||
"description": "Each point is defined by a X and a Y coordinate.\nIt's a common practice (but not required) to use a comma to mark out the X and Y coordinate of each point and to use space to mark out each point.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": "0,100 100,0 200,100 100,200",
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-stroke-thickness",
|
||||
"propertyName": "StrokeThickness",
|
||||
"propertySetterName": "setStrokeThickness",
|
||||
"propertyGetterName": "getStrokeThickness",
|
||||
"displayName": "Stroke Thickness",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 20,
|
||||
"type": "tchmi:framework#/definitions/MeasurementValue",
|
||||
"category": "Shape",
|
||||
"description": "Specifies the width of the shape's stroke in pixels.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-stroke-thickness-unit",
|
||||
"propertyName": "StrokeThicknessUnit",
|
||||
"propertyGetterName": "getStrokeThicknessUnit",
|
||||
"refTo": "StrokeThickness",
|
||||
"displayName": "Stroke Thickness Unit",
|
||||
"visible": true,
|
||||
"displayPriority": 20,
|
||||
"type": "tchmi:framework#/definitions/PixelUnit",
|
||||
"category": "Shape",
|
||||
"description": "Only Pixel is allowed.",
|
||||
"readOnly": true,
|
||||
"bindable": false,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValueInternal": "px"
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-stroke-style",
|
||||
"propertyName": "StrokeStyle",
|
||||
"propertySetterName": "setStrokeStyle",
|
||||
"propertyGetterName": "getStrokeStyle",
|
||||
"displayName": "Stroke Style",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 20,
|
||||
"type": "tchmi:general#/definitions/String",
|
||||
"category": "Shape",
|
||||
"description": "It's a list of comma and/or white space separated numbers that specify the lengths of alternating dashes and gaps.\nIf an odd number of values is provided, then the list of values is repeated to yield an even number of values. Thus, 5,3,2 is equivalent to 5,3,2,5,3,2.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": ""
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-fill-mode",
|
||||
"propertyName": "FillMode",
|
||||
"propertySetterName": "setFillMode",
|
||||
"propertyGetterName": "getFillMode",
|
||||
"displayName": "Fill Mode",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 60,
|
||||
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiPolygon.FillMode",
|
||||
"category": "Shape",
|
||||
"description": "Defines the algorithm which is to be used to determine what parts of the canvas are included inside the shape (used with self intersecting polygons).",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "NonZero"
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-scale-mode",
|
||||
"propertyName": "ScaleMode",
|
||||
"propertySetterName": "setScaleMode",
|
||||
"propertyGetterName": "getScaleMode",
|
||||
"displayName": "Scale Mode",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 60,
|
||||
"type": "tchmi:framework#/definitions/ScaleMode",
|
||||
"category": "Shape",
|
||||
"description": "Scale the content to control size.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": "ScaleToFill",
|
||||
"defaultValueInternal": "None"
|
||||
}
|
||||
],
|
||||
"attributeCategories": [
|
||||
{
|
||||
"name": "Shape",
|
||||
"displayPriority": 500,
|
||||
"defaultCollapsed": true,
|
||||
"description": "Attributes defining the shape displayed"
|
||||
}
|
||||
],
|
||||
"functions": [],
|
||||
"dataTypes": [
|
||||
{
|
||||
"schema": "Schema/Types.Schema.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Packages/Beckhoff.TwinCAT.HMI.Controls.14.4.1/runtimes/native1.12-tchmi/TcHmiPolygon/Icons/16x16.png
vendored
Normal file
BIN
Packages/Beckhoff.TwinCAT.HMI.Controls.14.4.1/runtimes/native1.12-tchmi/TcHmiPolygon/Icons/16x16.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 499 B |
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-04/schema",
|
||||
"definitions": {
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
27
Packages/Beckhoff.TwinCAT.HMI.Controls.14.4.1/runtimes/native1.12-tchmi/TcHmiPolygon/Style.css
vendored
Normal file
27
Packages/Beckhoff.TwinCAT.HMI.Controls.14.4.1/runtimes/native1.12-tchmi/TcHmiPolygon/Style.css
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
/** Styles for all themes */
|
||||
|
||||
/* Style for the main element */
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon,
|
||||
.tchmi-polygon {
|
||||
/* Prevent overflow if the border radius is huge */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon-template,
|
||||
.tchmi-polygon-template {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon-template-svg,
|
||||
.tchmi-polygon-template-svg {
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon-template-svg-polygon,
|
||||
.tchmi-polygon-template-svg-polygon {
|
||||
/* SVG default is stroke:1px and fill:black */
|
||||
stroke-width: 0;
|
||||
fill: transparent;
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
// Compatibility file for non-module typescript compiles without adjustments.
|
||||
// Use the following line for modern code (needs adjustments to tsconfig.json#configOptions/paths)
|
||||
// import { TcHmiControl } from "Beckhoff.TwinCAT.HMI.Framework/index.esm.js";
|
||||
// ***************************************************************************
|
||||
|
||||
declare class TcHmiPolygon extends TcHmi.Controls.System.TcHmiControl {
|
||||
#private;
|
||||
constructor(element: JQuery, pcElement: JQuery, attrs: TcHmi.Controls.ControlAttributeList);
|
||||
/** Reference to the root dom element of the current control template as jquery object. */
|
||||
protected __elementTemplateRoot: JQuery;
|
||||
/** Reference to the underlying html svg element as jquery object. */
|
||||
protected __elementSvg: JQuery;
|
||||
/** Reference to the underlying html svg polygon element as jquery object. */
|
||||
protected __elementSvgPolygon: JQuery;
|
||||
/**
|
||||
* Internal reference to the attribute 'data-tchmi-fill-color'.
|
||||
*/
|
||||
protected __fillColor: TcHmi.Color | null | undefined;
|
||||
/**
|
||||
* Internal reference to the attribute 'data-tchmi-stroke-color'
|
||||
*/
|
||||
protected __strokeColor: TcHmi.SolidColor | null | undefined;
|
||||
/**
|
||||
* Internal reference to the attribute 'data-tchmi-fill-mode'
|
||||
*/
|
||||
protected __fillMode: 'NonZero' | 'EvenOdd' | undefined;
|
||||
/**
|
||||
* Internal reference to the attribute 'data-tchmi-stroke-thickness'
|
||||
*/
|
||||
protected __strokeThickness: number | null | undefined;
|
||||
/**
|
||||
* Internal reference to the attribute 'data-tchmi-stroke-style'
|
||||
* Example: '2,2'
|
||||
*/
|
||||
protected __strokeStyle: string | null | undefined;
|
||||
/**
|
||||
* Internal reference to the attribute 'data-tchmi-points'
|
||||
* Example: '10,10 20,20''
|
||||
*/
|
||||
protected __points: string | null | undefined;
|
||||
/**
|
||||
* Internal reference to the attribute 'data-tchmi-scaleMode'
|
||||
*/
|
||||
protected __scaleMode: TcHmi.ScaleModeString | undefined;
|
||||
/**
|
||||
* If raised, the control object exists in control cache and constructor of each inheritation level was called.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__previnit(): void;
|
||||
/**
|
||||
* If raised, all attributes have been set to it's default or dom values.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__init(): void;
|
||||
/**
|
||||
* Is called by the system after the control instance gets part of the current DOM.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__attach(): void;
|
||||
/**
|
||||
* Is called by the system after the control instance is no longer part of the current DOM.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__detach(): void;
|
||||
/**
|
||||
* Destroy the current control instance.
|
||||
* Will be called automatically if system destroys control!
|
||||
*/
|
||||
destroy(): void;
|
||||
/**
|
||||
* Returns an event handler function for the onResized event.
|
||||
*/
|
||||
protected __onResized(_event: TcHmi.EventProvider.Event, _control: TcHmi.Controls.System.TcHmiControl): void;
|
||||
/**
|
||||
* Sets the fillColor attribute to a new value.
|
||||
* @param valueNew The new value for the fillColor attribute;
|
||||
*/
|
||||
setFillColor(valueNew: TcHmi.Color | null): void;
|
||||
/**
|
||||
* The watch callback for the fillColor object resolver.
|
||||
*/
|
||||
protected __onResolverForFillColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.Color>): void;
|
||||
/**
|
||||
* @returns The current value of the fillColor attribute.
|
||||
*/
|
||||
getFillColor(): TcHmi.Color | null | undefined;
|
||||
/**
|
||||
* Processes the current value of attribute fillColor.
|
||||
*/
|
||||
protected __processFillColor(): void;
|
||||
/**
|
||||
* Sets the fillMode value and calls the associated process function (processFillMode).
|
||||
* @param valueNew The new value for fillMode.
|
||||
*/
|
||||
setFillMode(valueNew: 'NonZero' | 'EvenOdd' | null): void;
|
||||
/**
|
||||
* Returns the current value of fillMode.
|
||||
*/
|
||||
getFillMode(): "NonZero" | "EvenOdd" | undefined;
|
||||
/**
|
||||
* Processes the current fillMode attribute value.
|
||||
*/
|
||||
protected __processFillMode(): void;
|
||||
/**
|
||||
* Sets the stroke color attribute to a new value.
|
||||
* @param valueNew The new value for the stroke color attribute;
|
||||
*/
|
||||
setStrokeColor(valueNew: TcHmi.SolidColor | null): void;
|
||||
/**
|
||||
* The watch callback for the strokeColor object resolver.
|
||||
*/
|
||||
protected __onResolverForStrokeColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
|
||||
/**
|
||||
* @returns The current value of the strokeColor attribute.
|
||||
*/
|
||||
getStrokeColor(): TcHmi.SolidColor | null | undefined;
|
||||
/**
|
||||
* Processes the current value of attribute strokeColor.
|
||||
*/
|
||||
protected __processStrokeColor(): void;
|
||||
/**
|
||||
* Sets the stroke style and calls the associated process function (processStrokeStyle).
|
||||
* @param valueNew The new value for strokeStyle.
|
||||
*/
|
||||
setStrokeStyle(valueNew: string | null): void;
|
||||
/**
|
||||
* Returns the current value of strokeStyle.
|
||||
* @returns The current value of strokeStyle.
|
||||
*/
|
||||
getStrokeStyle(): string | null | undefined;
|
||||
/**
|
||||
* Processes the current strokeStyle attribute value.
|
||||
*/
|
||||
protected __processStrokeStyle(): void;
|
||||
/**
|
||||
* Sets the stroke thickness and calls the associated process function (processStrokeThickness).
|
||||
* @param valueNew The new value for strokeThickness.
|
||||
*/
|
||||
setStrokeThickness(valueNew: number | null): void;
|
||||
/**
|
||||
* Returns the current value of strokeThickness.
|
||||
* @returns The current value of strokeThickness.
|
||||
*/
|
||||
getStrokeThickness(): number | null | undefined;
|
||||
/**
|
||||
* Processes the current strokeThickness attribute value.
|
||||
*/
|
||||
protected __processStrokeThickness(): void;
|
||||
/**
|
||||
* Returns the current value of the member variable rowHeightUnit.
|
||||
*/
|
||||
getStrokeThicknessUnit(): string;
|
||||
/**
|
||||
* Empty function for compatibility
|
||||
*/
|
||||
protected __processStrokeThicknessUnit(): void;
|
||||
/**
|
||||
* Sets the points and calls the associated process function (processPoints).
|
||||
* @param valueNew The new value for points.
|
||||
*/
|
||||
setPoints(valueNew: string | null): void;
|
||||
/**
|
||||
* Returns the current value of points.
|
||||
* @returns The current value of points.
|
||||
*/
|
||||
getPoints(): string | null | undefined;
|
||||
/**
|
||||
* Processes the current points attribute value.
|
||||
*/
|
||||
protected __processPoints(): void;
|
||||
/**
|
||||
* Sets the scaleMode and calls the associated process function (processScaleMode).
|
||||
* @param valueNew The new value for scaleMode.
|
||||
*/
|
||||
setScaleMode(valueNew: TcHmi.ScaleModeString | null): void;
|
||||
/**
|
||||
* Returns the current value of scaleMode.
|
||||
* @returns The current value of scaleMode.
|
||||
*/
|
||||
getScaleMode(): TcHmi.ScaleModeString | undefined;
|
||||
/**
|
||||
* Processes the current scaleMode attribute value.
|
||||
*/
|
||||
protected __processScaleMode(): void;
|
||||
}
|
||||
export { TcHmiPolygon as Control };
|
||||
declare const _TcHmiPolygon: typeof TcHmiPolygon;
|
||||
type tTcHmiPolygon = TcHmiPolygon;
|
||||
declare global {
|
||||
namespace TcHmi.Controls.Beckhoff {
|
||||
const TcHmiPolygon: typeof _TcHmiPolygon;
|
||||
type TcHmiPolygon = tTcHmiPolygon;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<div class="TcHmi_Controls_Beckhoff_TcHmiPolygon-template tchmi-polygon-template tchmi-box">
|
||||
<svg
|
||||
class="TcHmi_Controls_Beckhoff_TcHmiPolygon-template-svg tchmi-polygon-template-svg"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="100%"
|
||||
height="100%"
|
||||
>
|
||||
<polygon
|
||||
class="TcHmi_Controls_Beckhoff_TcHmiPolygon-template-svg-polygon tchmi-polygon-template-svg-polygon"
|
||||
></polygon>
|
||||
</svg>
|
||||
</div>
|
||||
@@ -0,0 +1,14 @@
|
||||
/** Styles for the theme: Base-Dark */
|
||||
|
||||
/* Style for the main element */
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon,
|
||||
.tchmi-polygon {
|
||||
--tchmi-stroke: var(--tchmi-foreground-color-4);
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon-template-svg-polygon,
|
||||
.tchmi-polygon-template-svg-polygon {
|
||||
stroke: var(--tchmi-stroke);
|
||||
/* The control has no StrokeThickness default since the beginning, so most hmi projects rely on this value */
|
||||
stroke-width: 1px;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
/** Styles for the theme: Base */
|
||||
|
||||
/* Style for the main element */
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon,
|
||||
.tchmi-polygon {
|
||||
--tchmi-stroke: var(--tchmi-foreground-color-4);
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiPolygon-template-svg-polygon,
|
||||
.tchmi-polygon-template-svg-polygon {
|
||||
stroke: var(--tchmi-stroke);
|
||||
/* The control has no StrokeThickness default since the beginning, so most hmi projects rely on this value */
|
||||
stroke-width: 1px;
|
||||
}
|
||||
Reference in New Issue
Block a user