MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / _edit_option

Method _edit_option

editor/script/script_text_editor.cpp:1727–2037  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1725}
1726
1727void ScriptTextEditor::_edit_option(int p_op) {
1728 CodeEdit *tx = code_editor->get_text_editor();
1729 tx->apply_ime();
1730
1731 switch (p_op) {
1732 case EDIT_UNDO: {
1733 tx->undo();
1734 callable_mp((Control *)tx, &Control::grab_focus).call_deferred();
1735 } break;
1736 case EDIT_REDO: {
1737 tx->redo();
1738 callable_mp((Control *)tx, &Control::grab_focus).call_deferred();
1739 } break;
1740 case EDIT_CUT: {
1741 tx->cut();
1742 callable_mp((Control *)tx, &Control::grab_focus).call_deferred();
1743 } break;
1744 case EDIT_COPY: {
1745 tx->copy();
1746 callable_mp((Control *)tx, &Control::grab_focus).call_deferred();
1747 } break;
1748 case EDIT_PASTE: {
1749 tx->paste();
1750 callable_mp((Control *)tx, &Control::grab_focus).call_deferred();
1751 } break;
1752 case EDIT_SELECT_ALL: {
1753 tx->select_all();
1754 callable_mp((Control *)tx, &Control::grab_focus).call_deferred();
1755 } break;
1756 case EDIT_MOVE_LINE_UP: {
1757 code_editor->get_text_editor()->move_lines_up();
1758 } break;
1759 case EDIT_MOVE_LINE_DOWN: {
1760 code_editor->get_text_editor()->move_lines_down();
1761 } break;
1762 case EDIT_INDENT: {
1763 Ref<Script> scr = script;
1764 if (scr.is_null()) {
1765 return;
1766 }
1767 tx->indent_lines();
1768 } break;
1769 case EDIT_UNINDENT: {
1770 Ref<Script> scr = script;
1771 if (scr.is_null()) {
1772 return;
1773 }
1774 tx->unindent_lines();
1775 } break;
1776 case EDIT_DELETE_LINE: {
1777 code_editor->get_text_editor()->delete_lines();
1778 } break;
1779 case EDIT_DUPLICATE_SELECTION: {
1780 code_editor->get_text_editor()->duplicate_selection();
1781 } break;
1782 case EDIT_DUPLICATE_LINES: {
1783 code_editor->get_text_editor()->duplicate_lines();
1784 } break;

Callers

nothing calls this directly

Calls 15

get_text_editorMethod · 0.80
cutMethod · 0.80
pasteMethod · 0.80
move_lines_upMethod · 0.80
move_lines_downMethod · 0.80
indent_linesMethod · 0.80
unindent_linesMethod · 0.80
delete_linesMethod · 0.80
duplicate_selectionMethod · 0.80
duplicate_linesMethod · 0.80
fold_all_linesMethod · 0.80

Tested by

no test coverage detected