-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExpressionsDialog.h
55 lines (47 loc) · 1.44 KB
/
ExpressionsDialog.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
#ifndef EXPRESSIONSDIALOG_H
#define EXPRESSIONSDIALOG_H
#include <QWidget>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QComboBox>
#include <QLabel>
#include <QLineEdit>
#include <QMessageBox>
namespace Ui {
class ExpressionsDialog;
}
class ExpressionsDialog : public QWidget
{
Q_OBJECT
public:
explicit ExpressionsDialog(QWidget *parent = 0);
~ExpressionsDialog();
private:
Ui::ExpressionsDialog *ui;
QVector<QLineEdit*> m_wConstArray; //widgets of constants array
QVector<QLineEdit*> m_genExprArray; // vector with coefficients for "Z = ..." expression
QVector< QVector<QLineEdit*>* > m_wVarArray; // array with coefficentes for X
QVector<QComboBox*> m_signs; //vector with QComboBoxes
QVector<QHBoxLayout*> m_layouts;
QDoubleValidator *m_doubleValidator;
quint8 m_col; // m_varArray columns
quint8 m_row; // m_varArray rows
//methods:
QComboBox* signComboBox(); // = > < >= <=
void freeMemory();
void allocateMemory();
void placeWidgets();
qint8 Rank(double **a, quint8 m, quint8 n);
bool Check(double **a, quint8 m, quint8 n);
public slots:
void setCondition(int var, int expr);
private slots:
void on_nextButton_clicked();
void on_backButton_clicked();
signals:
void next();
void back();
void userError();
void result(double *genExprArray, double** varArray, double *constArray, quint8 row, quint8 col);
};
#endif // EXPRESSIONSDIALOG_H