Exemplo n.º 1
0
QSObject QSRegExpClass::fetchValue( const QSObject *objPtr,
				    const QSMember &mem ) const
{
    if ( mem.type() != QSMember::Custom )
	return QSWritableClass::fetchValue( objPtr, mem );

    QRegExp *re = regExp( objPtr );
    switch ( mem.index() ) {
    case Valid:
	return createBoolean( re->isValid() );
    case Empty:
	return createBoolean( re->isEmpty() );
    case MLength:
	return createNumber( re->matchedLength() );
    case Source:
	return createString( source(objPtr) );
    case Global:
	return createBoolean( isGlobal(objPtr) );
    case IgnoreCase:
	return createBoolean( isIgnoreCase(objPtr) );
    case CTexts: {
 	QSArray array( env() );
 	QStringList ct = re->capturedTexts();
 	QStringList::ConstIterator it = ct.begin();
 	int i = 0;
 	for ( ; it != ct.end(); ++it, ++i )
 	    array.put( QString::number( i ), createString( *it ) );
	array.put( QString::fromLatin1("length"), createNumber( i ) );
 	return array;
    }
    default:
	return createUndefined();
    }
}
Exemplo n.º 2
0
static Value isNil(Context *ctx, const List<Value>& args)
{
    if (args.getCount() != 1)
    {
        ctx->throwException(createException(ExcType::ValueError, "isNil takes one argument."));
    }

    return createBoolean(args[0].type == ValueType::Nil);
}
Exemplo n.º 3
0
void ofxGtsSurface::getReverseDifference(ofxGtsSurface &source, ofxGtsSurface &result) {
	if( prepareBoolean(source)) {
		createBoolean(source, result, BOOLEAN_REVERSE_DIFFERENCE);
	} 					  
}
Exemplo n.º 4
0
void ofxGtsSurface::getIntersection(ofxGtsSurface &source, ofxGtsSurface &result) {
	if( prepareBoolean(source)) {
		createBoolean(source, result, BOOLEAN_INTERSECTION);
	} 
}
Exemplo n.º 5
0
void ofxGtsSurface::getUnion(ofxGtsSurface &source, ofxGtsSurface &result) {
	if( prepareBoolean(source)) {
		createBoolean(source, result, BOOLEAN_UNION);
	} 
}