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 }