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 "windowparameterdefinition.h"
22 #include "subparameter.h"
23 #include "windowedit.h"
24 #include "actioninstance.h"
25 #include "windowhandle.h"
26 
27 namespace ActionTools
28 {
WindowParameterDefinition(const Name & name,QObject * parent)29     WindowParameterDefinition::WindowParameterDefinition(const Name &name, QObject *parent)
30         : ParameterDefinition(name, parent),
31 		mWindowEdit(nullptr)
32 	{
33 	}
34 
buildEditors(Script * script,QWidget * parent)35 	void WindowParameterDefinition::buildEditors(Script *script, QWidget *parent)
36 	{
37 		ParameterDefinition::buildEditors(script, parent);
38 
39 		mWindowEdit = new WindowEdit(parent);
40 
41 		addEditor(mWindowEdit);
42 	}
43 
load(const ActionInstance * actionInstance)44 	void WindowParameterDefinition::load(const ActionInstance *actionInstance)
45 	{
46 		mWindowEdit->setFromSubParameter(actionInstance->subParameter(name().original(), QStringLiteral("value")));
47 	}
48 
save(ActionInstance * actionInstance)49 	void WindowParameterDefinition::save(ActionInstance *actionInstance)
50 	{
51 		actionInstance->setSubParameter(name().original(), QStringLiteral("value"), mWindowEdit->isCode(), mWindowEdit->text());
52 	}
53 
actionUpdate(Script * script)54     void WindowParameterDefinition::actionUpdate(Script *script)
55 	{
56 		Q_UNUSED(script)
57 
58         mWindowEdit->setWindowTitles(ActionTools::WindowHandle::windowTitles());
59 	}
60 }
61