diff options
Diffstat (limited to 'Userland/DevTools/GMLPlayground/MainWidget.h')
-rw-r--r-- | Userland/DevTools/GMLPlayground/MainWidget.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Userland/DevTools/GMLPlayground/MainWidget.h b/Userland/DevTools/GMLPlayground/MainWidget.h new file mode 100644 index 0000000000..8c3d687a63 --- /dev/null +++ b/Userland/DevTools/GMLPlayground/MainWidget.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2020-2021, Andreas Kling <kling@serenityos.org> + * Copyright (c) 2021, Julius Heijmen <julius.heijmen@gmail.com> + * Copyright (c) 2022, kleines Filmröllchen <filmroellchen@serenityos.org> + * Copyright (c) 2022-2023, Sam Atkins <atkinssj@serenityos.org> + * Copyright (c) 2023, Karol Kosek <krkk@serenityos.org> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include <LibFileSystemAccessClient/Client.h> +#include <LibGUI/ActionGroup.h> +#include <LibGUI/Icon.h> +#include <LibGUI/Widget.h> +#include <LibGUI/Window.h> + +class MainWidget final : public GUI::Widget { + C_OBJECT_ABSTRACT(MainWidget) + +public: + static ErrorOr<NonnullRefPtr<MainWidget>> try_create(GUI::Icon const&); + ErrorOr<void> initialize_menubar(GUI::Window&); + GUI::Window::CloseRequestDecision request_close(); + + void load_file(FileSystemAccessClient::File); + void update_title(); + + GUI::TextEditor& editor() const { return *m_editor; } + +private: + RefPtr<GUI::Action> m_save_action; + RefPtr<GUI::TextEditor> m_editor; + RefPtr<GUI::Toolbar> m_toolbar; + RefPtr<GUI::Splitter> m_splitter; + + RefPtr<GUI::Frame> m_preview_frame_widget; + RefPtr<GUI::Window> m_preview_window; + RefPtr<GUI::Widget> m_preview_window_widget; + GUI::Widget* m_preview; + GUI::ActionGroup m_views_group; + + GUI::Icon m_icon; + DeprecatedString m_file_path; +}; |