MCPcopy Create free account
hub / github.com/Project-LemonLime/Project_LemonLime / TaskEditWidget

Method TaskEditWidget

src/taskeditwidget.cpp:17–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15#include "core/task.h"
16
17TaskEditWidget::TaskEditWidget(QWidget *parent) : QWidget(parent), ui(new Ui::TaskEditWidget) {
18 ui->setupUi(this);
19 editTask = nullptr;
20 ui->lemonSpecialJudge->setFilters(QDir::Files | QDir::Executable);
21 ui->testlibSpecialJudge->setFilters(QDir::Files | QDir::Executable);
22 ui->interactorPath->setFilters(QDir::Files);
23 ui->graderPath->setFilters(QDir::Files);
24 connect(this, &TaskEditWidget::dataPathChanged, ui->lemonSpecialJudge, &FileLineEdit::refreshFileList);
25 connect(this, &TaskEditWidget::dataPathChanged, ui->testlibSpecialJudge, &FileLineEdit::refreshFileList);
26 connect(this, &TaskEditWidget::dataPathChanged, ui->interactorPath, &FileLineEdit::refreshFileList);
27 connect(this, &TaskEditWidget::dataPathChanged, ui->graderPath, &FileLineEdit::refreshFileList);
28 ui->sourceFileName->setValidator(new QRegularExpressionValidator(QRegularExpression("\\w+"), this));
29 ui->inputFileName->setValidator(
30 new QRegularExpressionValidator(QRegularExpression(R"((\w+)(\.\w+)?)"), this));
31 ui->outputFileName->setValidator(
32 new QRegularExpressionValidator(QRegularExpression(R"((\w+)(\.\w+)?)"), this));
33 ui->interactorName->setValidator(
34 new QRegularExpressionValidator(QRegularExpression(R"((\w+)(\.\w+)?)"), this));
35 ui->answerFileExtension->setValidator(new QRegularExpressionValidator(QRegularExpression("\\w+"), this));
36 ui->sourceFilesTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
37 ui->graderFilesTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
38 // ui->interactionButton->setVisible(false); //rebuilding interaction, remove it temporarily
39 connect(ui->problemTitle, &QLineEdit::textChanged, this, &TaskEditWidget::problemTitleChanged);
40 connect(ui->traditionalButton, &QRadioButton::toggled, this, &TaskEditWidget::setToTraditional);
41 connect(ui->answersOnlyButton, &QRadioButton::toggled, this, &TaskEditWidget::setToAnswersOnly);
42 connect(ui->interactionButton, &QRadioButton::toggled, this, &TaskEditWidget::setToInteraction);
43 connect(ui->communicationButton, &QRadioButton::toggled, this, &TaskEditWidget::setToCommunication);
44 connect(ui->communicationExecButton, &QRadioButton::toggled, this,
45 &TaskEditWidget::setToCommunicationExec);
46 connect(ui->sourceFileName, &QLineEdit::textChanged, this, &TaskEditWidget::sourceFileNameChanged);
47 connect(ui->subFolderCheck, &QCheckBox::checkStateChanged, this, &TaskEditWidget::subFolderCheckChanged);
48 connect(ui->inputFileName, &QLineEdit::textChanged, this, &TaskEditWidget::inputFileNameChanged);
49 connect(ui->outputFileName, &QLineEdit::textChanged, this, &TaskEditWidget::outputFileNameChanged);
50 connect(ui->standardInputCheck, &QCheckBox::checkStateChanged, this,
51 &TaskEditWidget::standardInputCheckChanged);
52 connect(ui->standardOutputCheck, &QCheckBox::checkStateChanged, this,
53 &TaskEditWidget::standardOutputCheckChanged);
54 connect(ui->comparisonMode, qOverload<int>(&QComboBox::currentIndexChanged), this,
55 &TaskEditWidget::comparisonModeChanged);
56 connect(ui->diffArguments, &QLineEdit::textChanged, this, &TaskEditWidget::diffArgumentsChanged);
57 connect(ui->realPrecision, qOverload<int>(&QSpinBox::valueChanged), this,
58 &TaskEditWidget::realPrecisionChanged);
59 connect(ui->lemonSpecialJudge, &QLineEdit::textChanged, this, &TaskEditWidget::specialJudgeChanged);
60 connect(ui->testlibSpecialJudge, &QLineEdit::textChanged, this, &TaskEditWidget::specialJudgeChanged);
61 connect(ui->interactorPath, &QLineEdit::textChanged, this, &TaskEditWidget::interactorChanged);
62 connect(ui->interactorName, &QLineEdit::textChanged, this, &TaskEditWidget::interactorNameChanged);
63 connect(ui->graderPath, &QLineEdit::textChanged, this, &TaskEditWidget::graderChanged);
64 connect(ui->compilersList, &QListWidget::currentRowChanged, this,
65 &TaskEditWidget::compilerSelectionChanged);
66 connect(ui->configurationSelect, qOverload<int>(&QComboBox::currentIndexChanged), this,
67 &TaskEditWidget::configurationSelectionChanged);
68 connect(ui->answerFileExtension, &QLineEdit::textChanged, this,
69 &TaskEditWidget::answerFileExtensionChanged);
70 connect(ui->sourceFilesAppendButton, &QPushButton::clicked, this, &TaskEditWidget::addSourceFileClicked);
71 connect(ui->graderFilesAppendButton, &QPushButton::clicked, this, &TaskEditWidget::addGraderFileClicked);
72 connect(ui->sourceFilesRemoveButton, &QPushButton::clicked, this, &TaskEditWidget::rmSourceFileClicked);
73 connect(ui->graderFilesRemoveButton, &QPushButton::clicked, this, &TaskEditWidget::rmGraderFileClicked);
74}

Callers

nothing calls this directly

Calls 1

setFiltersMethod · 0.80

Tested by

no test coverage detected