2022-04-09 03:24:37 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2022, Dylan Katz <dykatz@uw.edu>
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <AK/LexicalPath.h>
|
|
|
|
#include <LibGUI/TextEditor.h>
|
|
|
|
|
|
|
|
namespace SQLStudio {
|
|
|
|
|
|
|
|
class ScriptEditor : public GUI::TextEditor {
|
|
|
|
C_OBJECT(ScriptEditor)
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual ~ScriptEditor() = default;
|
|
|
|
|
2023-12-16 14:19:34 +00:00
|
|
|
void new_script_with_temp_name(ByteString);
|
2022-04-09 03:24:37 +00:00
|
|
|
ErrorOr<void> open_script_from_file(LexicalPath const&);
|
|
|
|
|
|
|
|
ErrorOr<bool> save();
|
|
|
|
ErrorOr<bool> save_as();
|
|
|
|
ErrorOr<bool> attempt_to_close();
|
|
|
|
|
2023-12-16 14:19:34 +00:00
|
|
|
ByteString const& path() const { return m_path; }
|
2022-12-28 15:57:30 +00:00
|
|
|
|
2022-04-09 03:24:37 +00:00
|
|
|
private:
|
|
|
|
ScriptEditor();
|
|
|
|
|
2023-12-16 14:19:34 +00:00
|
|
|
ByteString m_path;
|
2022-04-09 03:24:37 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|