#pragma once #include #include "modules/hwnd_module.h" #include #include #include #include #include class optionWindow { public: // Konstruktor erhält das Application-Objekt als Parameter optionWindow(std::shared_ptr& app, std::function getLuaTimeoutSeconds, std::function setLuaTimeoutSeconds, std::function getActiveToolName, std::function getToolConfigIni, std::function setToolConfigIni, std::function openIndex); // Methode zum Anzeigen des Fensters void show(); // Für die Fensterinitialisierung void initialize(); void setHWND(HWND hwnd); void toggleDevTools(); private: std::shared_ptr m_app; saucer::smartview m_webview; std::unique_ptr m_hwnd_module; HWND m_hwnd; std::function m_getLuaTimeoutSeconds; std::function m_setLuaTimeoutSeconds; std::function m_getActiveToolName; std::function m_getToolConfigIni; std::function m_setToolConfigIni; std::function m_openIndex; void configureWindow(); void loadResources(); void runLuaScript(); void exposeToJs(); };