-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmpost.h
67 lines (57 loc) · 1.62 KB
/
mpost.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*!
* \file mpost.h
* \author Simon Coakley
* \date 2012
* \copyright Copyright (c) 2012 University of Sheffield
* \brief Header file for mpost
*/
#ifndef MPOST_H_
#define MPOST_H_
#include <QMetaType>
#include <QPainter>
#include "./variable.h"
#include "./memorymodel.h"
struct statement {
QString lhs;
QString op;
QString rhs;
double drhs;
bool isVariable;
bool isValid;
};
typedef statement statement;
class Mpost {
public:
enum EditMode { Editable, ReadOnly };
Mpost(QString n = "", QString op = "", int v = 0, bool enabled = false);
void paint(QPainter *painter, const QRect &rect,
const QPalette &palette, EditMode mode) const;
QString name() const { return myName; }
QString name2() const { return myName2; }
int value() const { return myValue; }
void setName(QString n) { myName = n; }
void setName2(QString n) { myName2 = n; }
void setValue(int v) { myValue = v; }
bool enabled() const { return myEnabled; }
void setEnabled(bool enabled) { myEnabled = enabled; }
QString op() const { return myOp; }
void setOp(QString o) { myOp = o; }
int value2() const { return myValue2; }
void setValue2(int v) { myValue2 = v; }
QString getText();
void setText(QString t);
void setMemory(MemoryModel * m) { memory = m; }
QList<statement> getStatements() { return statements; }
private:
bool myEnabled;
QString myName;
QString myName2;
int myValue;
QString myOp;
int myValue2;
QString text;
QList<statement> statements;
MemoryModel * memory;
};
Q_DECLARE_METATYPE(Mpost)
#endif // MPOST_H_