Added minimal functionality for Robot teaching

- Added minimal HMI
- Added possibility to open and close all chamber doors
This commit is contained in:
2026-01-17 09:20:39 +01:00
parent 9f058db2a3
commit 2d11c43579
2274 changed files with 912690 additions and 162 deletions

View File

@@ -0,0 +1,406 @@
{
"$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
"apiVersion": 1,
"name": "TcHmiTabNavigation",
"namespace": "TcHmi.Controls.Beckhoff",
"displayName": "Tab Navigation",
"version": {
"full": "14.4.1.0",
"major": 14,
"minor": 4,
"build": 1,
"revision": 0
},
"visible": true,
"themeable": "Standard",
"base": "TcHmi.Controls.System.TcHmiControl",
"description": "A tab navigation control.",
"defaultDesignerEvent": "",
"properties": {
"containerControl": false,
"geometry": {
"width": 500,
"height": 500
}
},
"icons": [
{
"name": "Icons/16x16.png",
"width": 16,
"height": 16
}
],
"template": "Template.html",
"dependencyFiles": [
{
"name": "Style.css",
"type": "Stylesheet",
"description": ""
},
{
"name": "../dist/TcHmiTabNavigation/TcHmiTabNavigation.esm.js",
"type": "EsModule",
"description": "Contains all the main logic as ES module."
}
],
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": "Theme dependent style"
}
]
},
"Base-Dark": {
"resources": [
{
"name": "Themes/Base-Dark/Style.css",
"type": "Stylesheet",
"description": "Theme dependent style"
}
]
}
},
"attributes": [
{
"name": "data-tchmi-tabs",
"propertyName": "Tabs",
"propertySetterName": "setTabs",
"propertyGetterName": "getTabs",
"displayName": "Tabs",
"visible": true,
"themeable": "Advanced",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabList",
"category": "Common",
"description": "A list of tabs to be displayed in the control.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": [
{
"name": "tab1",
"displayName": "Tab 1"
},
{
"name": "tab2",
"displayName": "Tab 2"
},
{
"name": "tab3",
"displayName": "Tab 3"
}
],
"defaultValueInternal": null
},
{
"name": "data-tchmi-tab-alignment",
"propertyName": "TabAlignment",
"propertySetterName": "setTabAlignment",
"propertyGetterName": "getTabAlignment",
"displayName": "Tab Alignment",
"visible": true,
"themeable": "Standard",
"displayPriority": 11,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabAlignment",
"category": "Common",
"description": "The alignment of the tab bar.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Top"
},
{
"name": "data-tchmi-active-tab-name",
"propertyName": "ActiveTabName",
"propertySetterName": "setActiveTabName",
"propertyGetterName": "getActiveTabName",
"displayName": "Active Tab Name",
"themeable": "Advanced",
"visible": true,
"displayPriority": 12,
"type": "tchmi:general#/definitions/String",
"category": "Common",
"description": "The name of the active tab.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-initial-tab-name",
"propertyName": "InitialTabName",
"propertySetterName": "setInitialTabName",
"propertyGetterName": "getInitialTabName",
"displayName": "Initial Tab Name",
"themeable": "Standard",
"visible": true,
"displayPriority": 51,
"type": "tchmi:general#/definitions/String",
"category": "Common",
"description": "The name of the active tab after attach (for keepalive scenarios).",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-horizontal-alignment",
"propertyName": "TextHorizontalAlignment",
"propertySetterName": "setTextHorizontalAlignment",
"propertyGetterName": "getTextHorizontalAlignment",
"displayName": "Text Horizontal Alignment",
"visible": true,
"themeable": "Advanced",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/HorizontalAlignment",
"category": "Text",
"description": "Defines the horizontal alignment of the text.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": "Center",
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-vertical-alignment",
"propertyName": "TextVerticalAlignment",
"propertySetterName": "setTextVerticalAlignment",
"propertyGetterName": "getTextVerticalAlignment",
"displayName": "Text Vertical Alignment",
"visible": true,
"themeable": "Advanced",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/VerticalAlignment",
"category": "Text",
"description": "Defines the vertical alignment of the text.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": "Center",
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-padding",
"propertyName": "TextPadding",
"propertySetterName": "setTextPadding",
"propertyGetterName": "getTextPadding",
"displayName": "Text Padding",
"visible": true,
"themeable": "Advanced",
"displayPriority": 55,
"type": "tchmi:framework#/definitions/Padding",
"category": "Text",
"description": "The distance of the text to the border.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-font-family",
"propertyName": "TextFontFamily",
"propertySetterName": "setTextFontFamily",
"propertyGetterName": "getTextFontFamily",
"displayName": "Text Font Family",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontFamily",
"category": "Text",
"description": "Comma separated list of family name or keyword: 'serif', 'sans-serif', 'monospace'.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-font-size",
"propertyName": "TextFontSize",
"propertySetterName": "setTextFontSize",
"propertyGetterName": "getTextFontSize",
"displayName": "Text Font Size",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/MeasurementValue",
"category": "Text",
"description": "The size of the font. Percent values are relative to the parent elements font size.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-font-size-unit",
"propertyName": "TextFontSizeUnit",
"propertySetterName": "setTextFontSizeUnit",
"propertyGetterName": "getTextFontSizeUnit",
"refTo": "TextFontSize",
"displayName": "Text Font Size Unit",
"visible": true,
"themeable": "Advanced",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/MeasurementUnit",
"category": "Text",
"description": "Could be 'px' or for relative sizing '%'.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "px"
},
{
"name": "data-tchmi-text-font-style",
"propertyName": "TextFontStyle",
"propertySetterName": "setTextFontStyle",
"propertyGetterName": "getTextFontStyle",
"displayName": "Text Font Style",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontStyle",
"category": "Text",
"description": "'Normal', 'Italic' (slanted with special glyphs), 'Oblique' (slanted normal glyphs) or 'Auto' for inherited.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Auto"
},
{
"name": "data-tchmi-text-font-weight",
"propertyName": "TextFontWeight",
"propertySetterName": "setTextFontWeight",
"propertyGetterName": "getTextFontWeight",
"displayName": "Text Font Weight",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontWeight",
"category": "Text",
"description": "'Normal', 'Bold' (glyphs with more weight) or 'Auto' for inherited.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Auto"
},
{
"name": "data-tchmi-tab-text-color",
"propertyName": "TabTextColor",
"propertySetterName": "setTabTextColor",
"propertyGetterName": "getTabTextColor",
"displayName": "Tab Text Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"description": "Defines the text color of inactive tabs.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-active-tab-text-color",
"propertyName": "ActiveTabTextColor",
"propertySetterName": "setActiveTabTextColor",
"propertyGetterName": "getActiveTabTextColor",
"displayName": "Active Tab Text Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"description": "Defines the text color of the active tab.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-active-tab-color",
"propertyName": "ActiveTabColor",
"propertySetterName": "setActiveTabColor",
"propertyGetterName": "getActiveTabColor",
"displayName": "Active Tab Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"description": "Defines the background color of active tab.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-tab-overflow-mode",
"propertyName": "TabOverflowMode",
"propertySetterName": "setTabOverflowMode",
"propertyGetterName": "getTabOverflowMode",
"displayName": "Tab Overflow Mode",
"visible": true,
"themeable": "Advanced",
"displayPriority": 50,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.ContentTabs.OverflowMode",
"category": "Common",
"description": "Defines how tabs are handled when they overflow the available space.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Popup"
}
],
"attributeCategories": [
{
"name": "Text",
"displayPriority": 500,
"defaultCollapsed": true,
"description": "Attributes defining the text of the control."
}
],
"functions": [],
"events": [],
"dataTypes": [
{
"schema": "Schema/Types.Schema.json"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

View File

@@ -0,0 +1,228 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"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.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.System.TcHmiPopup.TargetFile"
},
"targetFileHostPreload": {
"type": "boolean"
},
"targetFileHostPreAttach": {
"type": "boolean"
},
"targetFileHostKeepAlive": {
"type": "boolean"
},
"scrolling": {
"$ref": "tchmi:framework#/definitions/ScrollMode"
},
"hidden": {
"type": "boolean"
},
"accessRights": {
"$ref": "tchmi:framework#/definitions/AccessConfig"
},
"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": "The preferred width of the icon.",
"defaultValue": null,
"defaultValueInternal": 32
},
{
"name": "iconWidthUnit",
"displayName": "Icon Width Unit",
"category": "General",
"displayPriority": 11,
"description": "The unit of preferred width of the icon.",
"defaultValue": null,
"defaultValueInternal": "px",
"refTo": "iconWidth"
},
{
"name": "iconHeight",
"displayName": "Icon Height",
"category": "General",
"displayPriority": 12,
"description": "The preferred height of the icon.",
"defaultValue": null,
"defaultValueInternal": 32
},
{
"name": "iconHeightUnit",
"displayName": "Icon Height Unit",
"category": "General",
"displayPriority": 12,
"description": "The unit of preferred height of the icon.",
"defaultValue": null,
"defaultValueInternal": "px",
"refTo": "iconHeight"
}
],
"required": ["iconPath"],
"additionalProperties": false
}
},
"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": "The content or usercontrol to show.",
"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": "scrolling",
"displayName": "Scrolling",
"category": "General",
"displayPriority": 16,
"description": "Defines whether a content is scrollable. Possible values are No, Yes, Auto. Does not affect user controls.",
"defaultValue": null,
"defaultValueInternal": "Auto"
},
{
"name": "hidden",
"displayName": "Hidden",
"category": "General",
"displayPriority": 17,
"description": "Defines whether the tab is hidden or not.",
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "icon",
"displayName": "Icon",
"category": "General",
"displayPriority": 30,
"description": "The Icon displayed in the tab bar.",
"defaultValue": null,
"defaultValueInternal": null
}
],
"additionalProperties": false,
"patternProperties": {
"horizontalAlignment": {
"$ref": "tchmi:framework#/definitions/HorizontalAlignment",
"description": "Allow, but kind of hide deprecated property for engineering"
},
"verticalAlignment": {
"$ref": "tchmi:framework#/definitions/VerticalAlignment",
"description": "Allow, but kind of hide deprecated property for engineering"
}
},
"required": ["name"]
}
}
}

