summaryrefslogtreecommitdiff
path: root/Userland/DevTools/GMLPlayground/MainWidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/DevTools/GMLPlayground/MainWidget.h')
-rw-r--r--Userland/DevTools/GMLPlayground/MainWidget.h46
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;
+};