Add debug
This commit is contained in:
parent
ec66620ad8
commit
e8ff5e0203
101
qbrainfuck.cpp
101
qbrainfuck.cpp
@ -16,6 +16,8 @@ QBrainfuck::~QBrainfuck()
|
|||||||
void QBrainfuck::on_encodeButton_clicked()
|
void QBrainfuck::on_encodeButton_clicked()
|
||||||
{
|
{
|
||||||
QByteArray text = ui->textTextEdit->document()->toPlainText().toLatin1();
|
QByteArray text = ui->textTextEdit->document()->toPlainText().toLatin1();
|
||||||
|
ui->programTextEdit->setPlainText("");
|
||||||
|
ui->debugTextEdit->setHtml("");
|
||||||
|
|
||||||
// First pass : find decades/steps
|
// First pass : find decades/steps
|
||||||
QList<char> decades; // Store the decades for initial loop
|
QList<char> decades; // Store the decades for initial loop
|
||||||
@ -24,6 +26,9 @@ void QBrainfuck::on_encodeButton_clicked()
|
|||||||
array.append(0);
|
array.append(0);
|
||||||
QList<char> steps; // Store the steps to construct the program
|
QList<char> steps; // Store the steps to construct the program
|
||||||
|
|
||||||
|
QString debugNumbers;
|
||||||
|
QString debugChars;
|
||||||
|
|
||||||
QByteArray::const_iterator textIterator;
|
QByteArray::const_iterator textIterator;
|
||||||
for (textIterator = text.constBegin(); textIterator != text.constEnd(); ++textIterator) {
|
for (textIterator = text.constBegin(); textIterator != text.constEnd(); ++textIterator) {
|
||||||
int max_diff = ui->maxSignsSpinBox->value()+1;
|
int max_diff = ui->maxSignsSpinBox->value()+1;
|
||||||
@ -47,12 +52,19 @@ void QBrainfuck::on_encodeButton_clicked()
|
|||||||
decades.append(qRound(*textIterator/(float)ui->decadesSpinBox->value())*ui->decadesSpinBox->value());
|
decades.append(qRound(*textIterator/(float)ui->decadesSpinBox->value())*ui->decadesSpinBox->value());
|
||||||
array.append(*textIterator);
|
array.append(*textIterator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add current char to debug (with corresponding ASCII value)
|
||||||
|
debugNumbers += formatNumber(*textIterator);
|
||||||
|
debugChars += " " + QString(*textIterator);
|
||||||
}
|
}
|
||||||
|
|
||||||
qSort(decades);
|
qSort(decades);
|
||||||
|
|
||||||
// Second pass : write program
|
// Second pass : write program
|
||||||
QString program = "";
|
QString program = "";
|
||||||
|
|
||||||
|
ui->debugTextEdit->insertHtml("# The message<br /><br />" + QString(text) + "<br /><br /># In ASCII<br /><br />" + debugNumbers + "<br />" + debugChars + "<br /><br /># The memory<br /><br />");
|
||||||
|
|
||||||
for(int i = 0; i < ui->decadesSpinBox->value(); ++i) {
|
for(int i = 0; i < ui->decadesSpinBox->value(); ++i) {
|
||||||
program += "+";
|
program += "+";
|
||||||
}
|
}
|
||||||
@ -71,6 +83,20 @@ void QBrainfuck::on_encodeButton_clicked()
|
|||||||
}
|
}
|
||||||
program += "-]";
|
program += "-]";
|
||||||
|
|
||||||
|
// Print initial loop to debug
|
||||||
|
QString debugText;
|
||||||
|
for(int multiplier = 0; multiplier <= ui->decadesSpinBox->value(); ++multiplier) {
|
||||||
|
debugText += " <b>" + formatNumber(ui->decadesSpinBox->value()-multiplier) + "</b>";
|
||||||
|
|
||||||
|
for(int i = 1; i < decades.length(); ++i) {
|
||||||
|
debugText += formatNumber(decades[i]/ui->decadesSpinBox->value()*multiplier);
|
||||||
|
}
|
||||||
|
|
||||||
|
debugText += "<br />";
|
||||||
|
}
|
||||||
|
debugText += "<br />";
|
||||||
|
ui->debugTextEdit->insertHtml(debugText);
|
||||||
|
|
||||||
int prev_ptr = 0;
|
int prev_ptr = 0;
|
||||||
|
|
||||||
QList<char>::const_iterator stepsIterator;
|
QList<char>::const_iterator stepsIterator;
|
||||||
@ -78,7 +104,6 @@ void QBrainfuck::on_encodeButton_clicked()
|
|||||||
for (stepsIterator = steps.constBegin(); stepsIterator != steps.constEnd(); ++stepsIterator) {
|
for (stepsIterator = steps.constBegin(); stepsIterator != steps.constEnd(); ++stepsIterator) {
|
||||||
int next_ptr = decades.indexOf(*stepsIterator);
|
int next_ptr = decades.indexOf(*stepsIterator);
|
||||||
|
|
||||||
|
|
||||||
if(next_ptr > prev_ptr) {
|
if(next_ptr > prev_ptr) {
|
||||||
for(int i = 0; i < next_ptr-prev_ptr; ++i) {
|
for(int i = 0; i < next_ptr-prev_ptr; ++i) {
|
||||||
program += ">";
|
program += ">";
|
||||||
@ -102,17 +127,25 @@ void QBrainfuck::on_encodeButton_clicked()
|
|||||||
program += ".";
|
program += ".";
|
||||||
prev_ptr = next_ptr;
|
prev_ptr = next_ptr;
|
||||||
decades[next_ptr] = *textIterator;
|
decades[next_ptr] = *textIterator;
|
||||||
|
|
||||||
|
// Print current memory and current letter
|
||||||
|
printMemory(decades, decades.length(), next_ptr, " " + QString(*textIterator));
|
||||||
|
|
||||||
++textIterator;
|
++textIterator;
|
||||||
}
|
}
|
||||||
|
|
||||||
ui->programTextEdit->setPlainText(program);
|
ui->programTextEdit->setPlainText(program);
|
||||||
|
ui->debugTextEdit->insertHtml("<br /><br /># The program<br /><br />" + program);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QBrainfuck::on_decodeButton_clicked()
|
void QBrainfuck::on_decodeButton_clicked()
|
||||||
{
|
{
|
||||||
ui->textTextEdit->setPlainText("");
|
ui->textTextEdit->setPlainText("");
|
||||||
|
ui->debugTextEdit->setHtml("");
|
||||||
|
|
||||||
|
bool exit = false;
|
||||||
int ptr = 0;
|
int ptr = 0;
|
||||||
|
int maxPtr = 0;
|
||||||
QByteArray text = ui->programTextEdit->document()->toPlainText().toLatin1();
|
QByteArray text = ui->programTextEdit->document()->toPlainText().toLatin1();
|
||||||
QByteArray array = QByteArray(ui->arraySpinBox->value(), (char)0);
|
QByteArray array = QByteArray(ui->arraySpinBox->value(), (char)0);
|
||||||
QByteArray input = ui->inputLineEdit->text().toLatin1();
|
QByteArray input = ui->inputLineEdit->text().toLatin1();
|
||||||
@ -121,21 +154,23 @@ void QBrainfuck::on_decodeButton_clicked()
|
|||||||
|
|
||||||
QByteArray::const_iterator textIterator;
|
QByteArray::const_iterator textIterator;
|
||||||
int loopCounter = 0;
|
int loopCounter = 0;
|
||||||
for (textIterator = text.constBegin(); textIterator != text.constEnd(); ++textIterator) {
|
for (textIterator = text.constBegin(); textIterator != text.constEnd() && exit == false; ++textIterator) {
|
||||||
|
|
||||||
switch (*textIterator) {
|
switch (*textIterator) {
|
||||||
case '>':
|
case '>':
|
||||||
ptr++;
|
++ptr;
|
||||||
if (ptr >= ui->arraySpinBox->value()) {
|
if (ptr >= ui->arraySpinBox->value()) {
|
||||||
QMessageBox::critical(this, "QBrainfuck", "Error: Pointer went upper than array's length");
|
ptr = 0;
|
||||||
return;
|
}
|
||||||
|
if(maxPtr < ptr) {
|
||||||
|
maxPtr = ptr;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '<':
|
case '<':
|
||||||
ptr--;
|
--ptr;
|
||||||
if (ptr < 0) {
|
if (ptr < 0) {
|
||||||
QMessageBox::critical(this, "QBrainfuck", "Error: Pointer went under 0");
|
ptr = ui->arraySpinBox->value()-1;
|
||||||
return;
|
maxPtr = ptr;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '+':
|
case '+':
|
||||||
@ -146,24 +181,30 @@ void QBrainfuck::on_decodeButton_clicked()
|
|||||||
break;
|
break;
|
||||||
case '.':
|
case '.':
|
||||||
ui->textTextEdit->insertPlainText(QString(array.at(ptr)));
|
ui->textTextEdit->insertPlainText(QString(array.at(ptr)));
|
||||||
|
printMemory(array, maxPtr, ptr, "OUTPUT: " + QString(array.at(ptr)));
|
||||||
break;
|
break;
|
||||||
case ',':
|
case ',':
|
||||||
array[ptr] = *inputIterator;
|
array[ptr] = *inputIterator;
|
||||||
inputIterator++;
|
++inputIterator;
|
||||||
|
printMemory(array, maxPtr, ptr, "INPUT: " + QString(array.at(ptr)));
|
||||||
break;
|
break;
|
||||||
case '[':
|
case '[':
|
||||||
last_textIterator = textIterator;
|
last_textIterator = textIterator;
|
||||||
loopCounter = 0;
|
loopCounter = 0;
|
||||||
|
printMemory(array, maxPtr, ptr, "LOOP BEG. ");
|
||||||
break;
|
break;
|
||||||
case ']':
|
case ']':
|
||||||
if(array.at(ptr)!=0) {
|
if(array.at(ptr)!=0) {
|
||||||
textIterator = last_textIterator;
|
textIterator = last_textIterator;
|
||||||
loopCounter++;
|
++loopCounter;
|
||||||
|
|
||||||
if (loopCounter >= ui->loopSpinBox->value()) {
|
if (loopCounter >= ui->loopSpinBox->value()) {
|
||||||
QMessageBox::critical(this, "QBrainfuck", "Error: Loop too long");
|
QMessageBox::critical(this, "QBrainfuck", "Error: Loop too long");
|
||||||
return;
|
exit = true;
|
||||||
}
|
}
|
||||||
|
printMemory(array, maxPtr, ptr, "LOOP ");
|
||||||
|
} else {
|
||||||
|
printMemory(array, maxPtr, ptr, "LOOP END ");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -255,6 +296,7 @@ void QBrainfuck::on_saveButton_clicked()
|
|||||||
saveFile.write(ui->motifTextEdit->document()->toPlainText().toUtf8() + "\n\n");
|
saveFile.write(ui->motifTextEdit->document()->toPlainText().toUtf8() + "\n\n");
|
||||||
saveFile.write(ui->resultTextEdit->document()->toPlainText().toUtf8() + "\n\n");
|
saveFile.write(ui->resultTextEdit->document()->toPlainText().toUtf8() + "\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -284,3 +326,40 @@ void QBrainfuck::on_loadButton_clicked()
|
|||||||
ui->resultTextEdit->setPlainText(jsonObject["result"].toString());
|
ui->resultTextEdit->setPlainText(jsonObject["result"].toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString QBrainfuck::formatNumber(int number)
|
||||||
|
{
|
||||||
|
if(number < 10) {
|
||||||
|
return " " + QString().setNum(number);
|
||||||
|
} else if (number < 100) {
|
||||||
|
return " " + QString().setNum(number);
|
||||||
|
} else {
|
||||||
|
return " " + QString().setNum(number);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QBrainfuck::printMemory(QByteArray array, int maxPtr, int ptr, QString text)
|
||||||
|
{
|
||||||
|
QString str;
|
||||||
|
for(int i = 0; i <= maxPtr; ++i) {
|
||||||
|
if(i == ptr) {
|
||||||
|
str += "<b>" + formatNumber(array[i]) + "</b>";
|
||||||
|
} else {
|
||||||
|
str += formatNumber(array[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ui->debugTextEdit->insertHtml(text + str + "<br />");
|
||||||
|
}
|
||||||
|
|
||||||
|
void QBrainfuck::printMemory(QList<char> array, int maxPtr, int ptr, QString text)
|
||||||
|
{
|
||||||
|
QString str;
|
||||||
|
for(int i = 0; i < maxPtr; ++i) {
|
||||||
|
if(i == ptr) {
|
||||||
|
str += "<b>" + formatNumber(array[i]) + "</b>";
|
||||||
|
} else {
|
||||||
|
str += formatNumber(array[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ui->debugTextEdit->insertHtml(text + str + "<br />");
|
||||||
|
}
|
||||||
|
@ -40,6 +40,10 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::QBrainfuck *ui;
|
Ui::QBrainfuck *ui;
|
||||||
|
|
||||||
|
QString formatNumber(int number);
|
||||||
|
void printMemory(QByteArray array, int maxPtr, int ptr, QString text);
|
||||||
|
void printMemory(QList<char> array, int maxPtr, int ptr, QString text);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // QBRAINFUCK_H
|
#endif // QBRAINFUCK_H
|
||||||
|
168
qbrainfuck.ui
168
qbrainfuck.ui
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1187</width>
|
<width>1194</width>
|
||||||
<height>585</height>
|
<height>634</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -16,40 +16,16 @@
|
|||||||
<widget class="QWidget" name="centralWidget">
|
<widget class="QWidget" name="centralWidget">
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<item row="1" column="1">
|
<property name="currentIndex">
|
||||||
<widget class="QGroupBox" name="resultGroupBox">
|
<number>0</number>
|
||||||
<property name="title">
|
|
||||||
<string>Result</string>
|
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
<widget class="QWidget" name="tab">
|
||||||
<item>
|
<attribute name="title">
|
||||||
<widget class="QPlainTextEdit" name="resultTextEdit">
|
<string>Main</string>
|
||||||
<property name="font">
|
</attribute>
|
||||||
<font>
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
<family>Monospace</family>
|
<item row="0" column="2">
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="saveButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Save</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="loadButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Load</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QGroupBox" name="programGroupBox">
|
<widget class="QGroupBox" name="programGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Brainfuck program</string>
|
<string>Brainfuck program</string>
|
||||||
@ -62,6 +38,9 @@
|
|||||||
<family>Monospace</family>
|
<family>Monospace</family>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="lineWrapMode">
|
||||||
|
<enum>QPlainTextEdit::NoWrap</enum>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -81,7 +60,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QGroupBox" name="motifGoupBox">
|
<widget class="QGroupBox" name="motifGoupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Motif</string>
|
<string>Motif</string>
|
||||||
@ -94,6 +73,9 @@
|
|||||||
<family>Monospace</family>
|
<family>Monospace</family>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="lineWrapMode">
|
||||||
|
<enum>QPlainTextEdit::NoWrap</enum>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -113,7 +95,42 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="3" column="2">
|
||||||
|
<widget class="QGroupBox" name="resultGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Result</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QPlainTextEdit" name="resultTextEdit">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Monospace</family>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="lineWrapMode">
|
||||||
|
<enum>QPlainTextEdit::NoWrap</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="saveButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="loadButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Load</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" rowspan="3" colspan="2">
|
||||||
<widget class="QGroupBox" name="textGroupBox">
|
<widget class="QGroupBox" name="textGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Plain text</string>
|
<string>Plain text</string>
|
||||||
@ -126,6 +143,9 @@
|
|||||||
<family>Monospace</family>
|
<family>Monospace</family>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="lineWrapMode">
|
||||||
|
<enum>QPlainTextEdit::NoWrap</enum>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -145,9 +165,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
<item row="4" column="0" colspan="3">
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QGroupBox" name="optionsGroupBox">
|
<widget class="QGroupBox" name="optionsGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Options</string>
|
<string>Options</string>
|
||||||
@ -158,16 +176,6 @@
|
|||||||
<property name="fieldGrowthPolicy">
|
<property name="fieldGrowthPolicy">
|
||||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QSpinBox" name="loopSpinBox">
|
|
||||||
<property name="maximum">
|
|
||||||
<number>5000</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>500</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="loopLabel">
|
<widget class="QLabel" name="loopLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -175,6 +183,16 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="loopSpinBox">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100000</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>500</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="arrayLabel">
|
<widget class="QLabel" name="arrayLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -182,8 +200,15 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLineEdit" name="inputLineEdit"/>
|
<widget class="QSpinBox" name="arraySpinBox">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100000</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="inputLabel">
|
<widget class="QLabel" name="inputLabel">
|
||||||
@ -192,15 +217,8 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QSpinBox" name="arraySpinBox">
|
<widget class="QLineEdit" name="inputLineEdit"/>
|
||||||
<property name="maximum">
|
|
||||||
<number>5000</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>100</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
@ -257,6 +275,34 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
<zorder>textGroupBox</zorder>
|
||||||
|
<zorder>programGroupBox</zorder>
|
||||||
|
<zorder>motifGoupBox</zorder>
|
||||||
|
<zorder>resultGroupBox</zorder>
|
||||||
|
<zorder>optionsGroupBox</zorder>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="tab_2">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Debug</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="debugTextEdit">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Monospace</family>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="lineWrapMode">
|
||||||
|
<enum>QTextEdit::NoWrap</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user