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 /source/blender/makesrna/intern/rna_text_api.c
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.
Diffstat (limited to 'source/blender/makesrna/intern/rna_text_api.c')
-rw-r--r--source/blender/makesrna/intern/rna_text_api.c22
1 files changed, 21 insertions, 1 deletions
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