1 /** 2 * UGENE - Integrated Bioinformatics Tools. 3 * Copyright (C) 2008-2021 UniPro <ugene@unipro.ru> 4 * http://ugene.net 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 9 * of the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 * MA 02110-1301, USA. 20 */ 21 22 #ifndef _U2_ACTORSCRIPTVALIDATOR_H_ 23 #define _U2_ACTORSCRIPTVALIDATOR_H_ 24 25 #include "ActorValidator.h" 26 27 namespace U2 { 28 namespace Workflow { 29 30 class ActorScriptValidator : public ActorValidator { 31 public: 32 virtual bool validate(const Actor *actor, NotificationsList ¬ificationList, const QMap<QString, QString> &options) const; 33 }; 34 35 class ValidationContext : public QObject { 36 Q_OBJECT 37 public: 38 ValidationContext(QScriptEngine &engine, const Actor *actor); 39 40 NotificationsList notifications() const; 41 bool hasErrors() const; 42 43 public slots: 44 QScriptValue attributeValue(const QString &attrId); 45 void error(const QString &message); 46 void warning(const QString &message); 47 48 private: 49 QScriptEngine &engine; 50 const Actor *actor; 51 QStringList errors; 52 QStringList warnings; 53 }; 54 55 } // namespace Workflow 56 } // namespace U2 57 58 #endif // _U2_ACTORSCRIPTVALIDATOR_H_ 59