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:
parent
f052a66c5d
commit
68a0e4f8d5
3 changed files with 4 additions and 9 deletions
|
@ -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(),
|
||||||
|
|
|
@ -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; }
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue