/* * Copyright (c) 2020, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace Spreadsheet { class HelpWindow : public GUI::Window { C_OBJECT(HelpWindow); public: static NonnullRefPtr the(GUI::Window* window) { if (s_the) return *s_the; return *(s_the = adopt_ref(*new HelpWindow(window))); } virtual ~HelpWindow() override; void set_docs(JsonObject&& docs); private: static RefPtr s_the; String render(StringView key); HelpWindow(GUI::Window* parent = nullptr); JsonObject m_docs; RefPtr m_webview; RefPtr m_listview; }; }