View File

@@ -0,0 +1,34 @@
/** Styles for all themes */
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation {
overflow: hidden;
}
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation-template {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation tchmi-content-tabs {
width: 100%;
height: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation tchmi-content-tabs tchmi-tab-contents {
height: calc(100% - 50px);
}
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation > div > tchmi-content-tabs[tab-alignment='Left'] > tchmi-tab-contents,
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation > div > tchmi-content-tabs[tab-alignment='Right'] > tchmi-tab-contents {
width: calc(100% - 200px);
height: 100%;
}
.tchmi-tab-navigation-tab-link {
display: flex;
}
.tchmi-tab-navigation-tab-link .tab-icon {
margin-right: 8px;
}

View File

@@ -0,0 +1,396 @@
// 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 TcHmiTabNavigation 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 HTMLElement. */
protected __elementTemplateRoot: HTMLElement;
/** Reference to the content tabs dom element of the control */
protected __elementContentTabs: ContentTabs;
/** The List of tabs to be displayed in the control */
protected __tabs: Tab[] | null | undefined;
protected __oldTabs: Tab[] | null | undefined;
/** Cache the file host attributes to be able to pass symbols to the file host */
protected __fileHostAttributesCache: Map<string, string | TcHmi.Dictionary<any> | undefined>;
/** The name of the active tab */
protected __activeTabName: string | null | undefined;
/** The name of the initially active tab */
protected __initialTabName: string | null | undefined;
/** The alignment of the tab bar */
protected __tabAlignment: ContentTabs.TabAlignment | null | undefined;
/** The horizontal alignment of the text */
protected __textHorizontalAlignment: TcHmi.HorizontalAlignment | null | undefined;
/** The vertical alignment of the text */
protected __textVerticalAlignment: TcHmi.VerticalAlignment | null | undefined;
/** The font size of the text */
protected __textFontSize: number | undefined;
/** The font size unit of text */
protected __textFontSizeUnit: TcHmi.FontSizeUnit | undefined;
/** The font family of the text */
protected __textFontFamily: TcHmi.FontFamily | null | undefined;
/** The font style of the text */
protected __textFontStyle: TcHmi.FontStyle | undefined;
/** The font weight of the text */
protected __textFontWeight: TcHmi.FontWeight | undefined;
/** The padding of the text */
protected __textPadding: TcHmi.FourSidedCss | null | undefined;
/** The text color of the tabs */
protected __tabTextColor: TcHmi.SolidColor | null | undefined;
/** The text color of the tabs */
protected __activeTabTextColor: TcHmi.SolidColor | null | undefined;
/** The text color of the tabs */
protected __activeTabColor: TcHmi.SolidColor | null | undefined;
/** The overflow mode of the tabs */
protected __tabOverflowMode: ContentTabs.TabOverflowMode | null | 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;
/**
* Callback function which is fired on tab change
**/
protected __tabChangeCallback(newTabName: string): void;
/** Callback function for a user change */
protected __onUserDataChanged(): void;
/**
* Builds the file host instance based on TargetFile and TargetFileHostAttributes for a single tab
* and appends it to the tabs contentElement.
*/
protected __buildFileHost(tab: Tab): void;
/** Append the target file host of a specific tab to its contentElement */
protected __attachTargetFileHost(tab: Tab): void;
/** Detach target file host */
protected __detachTargetFileHost(tab: Tab): void;
/**
* Build the link element for a single tab.
* @param tab
*/
protected __buildLink(tab: Tab): void;
/**
* Build the icon element for a tab if the icon data is given.
*/
protected __buildIcon(tab: Tab): void;
/**
* Remove tabs from the control and destroy the file host.
* @param tabs
*/
protected __removeTabs(tabs: Tab[] | null | undefined, destroy?: boolean): void;
/**
* Get AccessConfig with injected access rights of the navigation elements
*/
getAccessConfig(): TcHmi.AccessControl[];
/**
* get access rights of the tab items
* @param items items structure
* @param accesList List of accesData
*/
protected __getSubRights(items: Tab[], accessList: TcHmi.AccessControl[]): TcHmi.AccessControl[];
/**
* Our navigation-only rights should be default true
* @param name Name of the navigation-only right (?) to check
*/
getDescriptionAccessByName(name: string): TcHmi.Controls.ControlAccessDescription | null;
/**
* Sets the content value and calls the associated process function (processTabs).
* @param valueNew The new value for the tabs attribute.
*/
setTabs(valueNew: Tab[] | null): void;
/**
* The watch callback for the tabs object resolver.
*/
protected __onResolverForTabsWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<Tab[]>): void;
/**
* Returns the current value of the tabs attribute.
*/
getTabs(): Tab[] | null | undefined;
/**
* Processes the tabs.
*/
protected __processTabs(): void;
/**
* Sets the TabAlignment attribute.
* @param valueNew The new value for TabAlignment.
*/
setTabAlignment(valueNew: ContentTabs.TabAlignment | null): void;
/**
* Returns the current value of TabAlignment.
*/
getTabAlignment(): ContentTabs.TabAlignment | null | undefined;
/**
* Processes the current value of attribute TabAlignment.
*/
protected __processTabAlignment(): void;
/**
* Sets the activeTabName value and calls the associated process function (processActiveTabName).
* @param valueNew The new value for activeTabName.
*/
setActiveTabName(valueNew: string | null): void;
/**
* Returns the current value of ActiveTabName.
*/
getActiveTabName(): string | null | undefined;
protected __processActiveTabName(): void;
/**
* Sets the initialTabName value and calls the associated process function (processInitialTabName).
* @param valueNew The new value for initialTabName.
*/
setInitialTabName(valueNew: string | null): void;
/**
* Returns the current value of initialTabName.
*/
getInitialTabName(): string | null | undefined;
/**
* Processes the current border-radius attribute.
*/
protected __processBorderRadius(): void;
/**
* Sets the textHorizontalAlignment value and calls the associated process function (processTextHorizontalAlignment).
* @param valueNew The new value for textHorizontalAlignment.
*/
setTextHorizontalAlignment(valueNew: TcHmi.HorizontalAlignment | null): void;
/**
* Returns the current value of horizontalTextAligment.
*/
getTextHorizontalAlignment(): TcHmi.HorizontalAlignment | null | undefined;
/**
* Processes the current textHorizontalAlignment attribute value.
*/
protected __processTextHorizontalAlignment(): void;
/**
* Sets the textVerticalAlignment value and calls the associated process function (processTextVerticalAlignment).
* @param valueNew The new value for textVerticalAlignment.
*/
setTextVerticalAlignment(valueNew: TcHmi.VerticalAlignment | null): void;
/**
* Returns the current value of textVerticalAlignment.
*/
getTextVerticalAlignment(): TcHmi.VerticalAlignment | null | undefined;
/**
* Processes the current textVerticalAlignment attribute value.
*/
protected __processTextVerticalAlignment(): void;
/**
* Sets the font size and calls the associated process function (processTextFontSize).
* @param valueNew The new value for textFontSize.
*/
setTextFontSize(valueNew: number | null): void;
/**
* Returns the current value of textFontSize.
*/
getTextFontSize(): number | undefined;
/**
* Processes the current textFontSize attribute value.
*/
protected __processTextFontSize(): void;
/**
* Sets the font size and calls the associated process function (processTextFontSizeUnit).
* @param valueNew The new value for textFontSizeUnit.
*/
setTextFontSizeUnit(valueNew: TcHmi.FontSizeUnit | null): void;
/**
* Returns the current value of textFontSizeUnit.
*/
getTextFontSizeUnit(): TcHmi.FontSizeUnit | undefined;
/**
* Processes the current textFontSizeUnit attribute value.
*/
protected __processTextFontSizeUnit(): void;
/**
* Sets the font family and calls the associated process function (processTextFontFamily).
* @param valueNew The new value for textFontFamily.
*/
setTextFontFamily(valueNew: TcHmi.FontFamily | null): void;
/**
* Returns the current value of textFontFamily.
*/
getTextFontFamily(): string | null | undefined;
/**
* Processes the current textFontFamily attribute value.
*/
protected __processTextFontFamily(): void;
/**
* Sets the font style and calls the associated process function (processTextFontStyle).
* @param valueNew The new value for textFontStyle.
*/
setTextFontStyle(valueNew: TcHmi.FontStyle | null): void;
/**
* Returns the current value of textFontStyle.
*/
getTextFontStyle(): TcHmi.FontStyle | undefined;
/**
* Processes the current textFontStyle attribute value.
*/
protected __processTextFontStyle(): void;
/**
* Sets the font weight and calls the associated process function (processTextFontWeight).
* @param valueNew The new value for textFontWeight.
*/
setTextFontWeight(valueNew: TcHmi.FontWeight | null): void;
/**
* Returns the current value of textFontWeight.
*/
getTextFontWeight(): TcHmi.FontWeight | undefined;
/**
* Processes the current textFontWeight attribute value.
*/
protected __processTextFontWeight(): void;
/**
* Sets the value of the member variable "textPadding" if the new value is not equal to the current value
* and calls the associated process function (processTextPadding) after that.
* @param valueNew The new value for textPadding.
*/
setTextPadding(valueNew: TcHmi.FourSidedCss | null): void;
/**
* The watch callback for the textPadding object resolver.
*/
protected __onResolverForTextPaddingWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.FourSidedCss>): void;
/**
* Returns the current value of the member variable textPadding.
*/
getTextPadding(): TcHmi.FourSidedCss | null | undefined;
/**
* Processes the current value of textPadding and forwards it to the target span element in template html.
* The current value of textPadding is only forwarded if it is no binding expression.
*/
protected __processTextPadding(): void;
/**
* Processes the current background-color attribute.
*/
protected __processBackgroundColor(): void;
/**
* Sets the text color and calls the associated process function (processTabTextColor).
* @param valueNew The new value for tabTextColor.
*/
setTabTextColor(valueNew: TcHmi.SolidColor | null): void;
/**
* The watch callback for the tabTextColor object resolver.
* @param data Object containing the new value for tabTextColor
*/
protected __onResolverForTabTextColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
/**
* Returns the current value of tabTextColor.
* @returns The current value of tabTextColor.
*/
getTabTextColor(): TcHmi.SolidColor | null | undefined;
/**
* Processes the current tabTextColor attribute value.
*/
protected __processTabTextColor(): void;
/**
* Sets the text color and calls the associated process function (processActiveTabTextColor).
* @param valueNew The new value for activeTabTextColor.
*/
setActiveTabTextColor(valueNew: TcHmi.SolidColor | null): void;
/**
* The watch callback for the activeTabTextColor object resolver.
* @param data Object containing the new value for activeTabTextColor
*/
protected __onResolverForActiveTabTextColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
/**
* Returns the current value of activeTabTextColor.
* @returns The current value of activeTabTextColor.
*/
getActiveTabTextColor(): TcHmi.SolidColor | null | undefined;
/**
* Processes the current activeTabTextColor attribute value.
*/
protected __processActiveTabTextColor(): void;
/**
* Sets the color and calls the associated process function (processActiveTabColor).
* @param valueNew The new value for activeTabColor.
*/
setActiveTabColor(valueNew: TcHmi.SolidColor | null): void;
/**
* The watch callback for the activeTabColor object resolver.
* @param data Object containing the new value for activeTabColor
*/
protected __onResolverForActiveTabColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
/**
* Returns the current value of activeTabColor.
* @returns The current value of activeTabColor.
*/
getActiveTabColor(): TcHmi.SolidColor | null | undefined;
/**
* Processes the current activeTabColor attribute value.
*/
protected __processActiveTabColor(): void;
/**
* Sets the tabOverflowMode value and calls the associated process function (processTabOverflowMode).
* @param valueNew The new value for tabOverflowMode.
*/
setTabOverflowMode(valueNew: ContentTabs.TabOverflowMode | null): void;
/**
* Returns the current value of TabOverflowMode.
*/
getTabOverflowMode(): ContentTabs.TabOverflowMode | null | undefined;
/**
* Processes the current value of attribute TabOverflowMode.
*/
protected __processTabOverflowMode(): void;
}
export interface Tab {
name: string;
displayName: string;
targetFile: TargetFile;
targetFileHostPreload: boolean;
targetFileHostPreAttach: boolean;
targetFileHostKeepAlive: boolean;
accessRights?: TcHmi.AccessControl[];
scrolling?: 'No' | 'Yes' | 'Auto';
hidden?: boolean;
fileHost?: TcHmi.Controls.System.TcHmiRegion | TcHmi.Controls.System.TcHmiUserControlHost;
linkElement?: HTMLElement;
contentElement?: HTMLElement;
icon?: TabIcon;
iconElement?: HTMLElement;
}
export type TargetFile = TcHmi.Controls.System.TcHmiPopup.TargetFile;
export interface TabIcon {
iconPath: string;
iconWidth?: number;
iconWidthUnit?: 'px' | '%';
iconHeight?: number;
iconHeightUnit?: 'px' | '%';
}
export { TcHmiTabNavigation as Control };
declare const _TcHmiTabNavigation: typeof TcHmiTabNavigation;
type tTcHmiTabNavigation = TcHmiTabNavigation;
type tTab = Tab;
type tTargetFile = TargetFile;
type tTabIcon = TabIcon;
declare global {
namespace TcHmi.Controls.Beckhoff {
const TcHmiTabNavigation: typeof _TcHmiTabNavigation;
type TcHmiTabNavigation = tTcHmiTabNavigation;
namespace TcHmiTabNavigation {
type Tab = tTab;
type TargetFile = tTargetFile;
type TabIcon = tTabIcon;
}
}
}

View File

@@ -0,0 +1,6 @@
<div class="TcHmi_Controls_Beckhoff_TcHmiTabNavigation-template tchmi-box">
<tchmi-content-tabs class="TcHmi_Controls_Beckhoff_TcHmiTabNavigation-content-tabs">
<tchmi-tab-links> </tchmi-tab-links>
<tchmi-tab-contents> </tchmi-tab-contents>
</tchmi-content-tabs>
</div>

View File

@@ -0,0 +1,4 @@
/** Styles for the theme: Base-Dark */
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation {
box-shadow: var(--tchmi-card-shadow);
}

View File

@@ -0,0 +1,4 @@
/** Styles for the theme: Base */
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation {
box-shadow: var(--tchmi-card-shadow);
}