本文整理汇总了C++中QgsSimpleLineSymbolLayerV2类的典型用法代码示例。如果您正苦于以下问题:C++ QgsSimpleLineSymbolLayerV2类的具体用法?C++ QgsSimpleLineSymbolLayerV2怎么用?C++ QgsSimpleLineSymbolLayerV2使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QgsSimpleLineSymbolLayerV2类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QgsSimpleLineSymbolLayerV2
QgsSymbolLayerV2* QgsSimpleLineSymbolLayerV2::clone() const
{
QgsSimpleLineSymbolLayerV2* l = new QgsSimpleLineSymbolLayerV2( mColor, mWidth, mPenStyle );
l->setWidthUnit( mWidthUnit );
l->setOffsetUnit( mOffsetUnit );
l->setCustomDashPatternUnit( mCustomDashPatternUnit );
l->setOffset( mOffset );
l->setPenJoinStyle( mPenJoinStyle );
l->setPenCapStyle( mPenCapStyle );
l->setUseCustomDashPattern( mUseCustomDashPattern );
l->setCustomDashVector( mCustomDashVector );
l->setDrawInsidePolygon( mDrawInsidePolygon );
copyDataDefinedProperties( l );
return l;
}
示例2:
void QgsSimpleLineSymbolLayerV2Widget::updatePatternIcon()
{
if ( !mLayer )
{
return;
}
QgsSimpleLineSymbolLayerV2* layerCopy = dynamic_cast<QgsSimpleLineSymbolLayerV2*>( mLayer->clone() );
if ( !layerCopy )
{
return;
}
layerCopy->setUseCustomDashPattern( true );
QIcon buttonIcon = QgsSymbolLayerV2Utils::symbolLayerPreviewIcon( layerCopy, QgsSymbolV2::MM, mChangePatternButton->iconSize() );
mChangePatternButton->setIcon( buttonIcon );
delete layerCopy;
}
示例3: QgsSimpleLineSymbolLayerV2
QgsSymbolLayerV2* QgsSimpleLineSymbolLayerV2::create( const QgsStringMap& props )
{
QColor color = DEFAULT_SIMPLELINE_COLOR;
double width = DEFAULT_SIMPLELINE_WIDTH;
Qt::PenStyle penStyle = DEFAULT_SIMPLELINE_PENSTYLE;
if ( props.contains( "color" ) )
color = QgsSymbolLayerV2Utils::decodeColor( props["color"] );
if ( props.contains( "width" ) )
width = props["width"].toDouble();
if ( props.contains( "penstyle" ) )
penStyle = QgsSymbolLayerV2Utils::decodePenStyle( props["penstyle"] );
QgsSimpleLineSymbolLayerV2* l = new QgsSimpleLineSymbolLayerV2( color, width, penStyle );
if ( props.contains( "offset" ) )
l->setOffset( props["offset"].toDouble() );
if ( props.contains( "joinstyle" ) )
l->setPenJoinStyle( QgsSymbolLayerV2Utils::decodePenJoinStyle( props["joinstyle"] ) );
if ( props.contains( "capstyle" ) )
l->setPenCapStyle( QgsSymbolLayerV2Utils::decodePenCapStyle( props["capstyle"] ) );
if ( props.contains( "use_custom_dash" ) )
{
l->setUseCustomDashPattern( props["use_custom_dash"].toInt() );
}
if ( props.contains( "customdash" ) )
{
l->setCustomDashVector( QgsSymbolLayerV2Utils::decodeRealVector( props["customdash"] ) );
}
return l;
}
示例4: QgsDebugMsg
QgsSymbolLayerV2* QgsSimpleLineSymbolLayerV2::createFromSld( QDomElement &element )
{
QgsDebugMsg( "Entered." );
QDomElement strokeElem = element.firstChildElement( "Stroke" );
if ( strokeElem.isNull() )
return NULL;
Qt::PenStyle penStyle;
QColor color;
double width;
Qt::PenJoinStyle penJoinStyle;
Qt::PenCapStyle penCapStyle;
QVector<qreal> customDashVector;
if ( !QgsSymbolLayerV2Utils::lineFromSld( strokeElem, penStyle,
color, width,
&penJoinStyle, &penCapStyle,
&customDashVector ) )
return NULL;
double offset = 0.0;
QDomElement perpOffsetElem = element.firstChildElement( "PerpendicularOffset" );
if ( !perpOffsetElem.isNull() )
{
bool ok;
double d = perpOffsetElem.firstChild().nodeValue().toDouble( &ok );
if ( ok )
offset = d;
}
QgsSimpleLineSymbolLayerV2* l = new QgsSimpleLineSymbolLayerV2( color, width, penStyle );
l->setOffset( offset );
l->setPenJoinStyle( penJoinStyle );
l->setPenCapStyle( penCapStyle );
l->setUseCustomDashPattern( penStyle == Qt::CustomDashLine );
l->setCustomDashVector( customDashVector );
return l;
}
示例5: if
QgsSymbolLayerV2* QgsSimpleLineSymbolLayerV2::create( const QgsStringMap& props )
{
QColor color = DEFAULT_SIMPLELINE_COLOR;
double width = DEFAULT_SIMPLELINE_WIDTH;
Qt::PenStyle penStyle = DEFAULT_SIMPLELINE_PENSTYLE;
if ( props.contains( "line_color" ) )
{
color = QgsSymbolLayerV2Utils::decodeColor( props["line_color"] );
}
else if ( props.contains( "outline_color" ) )
{
color = QgsSymbolLayerV2Utils::decodeColor( props["outline_color"] );
}
else if ( props.contains( "color" ) )
{
//pre 2.5 projects used "color"
color = QgsSymbolLayerV2Utils::decodeColor( props["color"] );
}
if ( props.contains( "line_width" ) )
{
width = props["line_width"].toDouble();
}
else if ( props.contains( "outline_width" ) )
{
width = props["outline_width"].toDouble();
}
else if ( props.contains( "width" ) )
{
//pre 2.5 projects used "width"
width = props["width"].toDouble();
}
if ( props.contains( "line_style" ) )
{
penStyle = QgsSymbolLayerV2Utils::decodePenStyle( props["line_style"] );
}
else if ( props.contains( "outline_style" ) )
{
penStyle = QgsSymbolLayerV2Utils::decodePenStyle( props["outline_style"] );
}
else if ( props.contains( "penstyle" ) )
{
penStyle = QgsSymbolLayerV2Utils::decodePenStyle( props["penstyle"] );
}
QgsSimpleLineSymbolLayerV2* l = new QgsSimpleLineSymbolLayerV2( color, width, penStyle );
if ( props.contains( "line_width_unit" ) )
{
l->setWidthUnit( QgsSymbolLayerV2Utils::decodeOutputUnit( props["line_width_unit"] ) );
}
else if ( props.contains( "outline_width_unit" ) )
{
l->setWidthUnit( QgsSymbolLayerV2Utils::decodeOutputUnit( props["outline_width_unit"] ) );
}
else if ( props.contains( "width_unit" ) )
{
//pre 2.5 projects used "width_unit"
l->setWidthUnit( QgsSymbolLayerV2Utils::decodeOutputUnit( props["width_unit"] ) );
}
if ( props.contains( "offset" ) )
l->setOffset( props["offset"].toDouble() );
if ( props.contains( "offset_unit" ) )
l->setOffsetUnit( QgsSymbolLayerV2Utils::decodeOutputUnit( props["offset_unit"] ) );
if ( props.contains( "offset_map_unit_scale" ) )
l->setOffsetMapUnitScale( QgsSymbolLayerV2Utils::decodeMapUnitScale( props["offset_map_unit_scale"] ) );
if ( props.contains( "joinstyle" ) )
l->setPenJoinStyle( QgsSymbolLayerV2Utils::decodePenJoinStyle( props["joinstyle"] ) );
if ( props.contains( "capstyle" ) )
l->setPenCapStyle( QgsSymbolLayerV2Utils::decodePenCapStyle( props["capstyle"] ) );
if ( props.contains( "use_custom_dash" ) )
{
l->setUseCustomDashPattern( props["use_custom_dash"].toInt() );
}
if ( props.contains( "customdash" ) )
{
l->setCustomDashVector( QgsSymbolLayerV2Utils::decodeRealVector( props["customdash"] ) );
}
if ( props.contains( "customdash_unit" ) )
{
l->setCustomDashPatternUnit( QgsSymbolLayerV2Utils::decodeOutputUnit( props["customdash_unit"] ) );
}
if ( props.contains( "customdash_map_unit_scale" ) )
{
l->setCustomDashPatternMapUnitScale( QgsSymbolLayerV2Utils::decodeMapUnitScale( props["customdash_map_unit_scale"] ) );
}
if ( props.contains( "draw_inside_polygon" ) )
{
l->setDrawInsidePolygon( props["draw_inside_polygon"].toInt() );
}
//data defined properties
if ( props.contains( "color_expression" ) )
l->setDataDefinedProperty( "color", props["color_expression"] );
if ( props.contains( "width_expression" ) )
l->setDataDefinedProperty( "width", props["width_expression"] );
if ( props.contains( "offset_expression" ) )
l->setDataDefinedProperty( "offset", props["offset_expression"] );
if ( props.contains( "customdash_expression" ) )
//.........这里部分代码省略.........
示例6: QgsSimpleLineSymbolLayerV2
QgsSymbolLayerV2* QgsSimpleLineSymbolLayerV2::clone() const
{
QgsSimpleLineSymbolLayerV2* l = new QgsSimpleLineSymbolLayerV2( mColor, mWidth, mPenStyle );
l->setWidthUnit( mWidthUnit );
l->setOffsetUnit( mOffsetUnit );
l->setCustomDashPatternUnit( mCustomDashPatternUnit );
l->setOffset( mOffset );
l->setPenJoinStyle( mPenJoinStyle );
l->setPenCapStyle( mPenCapStyle );
l->setUseCustomDashPattern( mUseCustomDashPattern );
l->setCustomDashVector( mCustomDashVector );
//data defined properties
if ( mStrokeColorExpression )
l->setDataDefinedProperty( "color", mStrokeColorExpression->dump() );
if ( mStrokeWidthExpression )
l->setDataDefinedProperty( "width", mStrokeWidthExpression->dump() );
if ( mLineOffsetExpression )
l->setDataDefinedProperty( "offset", mLineOffsetExpression->dump() );
if ( mDashPatternExpression )
l->setDataDefinedProperty( "customdash", mDashPatternExpression->dump() );
if ( mJoinStyleExpression )
l->setDataDefinedProperty( "joinstyle", mJoinStyleExpression->dump() );
if ( mCapStyleExpression )
l->setDataDefinedProperty( "capstyle", mCapStyleExpression->dump() );
return l;
}
示例7: switch
QgsSymbol* QgsSymbologyV2Conversion::symbolV2toV1( QgsSymbolV2* s )
{
if ( s == NULL || s->symbolLayerCount() == 0 )
return NULL;
// we will use only the first symbol layer
QgsSymbolLayerV2* sl = s->symbolLayer( 0 );
switch ( sl->type() )
{
case QgsSymbolV2::Marker:
{
QgsMarkerSymbolLayerV2* msl = static_cast<QgsMarkerSymbolLayerV2*>( sl );
QgsSymbol* sOld = new QgsSymbol( QGis::Point );
sOld->setFillColor( sl->color() );
sOld->setFillStyle( Qt::SolidPattern );
sOld->setPointSize( msl->size() );
if ( sl->layerType() == "SimpleMarker" )
{
QgsSimpleMarkerSymbolLayerV2* smsl = static_cast<QgsSimpleMarkerSymbolLayerV2*>( sl );
sOld->setColor( smsl->borderColor() );
sOld->setNamedPointSymbol( "hard:" + smsl->name() );
}
else if ( sl->layerType() == "SvgMarker" )
{
QgsSvgMarkerSymbolLayerV2* smsl = static_cast<QgsSvgMarkerSymbolLayerV2*>( sl );
sOld->setNamedPointSymbol( "svg:" + smsl->path() );
}
return sOld;
}
break;
case QgsSymbolV2::Line:
{
QgsLineSymbolLayerV2* lsl = static_cast<QgsLineSymbolLayerV2*>( sl );
QgsSymbol* sOld = new QgsSymbol( QGis::Line );
sOld->setColor( sl->color() );
sOld->setLineWidth( lsl->width() );
if ( sl->layerType() == "SimpleLine" )
{
// add specific settings
QgsSimpleLineSymbolLayerV2* slsl = static_cast<QgsSimpleLineSymbolLayerV2*>( sl );
sOld->setLineStyle( slsl->penStyle() );
}
return sOld;
}
case QgsSymbolV2::Fill:
{
QgsSymbol* sOld = new QgsSymbol( QGis::Polygon );
sOld->setFillColor( sl->color() );
if ( sl->layerType() == "SimpleFill" )
{
// add specifc settings
QgsSimpleFillSymbolLayerV2* sfsl = static_cast<QgsSimpleFillSymbolLayerV2*>( sl );
sOld->setColor( sfsl->borderColor() );
sOld->setLineWidth( sfsl->borderWidth() );
sOld->setLineStyle( sfsl->borderStyle() );
sOld->setFillStyle( sfsl->brushStyle() );
}
return sOld;
}
}
return NULL; // should never get here
}