1 #include "SliderControl.h"
2 
3 namespace ADM_qtScript
4 {
SliderControl(const QString & title,int minValue,int maxValue,int value,int increment)5 	SliderControl::SliderControl(const QString& title, int minValue, int maxValue, int value, int increment)
6 	{
7 		this->_title = title;
8 		this->_minValue = minValue;
9 		this->_maxValue = maxValue;
10 		this->_value = value;
11 		this->_increment = increment;
12 	}
13 
constructor(QScriptContext * context,QScriptEngine * engine)14 	QScriptValue SliderControl::constructor(QScriptContext *context, QScriptEngine *engine)
15 	{
16 		if (context->isCalledAsConstructor())
17 		{
18 			if (context->argumentCount() == 3 && context->argument(0).isString() && context->argument(1).isNumber() && context->argument(2).isNumber())
19 			{
20 				return engine->newQObject(new SliderControl(
21 					context->argument(0).toString(), context->argument(1).toNumber(), context->argument(2).toNumber()), QScriptEngine::ScriptOwnership);
22 			}
23 			else if (context->argumentCount() == 4 && context->argument(0).isString() && context->argument(1).isNumber() && context->argument(2).isNumber() &&
24 				context->argument(3).isNumber())
25 			{
26 				return engine->newQObject(new SliderControl(
27 					context->argument(0).toString(), context->argument(1).toNumber(), context->argument(2).toNumber(), context->argument(3).toNumber()),
28 					QScriptEngine::ScriptOwnership);
29 			}
30 			else if (context->argumentCount() == 5 && context->argument(0).isString() && context->argument(1).isNumber() && context->argument(2).isNumber() &&
31 				context->argument(3).isNumber() && context->argument(3).isNumber())
32 			{
33 				return engine->newQObject(new SliderControl(
34 					context->argument(0).toString(), context->argument(1).toNumber(), context->argument(2).toNumber(), context->argument(3).toNumber(),
35 					context->argument(4).toNumber()), QScriptEngine::ScriptOwnership);
36 			}
37 			else
38 			{
39 				return context->throwError("Invalid arguments passed to constructor");
40 			}
41 		}
42 
43 		return engine->undefinedValue();
44 	}
45 
createControl(void)46 	diaElem* SliderControl::createControl(void)
47 	{
48 		return new diaElemSlider(&this->_value, this->_title.toUtf8().constData(), this->_minValue, this->_maxValue, this->_increment);
49 	}
50 
getMinimumValue()51 	int SliderControl::getMinimumValue()
52 	{
53 		return this->_minValue;
54 	}
55 
getMaximumValue()56 	int SliderControl::getMaximumValue()
57 	{
58 		return this->_maxValue;
59 	}
60 
getTitle()61 	const QString& SliderControl::getTitle()
62 	{
63 		return this->_title;
64 	}
65 
getValue()66 	int SliderControl::getValue()
67 	{
68 		return this->_value;
69 	}
70 
setMaximumValue(int value)71 	void SliderControl::setMaximumValue(int value)
72 	{
73 		this->_maxValue = value;
74 	}
75 
setMinimumValue(int value)76 	void SliderControl::setMinimumValue(int value)
77 	{
78 		this->_minValue = value;
79 	}
80 
setTitle(const QString & title)81 	void SliderControl::setTitle(const QString& title)
82 	{
83 		this->_title = title;
84 	}
85 
setValue(int value)86 	void SliderControl::setValue(int value)
87 	{
88 		this->_value = value;
89 	}
90 }