Canorus 0.0
pyconsole.h
Go to the documentation of this file.
1
8#ifndef PYCONSOLE_H_
9#define PYCONSOLE_H_
10
11#include <QObject>
12#include <QTextEdit>
13#include <QMutex>
14#include <QWaitCondition>
15#include <QToolBar>
16#include "score/document.h"
17
18class CAPyConsole : public QTextEdit {
19 Q_OBJECT
20public:
21 enum TxtType {
25 };
26
27 CAPyConsole ( CADocument *doc, QWidget *parent=0);
28
29 QString asyncBufferedInput(QString prompt);
30 void asyncBufferedOutput(QString bufInp, bool bStdErr);
33
34protected:
35 void keyPressEvent (QKeyEvent * e);
36
37private slots:
38 void txtAppend(const QString & text, TxtType txtType = txtNormal );
39 void on_txtChanged();
40 void on_posChanged();
41 void on_selChanged();
42 void on_fmtChanged();
43 void syncPluginInit();
44
45signals:
46 void sig_txtAppend(const QString & text, TxtType stdType);
48
49private:
50 enum HistLay {
53 };
54
55 struct TxtFragment {
56 QString text;
58 };
59
60 // void txtAppend(...) -> is in signals
61 void txtRevert();
62 QString txtGetInput(bool bReadText = false);
63 void txtSetInput(QString input, bool bUpdateText = true);
64
65 void histAdd();
66 void histGet(HistLay histLay);
67
68 // text in the console
69 QTextCursor _curInput, _curNew;
72
74 QList<TxtFragment*> _txtFixed;
75 QString _strInput;
76
77 // history
79 QList<QString> _histList;
80 QString _histOldInput; // old _strInput
81
82 QTextCharFormat _fmtNormal;
83 QTextCharFormat _fmtStdout;
84 QTextCharFormat _fmtStderr;
85
86 // thread
87 QString _bufSend;
88 QMutex *_thrWaitMut;
89 QWaitCondition *_thrWait;
91 QWaitCondition *_thrIntrWait;
92
93 // pyconsole '/' commands
94 bool cmdIntern(QString strCmd);
96
97 // rarely used
99 QWidget* _parent;
100};
101
102#endif /* PYCONSOLE_H_ */
Class which represents the current document.
Definition: document.h:19
Definition: pyconsole.h:18
int _iCurStart
Definition: pyconsole.h:70
HistLay
Definition: pyconsole.h:50
@ histPrev
Definition: pyconsole.h:51
@ histNext
Definition: pyconsole.h:52
void sig_txtAppend(const QString &text, TxtType stdType)
QString _bufSend
Definition: pyconsole.h:87
QTextCharFormat _fmtStdout
Definition: pyconsole.h:83
int _iCurNow
Definition: pyconsole.h:70
bool _bIgnTxtChange
Definition: pyconsole.h:71
void histAdd()
QString asyncBufferedInput(QString prompt)
CADocument * _canorusDoc
Definition: pyconsole.h:98
int _histIndex
Definition: pyconsole.h:78
void syncPluginInit()
Definition: pyconsole.cpp:565
QTextCursor _curInput
Definition: pyconsole.h:69
QTextCharFormat _fmtNormal
Definition: pyconsole.h:82
QString _strInput
Definition: pyconsole.h:75
TxtType
Definition: pyconsole.h:21
@ txtStderr
Definition: pyconsole.h:24
@ txtNormal
Definition: pyconsole.h:22
@ txtStdout
Definition: pyconsole.h:23
void on_txtChanged()
Definition: pyconsole.cpp:561
void on_selChanged()
Definition: pyconsole.cpp:563
QString _histOldInput
Definition: pyconsole.h:80
QWidget * _parent
Definition: pyconsole.h:99
void txtSetInput(QString input, bool bUpdateText=true)
QWaitCondition * _thrWait
Definition: pyconsole.h:89
void txtRevert()
CAPyConsole(CADocument *doc, QWidget *parent=0)
void sig_syncPluginInit()
bool cmdIntern(QString strCmd)
QMutex * _thrWaitMut
Definition: pyconsole.h:88
QWaitCondition * _thrIntrWait
Definition: pyconsole.h:91
void keyPressEvent(QKeyEvent *e)
Definition: pyconsole.cpp:566
QTextCharFormat _fmtStderr
Definition: pyconsole.h:84
void asyncPluginInit()
void histGet(HistLay histLay)
QList< TxtFragment * > _txtFixed
Definition: pyconsole.h:74
void on_fmtChanged()
Definition: pyconsole.cpp:564
TxtFragment * _tf
Definition: pyconsole.h:73
void asyncKeyboardInterrupt()
QString _strEntryFunc
Definition: pyconsole.h:95
QTextCursor _curNew
Definition: pyconsole.h:69
QList< QString > _histList
Definition: pyconsole.h:79
int _iCurNowOld
Definition: pyconsole.h:70
void on_posChanged()
Definition: pyconsole.cpp:562
QString txtGetInput(bool bReadText=false)
void txtAppend(const QString &text, TxtType txtType=txtNormal)
Definition: pyconsole.cpp:560
QMutex * _thrIntrWaitMut
Definition: pyconsole.h:90
void asyncBufferedOutput(QString bufInp, bool bStdErr)
Definition: pyconsole.h:55
QString text
Definition: pyconsole.h:56
TxtType type
Definition: pyconsole.h:57