Serenity Operating System
at master 54 lines 1.4 kB view raw
1/* 2 * Copyright (c) 2022, the SerenityOS developers. 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include "History.h" 10#include "ManualModel.h" 11#include <LibGUI/FilteringProxyModel.h> 12#include <LibWebView/OutOfProcessWebView.h> 13 14namespace Help { 15 16class MainWidget final : public GUI::Widget { 17 C_OBJECT(MainWidget); 18 19public: 20 virtual ~MainWidget() override = default; 21 22 ErrorOr<void> initialize_fallibles(GUI::Window&); 23 ErrorOr<void> set_start_page(Vector<StringView, 2> query_parameters); 24 25private: 26 MainWidget(); 27 28 void open_url(URL const&); 29 void open_page(Optional<String> const& path); 30 void open_external(URL const&); 31 32 History m_history; 33 RefPtr<GUI::Menu> m_context_menu; 34 RefPtr<ManualModel> m_manual_model; 35 RefPtr<GUI::FilteringProxyModel> m_filter_model; 36 37 RefPtr<GUI::Action> m_go_back_action; 38 RefPtr<GUI::Action> m_go_forward_action; 39 RefPtr<GUI::Action> m_go_home_action; 40 RefPtr<GUI::Action> m_copy_action; 41 RefPtr<GUI::Action> m_select_all_action; 42 43 RefPtr<GUI::TabWidget> m_tab_widget; 44 RefPtr<GUI::Widget> m_search_container; 45 RefPtr<GUI::TextBox> m_search_box; 46 RefPtr<GUI::ListView> m_search_view; 47 RefPtr<GUI::TreeView> m_browse_view; 48 RefPtr<WebView::OutOfProcessWebView> m_web_view; 49 50 RefPtr<GUI::Toolbar> m_toolbar; 51 RefPtr<GUI::Statusbar> m_statusbar; 52}; 53 54}