diff libgui/src/command-widget.h @ 31080:56ee6a223c51

use QScintilla instead of QTextEdit for new terminal widget * command-widget.cc (ctor): pass qobj to console; (insert_interpreter_output): just append output message to console text; (console::console): initialize QScintilla, remove obsolete document; (console::new_command_line): append new line, add prompt, remember current cursor pos for later use, append possibly given command string; (console::accept_command_line): just get last line, and append a new line; (console::append_block): removed; (console::append_string): new function appending a string and moving cursor to the end; (console::keyPressEvent): process QsciScintilla::keyPressEvent * command-widget.h: include Qsci/qsciscintilla.h, console inherits from QsciScintilla and gets oct_qobj for later use, new function append_string, new class variable m_command_position for storing the begin of the active command line
author Torsten Lilge <ttl-octave@mailbox.org>
date Tue, 07 Jun 2022 23:03:11 +0200
parents 0b402f523f09
children b818d4ec035e
line wrap: on
line diff
--- a/libgui/src/command-widget.h	Tue Jun 07 19:44:07 2022 +0200
+++ b/libgui/src/command-widget.h	Tue Jun 07 23:03:11 2022 +0200
@@ -27,28 +27,26 @@
 #define octave_command_widget_h 1
 
 #include <QWidget>
-#include <QTextEdit>
+
+#include <Qsci/qsciscintilla.h>
 
 #include "octave-qobject.h"
 #include "gui-settings.h"
 
-class QLabel;
-class QLineEdit;
-class QStrung;
-class QTextEdit;
+class QsciScintilla;
 
 namespace octave
 {
   class base_qobject;
   class command_widget;
 
-  class console : public QTextEdit
+  class console : public QsciScintilla
   {
     Q_OBJECT
 
   public:
 
-    console (command_widget *p);
+    console (command_widget *p, base_qobject& oct_qobj);
 
   public slots:
 
@@ -62,11 +60,11 @@
 
   private:
 
+    void append_string (const QString& string);
+
     void accept_command_line (void);
 
-    void append_block (void);
-
-    int m_command_block_number;
+    int m_command_position;
     command_widget *m_command_widget;
     QTextDocument *m_document;