1 /* 2 Actiona 3 Copyright (C) 2005 Jonathan Mercier-Ganady 4 5 Actiona is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 Actiona is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 Contact : jmgr@jmgr.info 19 */ 20 21 #include "fileparameterdefinition.h" 22 #include "subparameter.h" 23 #include "fileedit.h" 24 #include "actioninstance.h" 25 26 namespace ActionTools 27 { FileParameterDefinition(const Name & name,QObject * parent)28 FileParameterDefinition::FileParameterDefinition(const Name &name, QObject *parent) 29 : ParameterDefinition(name, parent), 30 mFileEdit(nullptr) 31 { 32 } 33 buildEditors(Script * script,QWidget * parent)34 void FileParameterDefinition::buildEditors(Script *script, QWidget *parent) 35 { 36 ParameterDefinition::buildEditors(script, parent); 37 38 mFileEdit = new FileEdit(parent); 39 40 mFileEdit->setMode(mMode); 41 mFileEdit->setCaption(mCaption); 42 mFileEdit->setFilter(mFilter); 43 mFileEdit->setDirectory(mDirectory); 44 45 addEditor(mFileEdit); 46 } 47 load(const ActionInstance * actionInstance)48 void FileParameterDefinition::load(const ActionInstance *actionInstance) 49 { 50 mFileEdit->setFromSubParameter(actionInstance->subParameter(name().original(), QStringLiteral("value"))); 51 } 52 save(ActionInstance * actionInstance)53 void FileParameterDefinition::save(ActionInstance *actionInstance) 54 { 55 actionInstance->setSubParameter(name().original(), QStringLiteral("value"), mFileEdit->isCode(), mFileEdit->text()); 56 } 57 } 58