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