void QgsSymbolV2SelectorDialog::setLineWidth( double width ) { QgsLineSymbolV2* lineSymbol = static_cast<QgsLineSymbolV2*>( mSymbol ); if ( lineSymbol->width() == width ) return; lineSymbol->setWidth( width ); updateSymbolPreview(); emit symbolModified(); }
void QgsSymbolV2SelectorDialog::updateSymbolInfo() { updateSymbolColor(); if ( mSymbol->type() == QgsSymbolV2::Marker ) { QgsMarkerSymbolV2* markerSymbol = static_cast<QgsMarkerSymbolV2*>( mSymbol ); spinSize->setValue( markerSymbol->size() ); spinAngle->setValue( markerSymbol->angle() ); } else if ( mSymbol->type() == QgsSymbolV2::Line ) { QgsLineSymbolV2* lineSymbol = static_cast<QgsLineSymbolV2*>( mSymbol ); spinWidth->setValue( lineSymbol->width() ); } }
void QgsFeatureRendererV2::convertSymbolSizeScale( QgsSymbolV2 * symbol, QgsSymbolV2::ScaleMethod method, const QString & field ) { if ( symbol->type() == QgsSymbolV2::Marker ) { QgsMarkerSymbolV2 * s = static_cast<QgsMarkerSymbolV2 *>( symbol ); if ( QgsSymbolV2::ScaleArea == QgsSymbolV2::ScaleMethod( method ) ) { const QgsDataDefined dd( "coalesce(sqrt(" + QString::number( s->size() ) + " * (" + field + ")),0)" ); s->setDataDefinedSize( dd ); } else { const QgsDataDefined dd( "coalesce(" + QString::number( s->size() ) + " * (" + field + "),0)" ); s->setDataDefinedSize( dd ); } s->setScaleMethod( QgsSymbolV2::ScaleDiameter ); } else if ( symbol->type() == QgsSymbolV2::Line ) { QgsLineSymbolV2 * s = static_cast<QgsLineSymbolV2 *>( symbol ); const QgsDataDefined dd( "coalesce(" + QString::number( s->width() ) + " * (" + field + "),0)" ); s->setDataDefinedWidth( dd ); } }
void QgsRendererV2Widget::changeSymbolWidth() { QList<QgsSymbolV2*> symbolList = selectedSymbols(); if ( symbolList.size() < 1 ) { return; } bool ok; QgsLineSymbolV2* line = dynamic_cast<QgsLineSymbolV2*>( symbolList.at( 0 ) ) ; double width = QInputDialog::getDouble( this, tr( "Width" ), tr( "Change symbol width" ), line ? line->width() : 0.0 , 0.0, 999999, 1, &ok ); if ( ok ) { QList<QgsSymbolV2*>::iterator symbolIt = symbolList.begin(); for ( ; symbolIt != symbolList.end(); ++symbolIt ) { line = dynamic_cast<QgsLineSymbolV2*>( *symbolIt ); if ( line ) line->setWidth( width ); } refreshSymbolView(); } }