Initial Commit

This commit is contained in:
2026-01-15 21:52:12 +01:00
committed by erik
parent 3ed42cdeb6
commit 5a70f775f1
6702 changed files with 1389544 additions and 0 deletions

73
preload.cjs Normal file
View File

@@ -0,0 +1,73 @@
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('api', {
// Konfiguration
getConfig: () => ipcRenderer.invoke('get-config'),
getPages: () => ipcRenderer.invoke('get-pages'),
getCurrentPage: () => ipcRenderer.invoke('get-current-page'),
getDeviceStatus: () => ipcRenderer.invoke('get-device-status'),
// Button-Konfig
setButtonConfig: (pageIndex, buttonIndex, config) =>
ipcRenderer.invoke('set-button-config', { pageIndex, buttonIndex, config }),
resetButtonConfig: (pageIndex, buttonIndex) =>
ipcRenderer.invoke('reset-button-config', { pageIndex, buttonIndex }),
swapButtonConfigs: (pageIndex, sourceIndex, targetIndex) =>
ipcRenderer.invoke('swap-button-configs', { pageIndex, sourceIndex, targetIndex }),
// Knob-Konfiguration
setKnobConfig: (knobIndex, config) =>
ipcRenderer.invoke('set-knob-config', { knobIndex, config }),
resetKnobConfig: (knobIndex) =>
ipcRenderer.invoke('reset-knob-config', { knobIndex }),
// Circle-Button-Konfig
setCircleButtonConfig: (index, config) =>
ipcRenderer.invoke('set-circle-button-config', { index, config }),
// Seitenverwaltung
addPage: () => ipcRenderer.invoke('add-page'),
deletePage: (pageIndex) => ipcRenderer.invoke('delete-page', pageIndex),
renamePage: (pageIndex, name) => ipcRenderer.invoke('rename-page', { pageIndex, name }),
switchPage: (pageIndex) => ipcRenderer.invoke('switch-page', pageIndex),
setPageFocusConfig: (pageIndex, config) =>
ipcRenderer.invoke('set-page-focus-config', { pageIndex, config }),
// Rendering
renderPage: () => ipcRenderer.invoke('render-page'),
// Datei-Operationen
selectImage: () => ipcRenderer.invoke('select-image'),
readImageData: (filePath) => ipcRenderer.invoke('read-image-data', filePath),
exportConfig: () => ipcRenderer.invoke('export-config'),
importConfig: () => ipcRenderer.invoke('import-config'),
// Geraet
reconnectDevice: () => ipcRenderer.invoke('reconnect-device'),
setSetting: (key, value) => ipcRenderer.invoke('set-setting', { key, value }),
// Fenstersteuerung
minimizeWindow: () => ipcRenderer.invoke('window-minimize'),
maximizeWindow: () => ipcRenderer.invoke('window-maximize'),
closeWindow: () => ipcRenderer.invoke('window-close'),
// Event-Listener
onDeviceStatus: (callback) => {
ipcRenderer.on('device-status', (event, data) => callback(data));
},
onButtonPress: (callback) => {
ipcRenderer.on('button-press', (event, data) => callback(data));
},
onKnobRotate: (callback) => {
ipcRenderer.on('knob-rotate', (event, data) => callback(data));
},
onPageChanged: (callback) => {
ipcRenderer.on('page-changed', (event, data) => callback(data));
},
onMetricUpdate: (callback) => {
ipcRenderer.on('metric-update', (event, data) => callback(data));
},
onButtonToggle: (callback) => {
ipcRenderer.on('button-toggle', (event, data) => callback(data));
}
});