void QgsRasterShader::readXML( const QDomElement& elem ) { //only colorrampshader QDomElement colorRampShaderElem = elem.firstChildElement( "colorrampshader" ); if ( !colorRampShaderElem.isNull() ) { QgsColorRampShader* colorRampShader = new QgsColorRampShader(); colorRampShader->setColorRampType( colorRampShaderElem.attribute( "colorRampType", "INTERPOLATED" ) ); colorRampShader->setClip( colorRampShaderElem.attribute( "clip", "0" ) == "1" ); QList<QgsColorRampShader::ColorRampItem> itemList; QDomElement itemElem; QString itemLabel; double itemValue; QColor itemColor; QDomNodeList itemNodeList = colorRampShaderElem.elementsByTagName( "item" ); for ( int i = 0; i < itemNodeList.size(); ++i ) { itemElem = itemNodeList.at( i ).toElement(); itemValue = itemElem.attribute( "value" ).toDouble(); itemLabel = itemElem.attribute( "label" ); itemColor.setNamedColor( itemElem.attribute( "color" ) ); itemList.push_back( QgsColorRampShader::ColorRampItem( itemValue, itemColor, itemLabel ) ); } colorRampShader->setColorRampItemList( itemList ); setRasterShaderFunction( colorRampShader ); } }
void QgsRasterShader::readXml( const QDomElement &elem ) { //only colorrampshader QDomElement colorRampShaderElem = elem.firstChildElement( QStringLiteral( "colorrampshader" ) ); if ( !colorRampShaderElem.isNull() ) { QgsColorRampShader *colorRampShader = new QgsColorRampShader(); colorRampShader->readXml( colorRampShaderElem ); setRasterShaderFunction( colorRampShader ); } }
void QgsRasterShader::readXml( const QDomElement& elem ) { //only colorrampshader QDomElement colorRampShaderElem = elem.firstChildElement( QStringLiteral( "colorrampshader" ) ); if ( !colorRampShaderElem.isNull() ) { QgsColorRampShader* colorRampShader = new QgsColorRampShader(); // try to load color ramp (optional) QDomElement sourceColorRampElem = colorRampShaderElem.firstChildElement( QStringLiteral( "colorramp" ) ); if ( !sourceColorRampElem.isNull() && sourceColorRampElem.attribute( QStringLiteral( "name" ) ) == QLatin1String( "[source]" ) ) { colorRampShader->setSourceColorRamp( QgsSymbolLayerUtils::loadColorRamp( sourceColorRampElem ) ); } colorRampShader->setColorRampType( colorRampShaderElem.attribute( QStringLiteral( "colorRampType" ), QStringLiteral( "INTERPOLATED" ) ) ); colorRampShader->setClassificationMode( static_cast< QgsColorRampShader::ClassificationMode >( colorRampShaderElem.attribute( QStringLiteral( "classificationMode" ), QStringLiteral( "1" ) ).toInt() ) ); colorRampShader->setClip( colorRampShaderElem.attribute( QStringLiteral( "clip" ), QStringLiteral( "0" ) ) == QLatin1String( "1" ) ); QList<QgsColorRampShader::ColorRampItem> itemList; QDomElement itemElem; QString itemLabel; double itemValue; QColor itemColor; QDomNodeList itemNodeList = colorRampShaderElem.elementsByTagName( QStringLiteral( "item" ) ); itemList.reserve( itemNodeList.size() ); for ( int i = 0; i < itemNodeList.size(); ++i ) { itemElem = itemNodeList.at( i ).toElement(); itemValue = itemElem.attribute( QStringLiteral( "value" ) ).toDouble(); itemLabel = itemElem.attribute( QStringLiteral( "label" ) ); itemColor.setNamedColor( itemElem.attribute( QStringLiteral( "color" ) ) ); itemColor.setAlpha( itemElem.attribute( QStringLiteral( "alpha" ), QStringLiteral( "255" ) ).toInt() ); itemList.push_back( QgsColorRampShader::ColorRampItem( itemValue, itemColor, itemLabel ) ); } colorRampShader->setColorRampItemList( itemList ); setRasterShaderFunction( colorRampShader ); } }