本文整理汇总了C++中qgsstringmap::iterator类的典型用法代码示例。如果您正苦于以下问题:C++ iterator类的具体用法?C++ iterator怎么用?C++ iterator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了iterator类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QgsDebugMsg
QgsSymbolLayer *QgsEllipseSymbolLayer::createFromSld( QDomElement &element )
{
QgsDebugMsg( "Entered." );
QDomElement graphicElem = element.firstChildElement( QStringLiteral( "Graphic" ) );
if ( graphicElem.isNull() )
return nullptr;
QString name = QStringLiteral( "circle" );
QColor fillColor, strokeColor;
double strokeWidth, size;
double widthHeightFactor = 1.0;
Qt::PenStyle strokeStyle;
QgsStringMap vendorOptions = QgsSymbolLayerUtils::getVendorOptionList( graphicElem );
for ( QgsStringMap::iterator it = vendorOptions.begin(); it != vendorOptions.end(); ++it )
{
if ( it.key() == QLatin1String( "widthHeightFactor" ) )
{
bool ok;
double v = it.value().toDouble( &ok );
if ( ok && !qgsDoubleNear( v, 0.0 ) && v > 0 )
widthHeightFactor = v;
}
}
if ( !QgsSymbolLayerUtils::wellKnownMarkerFromSld( graphicElem, name, fillColor, strokeColor, strokeStyle, strokeWidth, size ) )
return nullptr;
QString uom = element.attribute( QStringLiteral( "uom" ) );
size = QgsSymbolLayerUtils::sizeInPixelsFromSldUom( uom, size );
strokeWidth = QgsSymbolLayerUtils::sizeInPixelsFromSldUom( uom, strokeWidth );
double angle = 0.0;
QString angleFunc;
if ( QgsSymbolLayerUtils::rotationFromSldElement( graphicElem, angleFunc ) )
{
bool ok;
double d = angleFunc.toDouble( &ok );
if ( ok )
angle = d;
}
QgsEllipseSymbolLayer *m = new QgsEllipseSymbolLayer();
m->setOutputUnit( QgsUnitTypes::RenderUnit::RenderPixels );
m->setSymbolName( name );
m->setFillColor( fillColor );
m->setStrokeColor( strokeColor );
m->setStrokeStyle( strokeStyle );
m->setStrokeWidth( strokeWidth );
m->setSymbolWidth( size );
m->setSymbolHeight( size / widthHeightFactor );
m->setAngle( angle );
return m;
}
示例2: QgsDebugMsg
QgsSymbolLayerV2* QgsEllipseSymbolLayerV2::createFromSld( QDomElement &element )
{
QgsDebugMsg( "Entered." );
QDomElement graphicElem = element.firstChildElement( "Graphic" );
if ( graphicElem.isNull() )
return NULL;
QString name = "circle";
QColor fillColor, borderColor;
double borderWidth, size;
double widthHeightFactor = 1.0;
Qt::PenStyle borderStyle;
QgsStringMap vendorOptions = QgsSymbolLayerV2Utils::getVendorOptionList( graphicElem );
for ( QgsStringMap::iterator it = vendorOptions.begin(); it != vendorOptions.end(); ++it )
{
if ( it.key() == "widthHeightFactor" )
{
bool ok;
double v = it.value().toDouble( &ok );
if ( ok && !qgsDoubleNear( v, 0.0 ) && v > 0 )
widthHeightFactor = v;
}
}
if ( !QgsSymbolLayerV2Utils::wellKnownMarkerFromSld( graphicElem, name, fillColor, borderColor, borderStyle, borderWidth, size ) )
return NULL;
double angle = 0.0;
QString angleFunc;
if ( QgsSymbolLayerV2Utils::rotationFromSldElement( graphicElem, angleFunc ) )
{
bool ok;
double d = angleFunc.toDouble( &ok );
if ( ok )
angle = d;
}
QgsEllipseSymbolLayerV2 *m = new QgsEllipseSymbolLayerV2();
m->setSymbolName( name );
m->setFillColor( fillColor );
m->setOutlineColor( borderColor );
m->setOutlineStyle( borderStyle );
m->setOutlineWidth( borderWidth );
m->setSymbolWidth( size );
m->setSymbolHeight( size / widthHeightFactor );
m->setAngle( angle );
return m;
}
示例3: initArchives
void QgsCptCityArchive::initArchives( bool loadAll )
{
QgsStringMap archivesMap;
QString baseDir, defArchiveName;
QgsSettings settings;
// use CptCity/baseDir setting if set, default is user dir
baseDir = settings.value( QStringLiteral( "CptCity/baseDir" ),
QgsApplication::pkgDataPath() + "/resources" ).toString();
// sub-dir defaults to
defArchiveName = settings.value( QStringLiteral( "CptCity/archiveName" ), DEFAULT_CPTCITY_ARCHIVE ).toString();
QgsDebugMsg( "baseDir= " + baseDir + " defArchiveName= " + defArchiveName );
if ( loadAll )
{
QDir dir( baseDir );
const QStringList fileList = dir.entryList( QStringList() << QStringLiteral( "cpt-city*" ), QDir::Dirs );
for ( const QString &entry : fileList )
{
if ( QFile::exists( baseDir + '/' + entry + "/VERSION.xml" ) )
archivesMap[ entry ] = baseDir + '/' + entry;
}
}
else
{
archivesMap[ defArchiveName ] = baseDir + '/' + defArchiveName;
}
for ( QgsStringMap::iterator it = archivesMap.begin();
it != archivesMap.end(); ++it )
{
if ( QDir( it.value() ).exists() )
QgsCptCityArchive::initArchive( it.key(), it.value() );
else
{
QgsDebugMsg( QString( "not loading archive [%1] because dir %2 does not exist " ).arg( it.key(), it.value() ) );
}
}
sDefaultArchiveName = defArchiveName;
}
示例4: saveProperties
bool QgsPaintEffect::saveProperties( QDomDocument &doc, QDomElement &element ) const
{
if ( element.isNull() )
{
return false;
}
QDomElement effectElement = doc.createElement( QStringLiteral( "effect" ) );
effectElement.setAttribute( QStringLiteral( "type" ), type() );
QgsStringMap props = properties();
for ( QgsStringMap::iterator it = props.begin(); it != props.end(); ++it )
{
QDomElement propEl = doc.createElement( QStringLiteral( "prop" ) );
propEl.setAttribute( QStringLiteral( "k" ), it.key() );
propEl.setAttribute( QStringLiteral( "v" ), it.value() );
effectElement.appendChild( propEl );
}
element.appendChild( effectElement );
return true;
}
示例5: if
QgsSymbolLayerV2* QgsMarkerLineSymbolLayerV2::createFromSld( QDomElement &element )
{
QgsDebugMsg( "Entered." );
QDomElement strokeElem = element.firstChildElement( "Stroke" );
if ( strokeElem.isNull() )
return NULL;
QDomElement graphicStrokeElem = strokeElem.firstChildElement( "GraphicStroke" );
if ( graphicStrokeElem.isNull() )
return NULL;
// retrieve vendor options
bool rotateMarker = true;
Placement placement = Interval;
QgsStringMap vendorOptions = QgsSymbolLayerV2Utils::getVendorOptionList( element );
for ( QgsStringMap::iterator it = vendorOptions.begin(); it != vendorOptions.end(); ++it )
{
if ( it.key() == "placement" )
{
if ( it.value() == "points" ) placement = Vertex;
else if ( it.value() == "firstPoint" ) placement = FirstVertex;
else if ( it.value() == "lastPoint" ) placement = LastVertex;
else if ( it.value() == "centralPoint" ) placement = CentralPoint;
}
else if ( it.value() == "rotateMarker" )
{
rotateMarker = it.value() == "0";
}
}
QgsMarkerSymbolV2 *marker = 0;
QgsSymbolLayerV2 *l = QgsSymbolLayerV2Utils::createMarkerLayerFromSld( graphicStrokeElem );
if ( l )
{
QgsSymbolLayerV2List layers;
layers.append( l );
marker = new QgsMarkerSymbolV2( layers );
}
if ( !marker )
return NULL;
double interval = 0.0;
QDomElement gapElem = graphicStrokeElem.firstChildElement( "Gap" );
if ( !gapElem.isNull() )
{
bool ok;
double d = gapElem.firstChild().nodeValue().toDouble( &ok );
if ( ok )
interval = d;
}
double offset = 0.0;
QDomElement perpOffsetElem = graphicStrokeElem.firstChildElement( "PerpendicularOffset" );
if ( !perpOffsetElem.isNull() )
{
bool ok;
double d = perpOffsetElem.firstChild().nodeValue().toDouble( &ok );
if ( ok )
offset = d;
}
QgsMarkerLineSymbolLayerV2* x = new QgsMarkerLineSymbolLayerV2( rotateMarker );
x->setPlacement( placement );
x->setInterval( interval );
x->setSubSymbol( marker );
x->setOffset( offset );
return x;
}