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