mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-28 21:54:40 +03:00
b91c49364d
This makes it more symmetrical with adopt_own() (which is used to create a NonnullOwnPtr from the result of a naked new.)
44 lines
876 B
C++
44 lines
876 B
C++
/*
|
|
* Copyright (c) 2020, the SerenityOS developers.
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/JsonObject.h>
|
|
#include <LibGUI/Dialog.h>
|
|
#include <LibGUI/Widget.h>
|
|
#include <LibGUI/Window.h>
|
|
#include <LibWeb/OutOfProcessWebView.h>
|
|
|
|
namespace Spreadsheet {
|
|
|
|
class HelpWindow : public GUI::Window {
|
|
C_OBJECT(HelpWindow);
|
|
|
|
public:
|
|
static NonnullRefPtr<HelpWindow> 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<HelpWindow> s_the;
|
|
String render(const StringView& key);
|
|
HelpWindow(GUI::Window* parent = nullptr);
|
|
|
|
JsonObject m_docs;
|
|
RefPtr<Web::OutOfProcessWebView> m_webview;
|
|
RefPtr<GUI::ListView> m_listview;
|
|
};
|
|
|
|
}
|