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,39 @@
tchmi-split-view {
display: flex;
width: 100%;
height: 100%;
position: relative;
}
tchmi-split-view > [data-resizable='horizontal'],
tchmi-split-view > [data-resizable='vertical'] {
overflow: auto;
box-sizing: border-box;
min-width: 50px; /* for horizontal division */
min-height: 50px; /* for vertical division */
flex-shrink: 0; /* prevents shrinking */
}
tchmi-split-view > [data-resizable='horizontal']::after,
tchmi-split-view > [data-resizable='vertical']::after {
content: '';
position: absolute;
background: transparent; /* only to listen to events */
z-index: 1;
}
tchmi-split-view > [data-resizable='horizontal']::after {
top: 0;
right: 0;
width: 8px; /* width of the resize bar */
height: 100%;
cursor: col-resize;
}
tchmi-split-view > [data-resizable='vertical']::after {
bottom: 0;
left: 0;
width: 100%;
height: 8px; /* height of the resize bar */
cursor: row-resize;
}

View File

@@ -0,0 +1,73 @@
// 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";
// ***************************************************************************
export declare class SplitView extends HTMLElement {
static resizeBarTolerance: number;
private __localStorage;
constructor(options?: {
initSizeOfFirstContainer?: number;
alignment?: SplitView.Alignment;
});
protected __alignment: SplitView.Alignment;
protected __resizeInProgress: boolean;
protected __startPointerPos: number;
protected __startSize: number;
protected __children: [HTMLElement, HTMLElement] | undefined;
protected __eventDestroyers: TcHmi.DestroyFunction[];
protected __pointerMoveEventDestroyer: TcHmi.DestroyFunction | null;
protected __pointerUpEventDestroyer: TcHmi.DestroyFunction | null;
protected __doubleClickEventDestroyer: TcHmi.DestroyFunction | null;
connectedCallback(): void;
setInitialFlexProperties(): void;
disconnectedCallback(): void;
/**
* Changes the cursor when the pointer is near the resize divider.
*/
private __onPointerMoveOverContainer;
/**
* Resets the cursor when the pointer leaves the container.
*/
private __onPointerLeaveContainer;
/**
* Starts the resizing process when the pointer is near the divider.
*/
private __onPointerDownContainer;
/**
* Adjusts the size of the panes based on the pointer movement.
*/
private __onPointerMove;
private __setViewSize;
/**
* Ends the resizing process.
*/
private __onPointerUp;
/**
* Resets the split view to initial properties.
*/
private __onDoubleClick;
/**
* Removes all event listeners.
*/
private __removeEvents;
/**
* Indicates whether a resizing process is in progress.
*/
isResizeInProgress(): boolean;
}
export declare namespace SplitView {
enum Alignment {
horizontal = 0,
vertical = 1
}
}
import _SplitView = SplitView;
declare global {
namespace TcHmi.Controls.Helpers {
let SplitView: typeof _SplitView;
type SplitView = _SplitView;
namespace SplitView {
type Alignment = _SplitView.Alignment;
}
}
}

View File

@@ -0,0 +1 @@
/* SplitView style for Theme: Base-Dark */

View File

@@ -0,0 +1 @@
/* SplitView style for Theme: Base*/