/*************************************************************************** This file is part of Project Lemon Copyright (C) 2011 Zhipeng Jia This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ***************************************************************************/ /** * testcaseeditwidget.h @Project Lemon+ * Update 2018 Dust1404 **/ #ifndef TESTCASEEDITWIDGET_H #define TESTCASEEDITWIDGET_H #include #include #include #include #include #include namespace Ui { class TestCaseEditWidget; } class Settings; class TestCase; class TestCaseEditWidget : public QWidget { Q_OBJECT public: explicit TestCaseEditWidget(QWidget *parent = nullptr); ~TestCaseEditWidget(); void changeEvent(QEvent *); void setEditTestCase(TestCase *, bool); void setSettings(Settings *); private: Ui::TestCaseEditWidget *ui; TestCase *editTestCase; Settings *settings{}; QAction *deleteAction; void refreshFileList(); private slots: void addSingleCase(); void deleteSingleCase(); void fullScoreChanged(const QString &); void timeLimitChanged(const QString &); void memoryLimitChanged(const QString &); void subtaskDependenceChanged(); void subtaskDependenceClear(); void fileListSelectionChanged(); void fileListItemChanged(QTableWidgetItem *); signals: void dataPathChanged(); }; #endif // TESTCASEEDITWIDGET_H