Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2014-01-04 16:24:29 +0400
committerJoshua Leung <aligorith@gmail.com>2014-01-04 16:24:54 +0400
commit1db7f2f93d9d7a119be7998f5acb4a8f9547d8b9 (patch)
tree5c18017ccd47d52d6d367c0d3b1e8808d0a4432f
parent6063c58cc6d1e82d2288e0aa99846ab8ccd0228b (diff)
Quick fix for system info text always being scrolled out of view when loaded for the first time
Added an API method to Text datablocks for moving the cursor to a specific line in the file. This makes it possible to reset the cursor position at the end of the sysinfo operator.
-rw-r--r--release/scripts/modules/sys_info.py3
-rw-r--r--source/blender/makesrna/intern/rna_text_api.c22
2 files changed, 24 insertions, 1 deletions
diff --git a/release/scripts/modules/sys_info.py b/release/scripts/modules/sys_info.py
index 1785ab59a5f..f284ba475e3 100644
--- a/release/scripts/modules/sys_info.py
+++ b/release/scripts/modules/sys_info.py
@@ -163,4 +163,7 @@ def write_sysinfo(op):
for l in glext:
output.write("\t\t%r\n" % (l))
+ # Back to first line, so everything is still in sight
+ output.jump(1)
+
op.report({'INFO'}, "System information generated in 'system-info.txt'")
diff --git a/source/blender/makesrna/intern/rna_text_api.c b/source/blender/makesrna/intern/rna_text_api.c
index de398bc10a6..4d88430fab0 100644
--- a/source/blender/makesrna/intern/rna_text_api.c
+++ b/source/blender/makesrna/intern/rna_text_api.c
@@ -50,6 +50,20 @@ static void rna_Text_write(Text *text, const char *str)
WM_main_add_notifier(NC_TEXT | NA_EDITED, text);
}
+static void rna_Text_jump(Text *text, int line)
+{
+ short nlines = txt_get_span(text->lines.first, text->lines.last) + 1;
+
+ if (line < 1)
+ txt_move_toline(text, 1, 0);
+ else if (line > nlines)
+ txt_move_toline(text, nlines - 1, 0);
+ else
+ txt_move_toline(text, line - 1, 0);
+
+ WM_main_add_notifier(NC_TEXT | ND_CURSOR, text);
+}
+
#else
void RNA_api_text(StructRNA *srna)
@@ -61,9 +75,15 @@ void RNA_api_text(StructRNA *srna)
RNA_def_function_ui_description(func, "clear the text block");
func = RNA_def_function(srna, "write", "rna_Text_write");
- RNA_def_function_ui_description(func, "write text at the cursor location and advance to the end of the text block");
+ RNA_def_function_ui_description(func, "Write text at the cursor location and advance to the end of the text block");
prop = RNA_def_string(func, "text", "Text", 0, "", "New text for this datablock");
RNA_def_property_flag(prop, PROP_REQUIRED);
+
+ func = RNA_def_function(srna, "jump", "rna_Text_jump");
+ RNA_def_function_ui_description(func, "Move cursor location to the start of the specified line");
+ prop = RNA_def_int(func, "line_number", 1, 1, INT_MAX, "Line", "Line number to jump to", 1, 10000);
+ RNA_def_property_flag(prop, PROP_REQUIRED);
+ /* TODO: include optional parameter for character on line to jump to? */
}
#endif