diff libgui/src/command-widget.h @ 31081:b818d4ec035e

exp cmd widget: prevent wirting in previous ouputs * command-widget.cc (console::console): initialize new variables, connect some qscintilla signals; (console::append_string): make text writable; (console::cursor_position_changed: slot for change cursor position, prevent deleting the prompt and set read only state depending on cursor location; (console::move_cursor_to_end): slot for attempt to edit read only text, move cursor to the end and add enttered key there if ti is printable; (text_changed): slot for text changed, remember chaged state for later use in the slot for cursor position changed; (console::keyPressEvent): store entered key as text * command-widget.h (console): new slots cursor_position_changed text_changed, and move_cursor_to_end, new class variable m_cursor_position, m_text_changed, and m_last_key_string
author Torsten Lilge <ttl-octave@mailbox.org>
date Wed, 08 Jun 2022 20:31:10 +0200
parents 56ee6a223c51
children
line wrap: on
line diff
--- a/libgui/src/command-widget.h	Tue Jun 07 23:03:11 2022 +0200
+++ b/libgui/src/command-widget.h	Wed Jun 08 20:31:10 2022 +0200
@@ -50,6 +50,12 @@
 
   public slots:
 
+    void cursor_position_changed (int line, int col);
+
+    void text_changed (void);
+
+    void move_cursor_to_end (void);
+
     void new_command_line (const QString& command = QString ());
 
     void execute_command (const QString& command);
@@ -65,8 +71,10 @@
     void accept_command_line (void);
 
     int m_command_position;
+    int m_cursor_position;
+    bool m_text_changed;
     command_widget *m_command_widget;
-    QTextDocument *m_document;
+    QString m_last_key_string;
 
   };