bool PMRuleEqual::compare( const PMVariant& v1, const PMVariant& v2 ) { bool c = false; switch( v1.dataType( ) ) { case PMVariant::Integer: c = v1.intData( ) == v2.intData( ); break; case PMVariant::Unsigned: c = v1.unsignedData( ) == v2.unsignedData( ); break; case PMVariant::Double: c = v1.doubleData( ) == v2.doubleData( ); break; case PMVariant::String: c = v1.stringData( ) == v2.stringData( ); break; case PMVariant::Bool: c = v1.boolData( ) == v2.boolData( ); break; case PMVariant::ThreeState: c = v1.threeStateData( ) == v2.threeStateData( ); break; case PMVariant::Vector: kdError( PMArea ) << "RuleSystem: Equal: Can't compare vectors" << endl; break; case PMVariant::Color: kdError( PMArea ) << "RuleSystem: Equal: Can't compare colors" << endl; break; case PMVariant::ObjectPointer: kdError( PMArea ) << "RuleSystem: Equal: Can't compare object pointers" << endl; break; case PMVariant::None: kdError( PMArea ) << "RuleSystem: Equal: Value has type none" << endl; break; } return c; }
virtual bool setProtected( PMObject* obj, const PMVariant& var ) { PMTextureMapBase* m = ( PMTextureMapBase* ) obj; QValueList<double> list = m->mapValues( ); QValueList<double>::Iterator it = list.at( m_index ); if( it == list.end( ) ) { kdError( PMArea ) << "Range error in PMTextureMapBase::ValueProperty::set" << endl; return false; } *it = var.doubleData( ); m->setMapValues( list ); return true; }