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,153 @@
{
"$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
"apiVersion": 1,
"name": "TcHmiSpinboxInput",
"namespace": "TcHmi.Controls.Beckhoff",
"displayName": "Spinbox Input",
"version": {
"full": "14.4.1.0",
"major": 14,
"minor": 4,
"build": 1,
"revision": 0
},
"visible": true,
"themeable": "Standard",
"base": "TcHmi.Controls.Beckhoff.TcHmiNumericInput",
"description": "A numeric input control with buttons to increase/decrease the current value.",
"defaultDesignerEvent": ".onValueChanged",
"properties": {
"containerControl": false,
"geometry": {
"width": 150,
"height": 26
}
},
"icons": [
{
"name": "Icons/16x16.png",
"width": 16,
"height": 16
}
],
"template": "Template.html",
"dependencyFiles": [
{
"name": "Style.css",
"type": "Stylesheet",
"description": ""
},
{
"name": "../dist/TcHmiSpinboxInput/TcHmiSpinboxInput.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-step",
"propertyName": "Step",
"propertySetterName": "setStep",
"propertyGetterName": "getStep",
"displayName": "Step",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiNumericInput.Value",
"category": "Common",
"description": "Defines in which step increasing/decreasing the value is possible. \nIf you define a decimal number here it is recommended to set the controls attribute 'decimal digits' too to have an effect.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 1
},
{
"name": "data-tchmi-auto-step",
"propertyName": "AutoStep",
"propertySetterName": "setAutoStep",
"propertyGetterName": "getAutoStep",
"displayName": "Auto Step",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:general#/definitions/Boolean",
"category": "Common",
"description": "Defines if holding a spinbox button down triggers the buttons effect repeatedly or not.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "data-tchmi-button-Position",
"propertyName": "ButtonPosition",
"propertySetterName": "setButtonPosition",
"propertyGetterName": "getButtonPosition",
"displayName": "Button Position",
"visible": true,
"themeable": "Standard",
"displayPriority": 40,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiSpinboxInput.ButtonPosition",
"category": "Common",
"description": "Defines the position of the plus and minus button",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "MinusLeftAndPlusRight"
},
{
"name": "data-tchmi-input-background-color",
"propertyName": "InputBackgroundColor",
"propertySetterName": "setInputBackgroundColor",
"propertyGetterName": "getInputBackgroundColor",
"displayName": "Input Background Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/Color",
"category": "Colors",
"description": "Definition of the background color of the input element.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
}
],
"attributeCategories": [],
"functions": [],
"events": [],
"dataTypes": [
{
"schema": "Schema/Types.Schema.json"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

View File

@@ -0,0 +1,28 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"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"
}
}
}

View File

