#pragma once #include #include #include #include #include #include class GButton; class GTextBox; class GTextEditor; class TextEditorWidget final : public GWidget { public: TextEditorWidget(); virtual ~TextEditorWidget() override; void open_sesame(const String& path); private: void set_path(const FileSystemPath& file); GTextEditor* m_editor { nullptr }; String m_path; String m_name; String m_extension; RefPtr m_new_action; RefPtr m_open_action; RefPtr m_save_action; RefPtr m_save_as_action; RefPtr m_find_action; GTextBox* m_find_textbox { nullptr }; GButton* m_find_prev_button { nullptr }; GButton* m_find_next_button { nullptr }; GWidget* m_find_widget { nullptr }; };