本文整理汇总了C++中kjs::Value::type方法的典型用法代码示例。如果您正苦于以下问题:C++ Value::type方法的具体用法?C++ Value::type怎么用?C++ Value::type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kjs::Value
的用法示例。
在下文中一共展示了Value::type方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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;
}
示例2: 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);
}
}
示例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: 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);
}
示例5: 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());
}
示例6: 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);
}
示例7: convertValueToNPVariant
// Variant value must be released with NPReleaseVariantValue()
void convertValueToNPVariant (KJS::ExecState *exec, const KJS::Value &value, NPVariant *result)
{
Type type = value.type();
if (type == StringType) {
UString ustring = value.toString(exec);
CString cstring = ustring.UTF8String();
NPString string = { (const NPUTF8 *)cstring.c_str(), cstring.size() };
NPN_InitializeVariantWithStringCopy (result, &string );
}
else if (type == NumberType) {
NPN_InitializeVariantWithDouble (result, value.toNumber(exec));
}
else if (type == BooleanType) {
NPN_InitializeVariantWithBool (result, value.toBoolean(exec));
}
else if (type == UnspecifiedType) {
NPN_InitializeVariantAsUndefined(result);
}
else if (type == NullType) {
NPN_InitializeVariantAsNull(result);
}
else if (type == ObjectType) {
KJS::ObjectImp *objectImp = static_cast<KJS::ObjectImp*>(value.imp());
if (objectImp->classInfo() == &KJS::RuntimeObjectImp::info) {
KJS::RuntimeObjectImp *imp = static_cast<KJS::RuntimeObjectImp *>(value.imp());
CInstance *instance = static_cast<CInstance*>(imp->getInternalInstance());
NPN_InitializeVariantWithObject (result, instance->getObject());
}
else {
KJS::Interpreter *originInterpreter = exec->interpreter();
const Bindings::RootObject *originExecutionContext = rootForInterpreter(originInterpreter);
KJS::Interpreter *interpreter = 0;
if (originInterpreter->isGlobalObject(value)) {
interpreter = originInterpreter->interpreterForGlobalObject (value.imp());
}
if (!interpreter)
interpreter = originInterpreter;
const Bindings::RootObject *executionContext = rootForInterpreter(interpreter);
if (!executionContext) {
Bindings::RootObject *newExecutionContext = new KJS::Bindings::RootObject(0);
newExecutionContext->setInterpreter (interpreter);
executionContext = newExecutionContext;
}
NPObject *obj = (NPObject *)exec->interpreter()->createLanguageInstanceForValue (exec, Instance::CLanguage, value.toObject(exec), originExecutionContext, executionContext);
NPN_InitializeVariantWithObject (result, obj);
_NPN_ReleaseObject (obj);
}
}
else
NPN_InitializeVariantAsUndefined(result);
}
示例8: 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);
}
示例9: 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));
}
}
示例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: 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);
}
}
示例12: 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);
}
}
示例13: setD
void KstBindCubicBezier::setD(KJS::ExecState *exec, const KJS::Value& value) {
KstBindPoint *imp = 0L;
if (value.type() != KJS::ObjectType || !(imp = dynamic_cast<KstBindPoint*>(value.toObject(exec).imp()))) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstViewBezierPtr d = makeBezier(_d);
if (d) {
KstWriteLocker wl(d);
d->setPointD(QPoint(int(imp->_x), int(imp->_y))); // FIXME: Point is the wrong
// type to use here. It's
// a double, for one...
KstApp::inst()->paintAll(P_PAINT);
}
}
示例14: if
jvalue KJS::Bindings::convertValueToJValue (KJS::ExecState *exec, KJS::Value value, JNIType _JNIType, const char *javaClassName)
{
jvalue result;
double d = 0;
d = value.toNumber(exec);
switch (_JNIType){
case object_type: {
result.l = (jobject)0;
// First see if we have a Java instance.
if (value.type() == KJS::ObjectType){
KJS::ObjectImp *objectImp = static_cast<KJS::ObjectImp*>(value.imp());
if (strcmp(objectImp->classInfo()->className, "RuntimeObject") == 0) {
KJS::RuntimeObjectImp *imp = static_cast<KJS::RuntimeObjectImp *>(value.imp());
JavaInstance *instance = static_cast<JavaInstance*>(imp->getInternalInstance());
result.l = instance->javaInstance();
}
else if (strcmp(objectImp->classInfo()->className, "RuntimeArray") == 0) {
KJS::RuntimeArrayImp *imp = static_cast<KJS::RuntimeArrayImp *>(value.imp());
JavaArray *array = static_cast<JavaArray*>(imp->getConcreteArray());
result.l = array->javaArray();
}
}
// Now convert value to a string if the target type is a java.lang.string.
if (result.l == 0 && strcmp(javaClassName, "java.lang.String") == 0) {
KJS::UString stringValue = value.toString(exec);
JNIEnv *env = getJNIEnv();
jobject javaString = env->functions->NewString (env, (const jchar *)stringValue.data(), stringValue.size());
result.l = javaString;
}
}
break;
case boolean_type: {
result.z = (jboolean)d;
}
break;
case byte_type: {
result.b = (jbyte)d;
}
break;
case char_type: {
result.c = (jchar)d;
}
break;
case short_type: {
result.s = (jshort)d;
}
break;
case int_type: {
result.i = (jint)d;
}
break;
case long_type: {
result.j = (jlong)d;
}
break;
case float_type: {
result.f = (jfloat)d;
}
break;
case double_type: {
result.d = (jdouble)d;
}
break;
break;
case invalid_type:
default:
case void_type: {
//bzero (&result, sizeof(jvalue));
memset(&result, 0, sizeof(jvalue));
}
break;
}
return result;
}