#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 getToolDetails, std::function saveToolDetails, std::function openToolFolder, std::function createTool, std::function openLuaHelp, std::function openIndex); // Methode zum Anzeigen des Fensters void show(); void showCreateTool(); // 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_getToolDetails; std::function m_saveToolDetails; std::function m_openToolFolder; std::function m_createTool; std::function m_openLuaHelp; std::function m_openIndex; void configureWindow(); void loadResources(); void runLuaScript(); void exposeToJs(); };