You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-11 13:10:58 +00:00
Fix Script editor state types
This commit is contained in:
@@ -1466,23 +1466,23 @@ void CodeTextEditor::set_edit_state(const Variant &p_state) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (state.has("folded_lines")) {
|
if (state.has("folded_lines")) {
|
||||||
Vector<int> folded_lines = state["folded_lines"];
|
const PackedInt32Array folded_lines = state["folded_lines"];
|
||||||
for (int i = 0; i < folded_lines.size(); i++) {
|
for (const int &line : folded_lines) {
|
||||||
text_editor->fold_line(folded_lines[i]);
|
text_editor->fold_line(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.has("breakpoints")) {
|
if (state.has("breakpoints")) {
|
||||||
Array breakpoints = state["breakpoints"];
|
const PackedInt32Array breakpoints = state["breakpoints"];
|
||||||
for (int i = 0; i < breakpoints.size(); i++) {
|
for (const int &line : breakpoints) {
|
||||||
text_editor->set_line_as_breakpoint(breakpoints[i], true);
|
text_editor->set_line_as_breakpoint(line, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.has("bookmarks")) {
|
if (state.has("bookmarks")) {
|
||||||
Array bookmarks = state["bookmarks"];
|
const PackedInt32Array bookmarks = state["bookmarks"];
|
||||||
for (int i = 0; i < bookmarks.size(); i++) {
|
for (const int &line : bookmarks) {
|
||||||
text_editor->set_line_as_bookmarked(bookmarks[i], true);
|
text_editor->set_line_as_bookmarked(line, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1868,7 +1868,7 @@ bool CodeEdit::is_line_folded(int p_line) const {
|
|||||||
return p_line + 1 < get_line_count() && !_is_line_hidden(p_line) && _is_line_hidden(p_line + 1);
|
return p_line + 1 < get_line_count() && !_is_line_hidden(p_line) && _is_line_hidden(p_line + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
TypedArray<int> CodeEdit::get_folded_lines() const {
|
TypedArray<int> CodeEdit::get_folded_lines_bind() const {
|
||||||
TypedArray<int> folded_lines;
|
TypedArray<int> folded_lines;
|
||||||
for (int i = 0; i < get_line_count(); i++) {
|
for (int i = 0; i < get_line_count(); i++) {
|
||||||
if (is_line_folded(i)) {
|
if (is_line_folded(i)) {
|
||||||
@@ -1878,6 +1878,16 @@ TypedArray<int> CodeEdit::get_folded_lines() const {
|
|||||||
return folded_lines;
|
return folded_lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PackedInt32Array CodeEdit::get_folded_lines() const {
|
||||||
|
PackedInt32Array folded_lines;
|
||||||
|
for (int i = 0; i < get_line_count(); i++) {
|
||||||
|
if (is_line_folded(i)) {
|
||||||
|
folded_lines.push_back(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return folded_lines;
|
||||||
|
}
|
||||||
|
|
||||||
/* Code region */
|
/* Code region */
|
||||||
void CodeEdit::create_code_region() {
|
void CodeEdit::create_code_region() {
|
||||||
// Abort if there is no selected text.
|
// Abort if there is no selected text.
|
||||||
@@ -2805,7 +2815,7 @@ void CodeEdit::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("toggle_foldable_lines_at_carets"), &CodeEdit::toggle_foldable_lines_at_carets);
|
ClassDB::bind_method(D_METHOD("toggle_foldable_lines_at_carets"), &CodeEdit::toggle_foldable_lines_at_carets);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("is_line_folded", "line"), &CodeEdit::is_line_folded);
|
ClassDB::bind_method(D_METHOD("is_line_folded", "line"), &CodeEdit::is_line_folded);
|
||||||
ClassDB::bind_method(D_METHOD("get_folded_lines"), &CodeEdit::get_folded_lines);
|
ClassDB::bind_method(D_METHOD("get_folded_lines"), &CodeEdit::get_folded_lines_bind);
|
||||||
|
|
||||||
/* Code region */
|
/* Code region */
|
||||||
ClassDB::bind_method(D_METHOD("create_code_region"), &CodeEdit::create_code_region);
|
ClassDB::bind_method(D_METHOD("create_code_region"), &CodeEdit::create_code_region);
|
||||||
|
|||||||
@@ -432,7 +432,8 @@ public:
|
|||||||
|
|
||||||
int get_folded_line_header(int p_line) const;
|
int get_folded_line_header(int p_line) const;
|
||||||
bool is_line_folded(int p_line) const;
|
bool is_line_folded(int p_line) const;
|
||||||
TypedArray<int> get_folded_lines() const;
|
TypedArray<int> get_folded_lines_bind() const;
|
||||||
|
PackedInt32Array get_folded_lines() const;
|
||||||
|
|
||||||
/* Code region */
|
/* Code region */
|
||||||
void create_code_region();
|
void create_code_region();
|
||||||
|
|||||||
@@ -2974,7 +2974,9 @@ TEST_CASE("[SceneTree][CodeEdit] folding") {
|
|||||||
|
|
||||||
// Check metadata.
|
// Check metadata.
|
||||||
CHECK(code_edit->get_folded_lines().size() == 1);
|
CHECK(code_edit->get_folded_lines().size() == 1);
|
||||||
|
CHECK(code_edit->get_folded_lines_bind().size() == 1);
|
||||||
CHECK((int)code_edit->get_folded_lines()[0] == 0);
|
CHECK((int)code_edit->get_folded_lines()[0] == 0);
|
||||||
|
CHECK((int)code_edit->get_folded_lines_bind()[0] == 0);
|
||||||
|
|
||||||
// Cannot unfold nested.
|
// Cannot unfold nested.
|
||||||
code_edit->unfold_line(1);
|
code_edit->unfold_line(1);
|
||||||
@@ -2990,6 +2992,7 @@ TEST_CASE("[SceneTree][CodeEdit] folding") {
|
|||||||
|
|
||||||
// Check metadata.
|
// Check metadata.
|
||||||
CHECK(code_edit->get_folded_lines().size() == 0);
|
CHECK(code_edit->get_folded_lines().size() == 0);
|
||||||
|
CHECK(code_edit->get_folded_lines_bind().size() == 0);
|
||||||
|
|
||||||
code_edit->fold_all_lines();
|
code_edit->fold_all_lines();
|
||||||
CHECK(code_edit->is_line_folded(0));
|
CHECK(code_edit->is_line_folded(0));
|
||||||
|
|||||||
Reference in New Issue
Block a user