本文整理汇总了C++中kjs::Value类的典型用法代码示例。如果您正苦于以下问题:C++ Value类的具体用法?C++ Value怎么用?C++ Value使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Value类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: startElement
bool SaxHandler::startElement( const QString &ns, const QString &ln, const QString &qn,
const QXmlAttributes &attrs )
{
if ( !jshandler.isValid() ) {
error = ErrorNoHandler;
return false;
}
KJS::Identifier funName("startElement");
if ( !jshandler.hasProperty(exec, funName) )
return QXmlDefaultHandler::startElement( ns, ln, qn, attrs );
KJS::Object fun = jshandler.get(exec, funName).toObject( exec );
if ( !fun.implementsCall() ) {
error = ErrorNotCallable;
return false;
}
KJS::List args;
args.append( KJS::String(ns) );
args.append( KJS::String(ln) );
args.append( KJS::String(qn) );
// TODO: XmlAttributes not yet supported
KJS::Value ret = fun.call( exec, jshandler, args );
return ret.toBoolean( exec );
}
示例2: callMethod
KJS::Value KJSEmbedPart::callMethod( const QString & methodName, const KJS::List & args ) const
{
KJS::ExecState *exec = js->globalExec();
KJS::Identifier id = KJS::Identifier( KJS::UString(methodName.latin1() ));
KJS::Object obj = js->globalObject();
KJS::Object fun = obj.get(exec, id ).toObject( exec );
KJS::Value retValue;
if ( !fun.implementsCall() )
{
// We need to create an exception here...
}
else
retValue = fun.call(exec, obj, args);
kdDebug( 80001 ) << "Returned type is: " << retValue.type() << endl;
if( exec->hadException() )
{
kdWarning( 80001 ) << "Got error: " << exec->exception().toString(exec).qstring() << endl;
return exec->exception();
}
else
{
if( retValue.type() == 1 && retValue.type() == 0)
{
kdDebug( 80001 ) << "Got void return type. " << endl;
return KJS::Null();
}
}
return retValue;
}
示例3: setActive
void KstBindTimeInterpretation::setActive(KJS::ExecState *exec, const KJS::Value& value) {
if (!_d) {
KJS::Object eobj = KJS::Error::create(exec, KJS::GeneralError);
exec->setException(eobj);
return;
}
if (value.type() != KJS::BooleanType) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstWriteLocker wl(_d->_d);
bool isIt;
KstAxisInterpretation interp;
KstAxisDisplay disp;
if (_d->_xAxis) {
_d->_d->getXAxisInterpretation(isIt, interp, disp);
_d->_d->setXAxisInterpretation(value.toBoolean(exec), interp, disp);
} else {
_d->_d->getYAxisInterpretation(isIt, interp, disp);
_d->_d->setYAxisInterpretation(value.toBoolean(exec), interp, disp);
}
_d->_d->setDirty();
KstApp::inst()->paintAll(KstPainter::P_PAINT);
}
示例4: setLineStyle
void KstBindCubicBezier::setLineStyle(KJS::ExecState *exec, const KJS::Value& value) {
unsigned w = 0;
if (value.type() != KJS::NumberType || !value.toUInt32(w)) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstViewBezierPtr d = makeBezier(_d);
if (d) {
KstWriteLocker wl(d);
switch (w) {
case 0:
d->setPenStyle(Qt::SolidLine);
break;
case 1:
d->setPenStyle(Qt::DashLine);
break;
case 2:
d->setPenStyle(Qt::DotLine);
break;
case 3:
d->setPenStyle(Qt::DashDotLine);
break;
case 4:
d->setPenStyle(Qt::DashDotDotLine);
break;
default:
return;
}
KstApp::inst()->paintAll(P_PAINT);
}
}
示例5: constructorList
KJS::List KJSEmbedPart::constructorList() const
{
KJS::List items;
KJS::Object obj = js->globalObject();
KJS::ExecState *exec = js->globalExec();
KJS::ReferenceList l = obj.propList( exec );
KJS::ReferenceListIterator propIt = l.begin();
while ( propIt != l.end() ) {
KJS::Identifier name = propIt->getPropertyName( exec );
if ( obj.hasProperty( exec, name ) ) {
KJS::Value v = obj.get( exec, name );
KJS::Object vobj = v.toObject( exec );
if ( vobj.implementsConstruct() )
items.append( KJS::String( name.ustring() ) );
}
propIt++;
}
return items;
}
示例6: setX
void KstBindPoint::setX(KJS::ExecState *exec, const KJS::Value& value) {
if (value.type() != KJS::NumberType) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
_x = value.toNumber(exec);
}
示例7: setName
void KstBindDocument::setName(KJS::ExecState *exec, const KJS::Value& value) {
if (value.type() != KJS::StringType) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstApp::inst()->document()->setTitle(value.toString(exec).qstring());
}
示例8: setW
void KstBindSize::setW(KJS::ExecState *exec, const KJS::Value& value) {
unsigned int w = 0;
if (value.type() != KJS::NumberType || !value.toUInt32(w)) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
_sz.setWidth(w);
}
示例9: setOutput
void KstBindTimeInterpretation::setOutput(KJS::ExecState *exec, const KJS::Value& value) {
if (!_d) {
KJS::Object eobj = KJS::Error::create(exec, KJS::GeneralError);
exec->setException(eobj);
return;
}
unsigned i = 0;
if (value.type() != KJS::NumberType || !value.toUInt32(i)) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstWriteLocker wl(_d->_d);
bool isIt;
KstAxisInterpretation interp;
KstAxisDisplay disp, newDisp;
switch (i) {
default:
case 0:
newDisp = AXIS_DISPLAY_DDMMYYHHMMSS_SS;
break;
case 1:
newDisp = AXIS_DISPLAY_YYMMDDHHMMSS_SS;
break;
case 2:
newDisp = AXIS_DISPLAY_JD;
break;
case 3:
newDisp = AXIS_DISPLAY_MJD;
break;
case 4:
newDisp = AXIS_DISPLAY_RJD;
break;
case 5:
newDisp = AXIS_DISPLAY_YEAR;
break;
case 6:
newDisp = AXIS_DISPLAY_KDE_SHORTDATE;
break;
case 7:
newDisp = AXIS_DISPLAY_KDE_LONGDATE;
break;
}
if (_d->_xAxis) {
_d->_d->getXAxisInterpretation(isIt, interp, disp);
_d->_d->setXAxisInterpretation(isIt, interp, newDisp);
} else {
_d->_d->getYAxisInterpretation(isIt, interp, disp);
_d->_d->setYAxisInterpretation(isIt, interp, newDisp);
}
_d->_d->setDirty();
KstApp::inst()->paintAll(KstPainter::P_PAINT);
}
示例10: setRUnits
void KstBindPowerSpectrum::setRUnits(KJS::ExecState *exec, const KJS::Value& value) {
if (value.type() != KJS::StringType) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstPSDPtr d = makePSD(_d);
if (d) {
KstWriteLocker wl(d);
d->setRUnits(value.toString(exec).qstring());
}
}
示例11: setFrequency
void KstBindPowerSpectrum::setFrequency(KJS::ExecState *exec, const KJS::Value& value) {
if (value.type() != KJS::NumberType) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstPSDPtr d = makePSD(_d);
if (d) {
KstWriteLocker wl(d);
d->setFreq(value.toNumber(exec));
}
}
示例12: setLength
void KstBindPowerSpectrum::setLength(KJS::ExecState *exec, const KJS::Value& value) {
unsigned val;
if (value.type() != KJS::NumberType || !value.toUInt32(val)) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstPSDPtr d = makePSD(_d);
if (d) {
KstWriteLocker wl(d);
d->setLen(val);
}
}
示例13: getObj
static KJS::Object getObj(KJS::Interpreter *js, KJS::Value mightBeArray, int id) {
KJS::ExecState *exec=js->globalExec();
KJS::Object constrs=mightBeArray.toObject(exec);
KJS::Value constr;
if (!exec->hadException()) {
if (QString(constrs.classInfo()->className)=="Array") {
kdDebug()<<"config page constructor array detected"<<endl;
constr=constrs.get(exec,id);
} else constr=mightBeArray;
}
return constr.toObject(js->globalExec());
}
示例14: scopeWalker
static KJS::Object scopeWalker( KJS::ExecState *exec, const KJS::Object &root, const QString &objectString )
{
KJS::Object returnObject = root;
QStringList objects = QStringList::split(".", objectString);
for( uint idx = 0; idx < objects.count(); ++idx)
{
KJS::Identifier id = KJS::Identifier( KJS::UString( objects[idx] ));
KJS::Value newObject = returnObject.get(exec, id );
if( newObject.isValid() )
returnObject = newObject.toObject(exec);
}
return returnObject;
}
示例15: setBorderWidth
void KstBindEllipse::setBorderWidth(KJS::ExecState *exec, const KJS::Value& value) {
unsigned w = 0;
if (value.type() != KJS::NumberType || !value.toUInt32(w)) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstViewEllipsePtr d = makeEllipse(_d);
if (d) {
KstWriteLocker wl(d);
d->setBorderWidth(w);
KstApp::inst()->paintAll(KstPainter::P_PAINT);
}
}