@@ -0,0 +1,157 @@
/** Styles for all themes */
/* Style for the main element */
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput {
/* Prevent overflow if the border radius is huge */
overflow: visible;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template {
position: relative;
display: flex;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input {
border-radius: unset;
height: auto;
flex-grow: 1;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after {
position: relative;
display: flex;
flex-direction: column;
flex-basis: 0px;
flex-grow: 0;
flex-shrink: 0;
height: 100%;
border-radius: inherit;
touch-action: none;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before .button,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after .button {
position: relative;
display: flex;
width: 100%;
height: 100%;
flex-grow: 1;
flex-shrink: 1;
align-items: center;
justify-content: center;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.both-left
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input {
border-top-right-radius: inherit;
border-bottom-right-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.both-right
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input {
border-top-left-radius: inherit;
border-bottom-left-radius: inherit;
}
/* styles for button plus */
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.both-left .button-plus {
height: 50%;
border-top-left-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.plus-left-minus-right
.button-plus {
border-top-left-radius: inherit;
border-bottom-left-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.both-right .button-plus {
height: 50%;
border-top-right-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.minus-left-plus-right
.button-plus {
border-top-right-radius: inherit;
border-bottom-right-radius: inherit;
}
/* styles for button minus */
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.both-left .button-minus {
height: 50%;
border-bottom-left-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.plus-left-minus-right
.button-minus {
border-top-right-radius: inherit;
border-bottom-right-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.both-right
.button-minus {
height: 50%;
border-bottom-right-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.minus-left-plus-right
.button-minus {
border-top-left-radius: inherit;
border-bottom-left-radius: inherit;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input-invalid-notification {
padding: 2px;
display: flex;
align-items: center;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.plus-top-minus-bottom,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template.minus-top-plus-bottom {
flex-direction: column;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template:not(.both-left):not(.plus-top-minus-bottom):not(
.minus-top-plus-bottom
)
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input-invalid-notification {
right: 26px; /* same size as button-plus (flex-basis: 26px;) */
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template:not(.both-left):not(.plus-top-minus-bottom):not(
.minus-top-plus-bottom
)
.TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input-invalid-notification.invalid-notification-alignment-left {
left: 26px; /* same size as button-plus (flex-basis: 26px;) */
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before::after,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/*background-color: rgba(255, 255, 255, 0.5); color is defined in theme css*/
z-index: 100;
}

View File

@@ -0,0 +1,164 @@
// 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 TcHmiSpinboxInput extends TcHmi.Controls.Beckhoff.TcHmiNumericInput {
#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 __elementButtonContainerStart: HTMLElement;
/** Reference to the element containing the text input element as jquery object. */
protected __elementButtonContainerEnd: HTMLElement;
protected __inputBackgroundColor: TcHmi.Color | null | undefined;
protected __buttonPlus: HTMLElement | undefined;
protected __buttonMinus: HTMLElement | undefined;
protected __autoStep: boolean | undefined;
protected __autoStepTimeStamp: number;
/** Saved if a time button is pressed */
protected __isPressed: boolean;
/** The interval timer for time buttons */
protected __intervalTimer: number;
/** Internal reference to the attribute 'data-tchmi-step' */
protected __step: number | bigint | null | undefined;
protected __stepInit: number | bigint | null | undefined;
/** Internal reference to the attribute 'data-tchmi-button-position' */
protected __buttonPosition: ButtonPosition | undefined;
/** formatter to fix floating point notation errors */
protected readonly __floatingPointFormatter: Intl.NumberFormat;
/**
* 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 of the resize observer
*/
protected __onResize(): void;
protected __createAndAppendButtons(): void;
/**
* Execute a single step.
*/
protected __executeStep(direction: 'increment' | 'decrement'): void;
/**
* Eventhandler for the plus button
**/
protected __onButtonPlus(event: MouseEvent): void;
/**
* Eventhandler for the minus button
**/
protected __onButtonMinus(event: MouseEvent): void;
/**
* Eventhandler for the plus button PointerDown
**/
protected __onPointerDownButtonPlus(event: MouseEvent): void;
/**
* Eventhandler for the minus button PointerDown
**/
protected __onPointerDownButtonMinus(event: MouseEvent): void;
/**
* Is called if onPressed event of buttons has raised.
*/
private __onMouseUp;
/**
* Returns an event handler for contextmenu event.
*/
protected __onContextMenu(event: Event): void;
/**
* Processes the current value of valueType by calling all setter functions related to valueType.
*/
protected __processValueType(): void;
/**
* Sets the step attribute.
* @param valueNew The new value for step.
*/
setStep(valueNew: number | bigint | null): void;
/**
* Returns the current value of step.
* @returns The current value of step.
*/
getStep<T extends number | bigint = number>(): T | null | undefined;
/**
* Processes the current value of attribute step.
*/
protected __processStep(): void;
/**
* Sets the buttonPosition attribute.
* @param valueNew The new value for buttonPosition.
*/
setButtonPosition(valueNew: ButtonPosition | null): void;
/**
* Returns the current value of buttonPosition.
*/
getButtonPosition(): ButtonPosition | undefined;
/**
* Processes the current value of attribute buttonPosition.
*/
protected __processButtonPosition(): void;
protected __processUnitPosition(): void;
/**
* Sets the input background color and calls the associated process function (processInputBackgroundColor).
* @param valueNew
*/
setInputBackgroundColor(valueNew: TcHmi.Color | null): void;
/**
* The watch callback for the InputBackgroundColor object resolver.
*/
protected __onResolverForInputBackgroundColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.Color>): void;
/**
* Returns the current input background color.
*/
getInputBackgroundColor(): TcHmi.Color | null | undefined;
/**
* Processes the current input background color attribute.
*/
protected __processInputBackgroundColor(): void;
/**
* Sets the auto focus out attribute and calls the associated process function (processAutoStep).
* @param valueNew The new value for autoStep.
*/
setAutoStep(valueNew: boolean | null): void;
/**
* Returns the current value of autoStep.
* @returns The current value of autoStep.
*/
getAutoStep(): boolean | undefined;
/**
* Processes the current autoStep attribute value.
*/
protected __processAutoStep(): void;
}
export type ButtonPosition = 'BothLeft' | 'BothRight' | 'PlusLeftAndMinusRight' | 'MinusLeftAndPlusRight' | 'PlusTopAndMinusBottom' | 'MinusTopAndPlusBottom';
export { TcHmiSpinboxInput as Control };
declare const _TcHmiSpinboxInput: typeof TcHmiSpinboxInput;
type tTcHmiSpinboxInput = TcHmiSpinboxInput;
type tButtonPosition = ButtonPosition;
declare global {
namespace TcHmi.Controls.Beckhoff {
const TcHmiSpinboxInput: typeof _TcHmiSpinboxInput;
type TcHmiSpinboxInput = tTcHmiSpinboxInput;
namespace TcHmiSpinboxInput {
type ButtonPosition = tButtonPosition;
}
}
}

View File

@@ -0,0 +1,13 @@
<div class="TcHmi_Controls_Beckhoff_TcHmiNumericInput-template tchmi-box">
<div class="TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before"></div>
<input
class="TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input tchmi-box"
inputmode="text"
spellcheck="false"
/>
<label class="TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input-invalid-notification tchmi-box hidden"
>!</label
>
<div class="TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input-unit tchmi-box"></div>
<div class="TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after"></div>
</div>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#4c6374;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="20" y1="12" x2="20" y2="28"/>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#4c6374;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="20" y1="12" x2="20" y2="28"/>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,86 @@
/** Styles for the theme: Base-Dark */
/* Style for the main element */
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.TcHmi_Controls_Beckhoff_TcHmiNumericInput {
--tchmi-background: var(--tchmi-background-color-4);
--tchmi-background-invalid: var(--tchmi-invalid-color);
--tchmi-color: var(--tchmi-foreground-color-1);
--tchmi-border-color: var(--tchmi-background-color-2);
background: transparent;
border: none;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template {
border: none;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input {
-webkit-appearance: none; /* Important to have visible box-shadow on input elements in iOS/Safari. */
appearance: none;
color: var(--tchmi-color);
background: var(--tchmi-background);
border: 1px solid var(--tchmi-border-color);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input:invalid {
background: var(--tchmi-background-invalid);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before:not(:empty),
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after:not(:empty) {
flex-basis: 26px;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before .button,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after .button {
font-size: var(--tchmi-button-font-size);
background: var(--tchmi-highlight-button-background);
color: var(--tchmi-highlight-button-text-color);
border: var(--tchmi-highlight-button-border);
box-shadow: var(--tchmi-highlight-button-shadow);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before .button.down,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after .button.down {
background: var(--tchmi-highlight-button-background-pressed);
color: var(--tchmi-highlight-button-text-color-pressed);
border: var(--tchmi-highlight-button-border-pressed);
box-shadow: var(--tchmi-highlight-button-shadow-pressed);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-plus::after {
content: '';
background-image: url('Images/icons_plus_normal.svg');
background-position: center;
background-repeat: no-repeat;
height: 100%;
width: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-minus::after {
content: '';
background-image: url('Images/icons_minus_normal.svg');
background-position: center;
background-repeat: no-repeat;
height: 100%;
width: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-plus.down::after {
background-image: url('Images/icons_plus_pressed.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-minus.down::after {
background-image: url('Images/icons_minus_pressed.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before::after,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after::after {
background-color: var(--tchmi-disabled-color);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input {
background: var(--tchmi-read-only-color);
}

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#4c6374;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="20" y1="12" x2="20" y2="28"/>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Inhalt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#4c6374;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#000000;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st6{fill:#FFFFFF;stroke:#000000;stroke-width:3.2;stroke-miterlimit:10;}
.st7{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.st8{fill:none;stroke:#000000;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.5299,7.5299;}
.st9{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st10{fill:none;stroke:#4794DA;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st11{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st12{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st13{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st14{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.741,3.741;}
.st15{fill:none;stroke:#4794DA;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st16{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st17{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st18{fill:#FF0000;stroke:#FFFFFF;stroke-miterlimit:10;}
.st19{fill:#0000FF;stroke:#FFFFFF;stroke-miterlimit:10;}
.st20{fill:#00FF00;stroke:#FFFFFF;stroke-miterlimit:10;}
</style>
<g>
<line class="st1" x1="20" y1="12" x2="20" y2="28"/>
<line class="st1" x1="28" y1="20" x2="12" y2="20"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,86 @@
/** Styles for the theme: Base */
/* Style for the main element */
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.TcHmi_Controls_Beckhoff_TcHmiNumericInput {
--tchmi-background: var(--tchmi-background-color-4);
--tchmi-background-invalid: var(--tchmi-invalid-color);
--tchmi-color: var(--tchmi-foreground-color-1);
--tchmi-border-color: var(--tchmi-background-color-2);
background: transparent;
border: none;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template {
border: none;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input {
-webkit-appearance: none; /* Important to have visible box-shadow on input elements in iOS/Safari. */
appearance: none;
color: var(--tchmi-color);
background: var(--tchmi-background);
border: 1px solid var(--tchmi-border-color);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input:invalid {
background: var(--tchmi-background-invalid);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before:not(:empty),
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after:not(:empty) {
flex-basis: 26px;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before .button,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after .button {
font-size: var(--tchmi-button-font-size);
background: var(--tchmi-highlight-button-background);
color: var(--tchmi-highlight-button-text-color);
border: var(--tchmi-highlight-button-border);
box-shadow: var(--tchmi-highlight-button-shadow);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before .button.down,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after .button.down {
background: var(--tchmi-highlight-button-background-pressed);
color: var(--tchmi-highlight-button-text-color-pressed);
border: var(--tchmi-highlight-button-border-pressed);
box-shadow: var(--tchmi-highlight-button-shadow-pressed);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-plus::after {
content: '';
background-image: url('Images/icons_plus_normal.svg');
background-position: center;
background-repeat: no-repeat;
height: 100%;
width: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-minus::after {
content: '';
background-image: url('Images/icons_minus_normal.svg');
background-position: center;
background-repeat: no-repeat;
height: 100%;
width: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-plus.down::after {
background-image: url('Images/icons_plus_pressed.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput .button-minus.down::after {
background-image: url('Images/icons_minus_pressed.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-before::after,
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput-template-button-after::after {
background-color: var(--tchmi-disabled-color);
}
.TcHmi_Controls_Beckhoff_TcHmiSpinboxInput.read-only .TcHmi_Controls_Beckhoff_TcHmiNumericInput-template-input {
background: var(--tchmi-read-only-color);
}