annotate qt-interpreter.h @ 12:894be158b32d

define parser as a class and eliminate some global variables
author John W. Eaton <jwe@octave.org>
date Thu, 23 May 2019 17:57:20 -0400
parents 04867eba6428
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 #if ! defined (calc_qt_interpreter_h)
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 #define calc_qt_interpreter_h 1
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 #include <QObject>
5
54edd85237ab use signal to send input to qt interpreter object
John W. Eaton <jwe@octave.org>
parents: 4
diff changeset
5 #include <QString>
4
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6
6
1b575145197e interpreter is now a class instead of a namespace with functions
John W. Eaton <jwe@octave.org>
parents: 5
diff changeset
7 #include "interpreter.h"
1b575145197e interpreter is now a class instead of a namespace with functions
John W. Eaton <jwe@octave.org>
parents: 5
diff changeset
8
4
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 namespace calc
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 {
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 class qt_interpreter : public QObject
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 {
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 Q_OBJECT
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 public:
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 qt_interpreter (void);
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18
6
1b575145197e interpreter is now a class instead of a namespace with functions
John W. Eaton <jwe@octave.org>
parents: 5
diff changeset
19 ~qt_interpreter (void) = default;
4
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 qt_interpreter (const qt_interpreter&) = delete;
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 qt_interpreter& operator = (const qt_interpreter&) = delete;
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24
12
894be158b32d define parser as a class and eliminate some global variables
John W. Eaton <jwe@octave.org>
parents: 7
diff changeset
25 interpreter& get_interpreter (void) { return m_interpreter; }
894be158b32d define parser as a class and eliminate some global variables
John W. Eaton <jwe@octave.org>
parents: 7
diff changeset
26
7
04867eba6428 function objects and signals/slots for errors and results
John W. Eaton <jwe@octave.org>
parents: 6
diff changeset
27 signals:
04867eba6428 function objects and signals/slots for errors and results
John W. Eaton <jwe@octave.org>
parents: 6
diff changeset
28
04867eba6428 function objects and signals/slots for errors and results
John W. Eaton <jwe@octave.org>
parents: 6
diff changeset
29 void result_ready (double);
04867eba6428 function objects and signals/slots for errors and results
John W. Eaton <jwe@octave.org>
parents: 6
diff changeset
30
04867eba6428 function objects and signals/slots for errors and results
John W. Eaton <jwe@octave.org>
parents: 6
diff changeset
31 void error_signal (const QString&);
04867eba6428 function objects and signals/slots for errors and results
John W. Eaton <jwe@octave.org>
parents: 6
diff changeset
32
4
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33 public slots:
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35 void execute (void);
5
54edd85237ab use signal to send input to qt interpreter object
John W. Eaton <jwe@octave.org>
parents: 4
diff changeset
36
54edd85237ab use signal to send input to qt interpreter object
John W. Eaton <jwe@octave.org>
parents: 4
diff changeset
37 void accept_input_line (const QString& line);
6
1b575145197e interpreter is now a class instead of a namespace with functions
John W. Eaton <jwe@octave.org>
parents: 5
diff changeset
38
1b575145197e interpreter is now a class instead of a namespace with functions
John W. Eaton <jwe@octave.org>
parents: 5
diff changeset
39 private:
1b575145197e interpreter is now a class instead of a namespace with functions
John W. Eaton <jwe@octave.org>
parents: 5
diff changeset
40
1b575145197e interpreter is now a class instead of a namespace with functions
John W. Eaton <jwe@octave.org>
parents: 5
diff changeset
41 interpreter m_interpreter;
4
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 };
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 }
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44
0e154787183d new interpreter and qt_interpreter objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45 #endif