diff options
| author | Matthias Melcher <git@matthiasm.com> | 2019-01-13 23:32:34 +0100 |
|---|---|---|
| committer | Matthias Melcher <git@matthiasm.com> | 2019-01-13 23:32:34 +0100 |
| commit | 3d6b234c274d1376a95d462f13dea69bd117953c (patch) | |
| tree | bb44c7be31fe4dc7fc2de1840e7610d44f51ba75 /fluid | |
| parent | a1ebe87a885679feed893fc8f14d2425abd36cc8 (diff) | |
STR 3460: remember cursor position in code editor
When editing code in Fluid, the COde_Type class will now
remember the last cursor position and reopen the editor
dialog at that position (not for external editor).
Diffstat (limited to 'fluid')
| -rw-r--r-- | fluid/Fl_Function_Type.cxx | 2 | ||||
| -rw-r--r-- | fluid/Fl_Type.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/fluid/Fl_Function_Type.cxx b/fluid/Fl_Function_Type.cxx index e1ddf6c3a..558365325 100644 --- a/fluid/Fl_Function_Type.cxx +++ b/fluid/Fl_Function_Type.cxx @@ -456,6 +456,7 @@ void Fl_Code_Type::open() { if (!code_panel) make_code_panel(); const char *text = name(); code_input->buffer()->text( text ? text : "" ); + code_input->insert_position(cursor_position_); code_panel->show(); const char* message = 0; for (;;) { // repeat as long as there are errors @@ -472,6 +473,7 @@ void Fl_Code_Type::open() { free(c); break; } + cursor_position_ = code_input->insert_position(); BREAK2: code_panel->hide(); } diff --git a/fluid/Fl_Type.h b/fluid/Fl_Type.h index a55ea3c44..45b881ee3 100644 --- a/fluid/Fl_Type.h +++ b/fluid/Fl_Type.h @@ -193,7 +193,9 @@ public: class Fl_Code_Type : public Fl_Type { ExternalCodeEditor editor_; + int cursor_position_; public: + Fl_Code_Type() { cursor_position_ = 0; } Fl_Type *make(); void write(); void write_code1(); |
