1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 20:27:45 +00:00

LibGUI+HackStudio: Remove editing specific hacks from GUI::Command

Use is<T> to check for specific types of command in HackStudio instead
of cluttering up GUI::Command with specialized getters.
This commit is contained in:
Andreas Kling 2021-05-02 14:49:46 +02:00
parent f052a66c5d
commit 68a0e4f8d5
3 changed files with 4 additions and 9 deletions

View file

@ -493,8 +493,8 @@ void Editor::on_edit_action(const GUI::Command& command)
if (!m_language_client) if (!m_language_client)
return; return;
if (command.is_insert_text()) { if (is<GUI::InsertTextCommand>(command)) {
const GUI::InsertTextCommand& insert_command = static_cast<const GUI::InsertTextCommand&>(command); auto const& insert_command = static_cast<GUI::InsertTextCommand const&>(command);
m_language_client->insert_text( m_language_client->insert_text(
code_document().file_path(), code_document().file_path(),
insert_command.text(), insert_command.text(),
@ -503,8 +503,8 @@ void Editor::on_edit_action(const GUI::Command& command)
return; return;
} }
if (command.is_remove_text()) { if (is<GUI::RemoveTextCommand>(command)) {
const GUI::RemoveTextCommand& remove_command = static_cast<const GUI::RemoveTextCommand&>(command); auto const& remove_command = static_cast<GUI::RemoveTextCommand const&>(command);
m_language_client->remove_text( m_language_client->remove_text(
code_document().file_path(), code_document().file_path(),
remove_command.range().start().line(), remove_command.range().start().line(),

View file

@ -19,9 +19,6 @@ public:
String action_text() const { return m_action_text; } String action_text() const { return m_action_text; }
virtual bool is_insert_text() const { return false; }
virtual bool is_remove_text() const { return false; }
protected: protected:
Command() { } Command() { }
void set_action_text(const String& text) { m_action_text = text; } void set_action_text(const String& text) { m_action_text = text; }

View file

@ -206,7 +206,6 @@ public:
virtual void perform_formatting(const TextDocument::Client&) override; virtual void perform_formatting(const TextDocument::Client&) override;
virtual void undo() override; virtual void undo() override;
virtual void redo() override; virtual void redo() override;
virtual bool is_insert_text() const override { return true; }
const String& text() const { return m_text; } const String& text() const { return m_text; }
const TextRange& range() const { return m_range; } const TextRange& range() const { return m_range; }
@ -220,7 +219,6 @@ public:
RemoveTextCommand(TextDocument&, const String&, const TextRange&); RemoveTextCommand(TextDocument&, const String&, const TextRange&);
virtual void undo() override; virtual void undo() override;
virtual void redo() override; virtual void redo() override;
virtual bool is_remove_text() const override { return true; }
const TextRange& range() const { return m_range; } const TextRange& range() const { return m_range; }
private: private: