42 #include <QAbstractButton> 43 #include <QColorDialog> 46 #include <QFileDialog> 49 #include <QStandardItemModel> 50 #include <QSvgRenderer> 51 #include <QMessageBox> 80 if (
const QgsSymbolLayerV2* symbolLayer = const_cast< QgsSymbolLayerV2Widget* >( widget )->symbolLayer() )
86 expContext << symbolScope;
124 button->
setProperty(
"propertyName", propertyName );
150 if ( entryName ==
"size" )
152 label =
tr(
"Size" );
159 label +=
" (" +
tr(
"area" ) +
')';
162 label +=
" (" +
tr(
"diameter" ) +
')';
180 btnChangeColor->setAllowAlpha(
true );
181 btnChangeColor->setColorDialogTitle(
tr(
"Select line color" ) );
182 btnChangeColor->setContext(
"symbology" );
184 spinOffset->setClearValue( 0.0 );
189 mDrawInsideCheckBox->hide();
208 connect(
this, SIGNAL(
changed() ),
this, SLOT( updateAssistantSymbol() ) );
213 delete mAssistantPreviewSymbol;
216 void QgsSimpleLineSymbolLayerV2Widget::updateAssistantSymbol()
218 for (
int i = mAssistantPreviewSymbol->
symbolLayerCount() - 1 ; i >= 0; --i )
231 if ( !layer || layer->
layerType() !=
"SimpleLine" )
238 mPenWidthUnitWidget->blockSignals(
true );
241 mPenWidthUnitWidget->blockSignals(
false );
242 mOffsetUnitWidget->blockSignals(
true );
245 mOffsetUnitWidget->blockSignals(
false );
246 mDashPatternUnitWidget->blockSignals(
true );
250 mDashPatternUnitWidget->blockSignals(
false );
253 spinWidth->blockSignals(
true );
255 spinWidth->blockSignals(
false );
256 btnChangeColor->blockSignals(
true );
258 btnChangeColor->blockSignals(
false );
259 spinOffset->blockSignals(
true );
261 spinOffset->blockSignals(
false );
262 cboPenStyle->blockSignals(
true );
263 cboJoinStyle->blockSignals(
true );
264 cboCapStyle->blockSignals(
true );
268 cboPenStyle->blockSignals(
false );
269 cboJoinStyle->blockSignals(
false );
270 cboCapStyle->blockSignals(
false );
274 mChangePatternButton->setEnabled( useCustomDashPattern );
275 label_3->setEnabled( !useCustomDashPattern );
276 cboPenStyle->setEnabled( !useCustomDashPattern );
277 mCustomCheckBox->blockSignals(
true );
278 mCustomCheckBox->setCheckState( useCustomDashPattern ? Qt::Checked : Qt::Unchecked );
279 mCustomCheckBox->blockSignals(
false );
283 mDrawInsideCheckBox->blockSignals(
true );
284 mDrawInsideCheckBox->setCheckState( drawInsidePolygon ? Qt::Checked : Qt::Unchecked );
285 mDrawInsideCheckBox->blockSignals(
false );
297 updateAssistantSymbol();
336 bool checked = ( state == Qt::Checked );
337 mChangePatternButton->setEnabled( checked );
338 label_3->setEnabled( !checked );
339 cboPenStyle->setEnabled( !checked );
348 if ( d.exec() == QDialog::Accepted )
388 bool checked = ( state == Qt::Checked );
407 mChangePatternButton->setIcon( buttonIcon );
425 btnChangeColorFill->setAllowAlpha(
true );
426 btnChangeColorFill->setColorDialogTitle(
tr(
"Select fill color" ) );
427 btnChangeColorFill->setContext(
"symbology" );
428 btnChangeColorFill->setShowNoColor(
true );
429 btnChangeColorFill->setNoColorString(
tr(
"Transparent fill" ) );
430 btnChangeColorBorder->setAllowAlpha(
true );
431 btnChangeColorBorder->setColorDialogTitle(
tr(
"Select border color" ) );
432 btnChangeColorBorder->setContext(
"symbology" );
433 btnChangeColorBorder->setShowNoColor(
true );
434 btnChangeColorBorder->setNoColorString(
tr(
"Transparent border" ) );
436 spinOffsetX->setClearValue( 0.0 );
437 spinOffsetY->setClearValue( 0.0 );
454 item->
setData( Qt::UserRole, static_cast< int >( shape ) );
459 connect( lstNames, SIGNAL( currentRowChanged(
int ) ),
this, SLOT(
setName() ) );
462 connect( cboJoinStyle, SIGNAL( currentIndexChanged(
int ) ),
this, SLOT( penJoinStyleChanged() ) );
463 connect( spinSize, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setSize() ) );
464 connect( spinAngle, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setAngle() ) );
465 connect( spinOffsetX, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setOffset() ) );
466 connect( spinOffsetY, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setOffset() ) );
467 connect(
this, SIGNAL(
changed() ),
this, SLOT( updateAssistantSymbol() ) );
472 delete mAssistantPreviewSymbol;
477 if ( layer->
layerType() !=
"SimpleMarker" )
485 for (
int i = 0; i < lstNames->count(); ++i )
487 if ( static_cast< QgsSimpleMarkerSymbolLayerBase::Shape >( lstNames->item( i )->data( Qt::UserRole ).toInt() ) == shape )
489 lstNames->setCurrentRow( i );
493 btnChangeColorBorder->blockSignals(
true );
495 btnChangeColorBorder->blockSignals(
false );
496 btnChangeColorFill->blockSignals(
true );
499 btnChangeColorFill->blockSignals(
false );
500 spinSize->blockSignals(
true );
502 spinSize->blockSignals(
false );
503 spinAngle->blockSignals(
true );
505 spinAngle->blockSignals(
false );
506 mOutlineStyleComboBox->blockSignals(
true );
508 mOutlineStyleComboBox->blockSignals(
false );
509 mOutlineWidthSpinBox->blockSignals(
true );
511 mOutlineWidthSpinBox->blockSignals(
false );
512 cboJoinStyle->blockSignals(
true );
514 cboJoinStyle->blockSignals(
false );
517 spinOffsetX->blockSignals(
true );
519 spinOffsetX->blockSignals(
false );
520 spinOffsetY->blockSignals(
true );
522 spinOffsetY->blockSignals(
false );
524 mSizeUnitWidget->blockSignals(
true );
527 mSizeUnitWidget->blockSignals(
false );
528 mOffsetUnitWidget->blockSignals(
true );
531 mOffsetUnitWidget->blockSignals(
false );
532 mOutlineWidthUnitWidget->blockSignals(
true );
535 mOutlineWidthUnitWidget->blockSignals(
false );
538 mHorizontalAnchorComboBox->blockSignals(
true );
539 mVerticalAnchorComboBox->blockSignals(
true );
542 mHorizontalAnchorComboBox->blockSignals(
false );
543 mVerticalAnchorComboBox->blockSignals(
false );
546 "<b>pentagon</b>|<b>hexagon</b>|<b>triangle</b>|<b>equilateral_triangle</b>|" 547 "<b>star</b>|<b>arrow</b>|<b>filled_arrowhead</b>|" 548 "<b>circle</b>|<b>cross</b>|<b>cross_fill</b>|<b>x</b>|" 549 "<b>line</b>|<b>arrowhead</b>|<b>cross2</b>|<b>semi_circle</b>|<b>third_circle</b>|<b>quarter_circle</b>|" 550 "<b>quarter_square</b>|<b>half_square</b>|<b>diagonal_half_square</b>|<b>right_half_triangle</b>|<b>left_half_triangle</b>]" ) );
562 updateAssistantSymbol();
572 mLayer->
setShape( static_cast< QgsSimpleMarkerSymbolLayerBase::Shape>( lstNames->currentItem()->data( Qt::UserRole ).toInt() ) );
589 void QgsSimpleMarkerSymbolLayerV2Widget::penJoinStyleChanged()
681 void QgsSimpleMarkerSymbolLayerV2Widget::updateAssistantSymbol()
683 for (
int i = mAssistantPreviewSymbol->
symbolLayerCount() - 1 ; i >= 0; --i )
705 btnChangeColor->setAllowAlpha(
true );
706 btnChangeColor->setColorDialogTitle(
tr(
"Select fill color" ) );
707 btnChangeColor->setContext(
"symbology" );
708 btnChangeColor->setShowNoColor(
true );
709 btnChangeColor->setNoColorString(
tr(
"Transparent fill" ) );
710 btnChangeBorderColor->setAllowAlpha(
true );
711 btnChangeBorderColor->setColorDialogTitle(
tr(
"Select border color" ) );
712 btnChangeBorderColor->setContext(
"symbology" );
713 btnChangeBorderColor->setShowNoColor(
true );
714 btnChangeBorderColor->setNoColorString(
tr(
"Transparent border" ) );
716 spinOffsetX->setClearValue( 0.0 );
717 spinOffsetY->setClearValue( 0.0 );
731 if ( layer->
layerType() !=
"SimpleFill" )
738 btnChangeColor->blockSignals(
true );
740 btnChangeColor->blockSignals(
false );
741 cboFillStyle->blockSignals(
true );
743 cboFillStyle->blockSignals(
false );
744 btnChangeBorderColor->blockSignals(
true );
746 btnChangeBorderColor->blockSignals(
false );
747 cboBorderStyle->blockSignals(
true );
749 cboBorderStyle->blockSignals(
false );
750 spinBorderWidth->blockSignals(
true );
752 spinBorderWidth->blockSignals(
false );
753 cboJoinStyle->blockSignals(
true );
755 cboJoinStyle->blockSignals(
false );
756 spinOffsetX->blockSignals(
true );
758 spinOffsetX->blockSignals(
false );
759 spinOffsetY->blockSignals(
true );
761 spinOffsetY->blockSignals(
false );
763 mBorderWidthUnitWidget->blockSignals(
true );
766 mBorderWidthUnitWidget->blockSignals(
false );
767 mOffsetUnitWidget->blockSignals(
true );
770 mOffsetUnitWidget->blockSignals(
false );
854 spinOffsetX->setClearValue( 0.0 );
855 spinOffsetY->setClearValue( 0.0 );
875 item->
setData( Qt::UserRole, static_cast< int >( shape ) );
880 connect( lstNames, SIGNAL( currentRowChanged(
int ) ),
this, SLOT( setShape() ) );
881 connect( spinSize, SIGNAL( valueChanged(
double ) ),
this, SLOT( setSize() ) );
882 connect( spinAngle, SIGNAL( valueChanged(
double ) ),
this, SLOT( setAngle() ) );
883 connect( spinOffsetX, SIGNAL( valueChanged(
double ) ),
this, SLOT( setOffset() ) );
884 connect( spinOffsetY, SIGNAL( valueChanged(
double ) ),
this, SLOT( setOffset() ) );
885 connect(
this, SIGNAL(
changed() ),
this, SLOT( updateAssistantSymbol() ) );
890 delete mAssistantPreviewSymbol;
895 if ( layer->
layerType() !=
"FilledMarker" )
903 for (
int i = 0; i < lstNames->count(); ++i )
905 if ( static_cast< QgsSimpleMarkerSymbolLayerBase::Shape >( lstNames->item( i )->data( Qt::UserRole ).toInt() ) == shape )
907 lstNames->setCurrentRow( i );
916 mSizeUnitWidget->blockSignals(
true );
919 mSizeUnitWidget->blockSignals(
false );
920 mOffsetUnitWidget->blockSignals(
true );
923 mOffsetUnitWidget->blockSignals(
false );
930 "<b>pentagon</b>|<b>hexagon</b>|<b>triangle</b>|<b>equilateral_triangle</b>|" 931 "<b>star</b>|<b>arrow</b>|<b>filled_arrowhead</b>|" 932 "<b>circle</b>|<b>cross</b>|<b>cross_fill</b>|<b>x</b>|" 933 "<b>line</b>|<b>arrowhead</b>|<b>cross2</b>|<b>semi_circle</b>|<b>third_circle</b>|<b>quarter_circle</b>|" 934 "<b>quarter_square</b>|<b>half_square</b>|<b>diagonal_half_square</b>|<b>right_half_triangle</b>|<b>left_half_triangle</b>]" ) );
941 updateAssistantSymbol();
949 void QgsFilledMarkerSymbolLayerWidget::setShape()
951 mLayer->
setShape( static_cast< QgsSimpleMarkerSymbolLayerBase::Shape>( lstNames->currentItem()->data( Qt::UserRole ).toInt() ) );
955 void QgsFilledMarkerSymbolLayerWidget::setSize()
961 void QgsFilledMarkerSymbolLayerWidget::setAngle()
967 void QgsFilledMarkerSymbolLayerWidget::setOffset()
973 void QgsFilledMarkerSymbolLayerWidget::on_mSizeUnitWidget_changed()
983 void QgsFilledMarkerSymbolLayerWidget::on_mOffsetUnitWidget_changed()
993 void QgsFilledMarkerSymbolLayerWidget::on_mHorizontalAnchorComboBox_currentIndexChanged(
int index )
1002 void QgsFilledMarkerSymbolLayerWidget::on_mVerticalAnchorComboBox_currentIndexChanged(
int index )
1011 void QgsFilledMarkerSymbolLayerWidget::updateAssistantSymbol()
1013 for (
int i = mAssistantPreviewSymbol->
symbolLayerCount() - 1 ; i >= 0; --i )
1034 cboGradientColorRamp->setShowGradientOnly(
true );
1037 btnChangeColor->setAllowAlpha(
true );
1038 btnChangeColor->setColorDialogTitle(
tr(
"Select gradient color" ) );
1039 btnChangeColor->setContext(
"symbology" );
1040 btnChangeColor->setShowNoColor(
true );
1041 btnChangeColor->setNoColorString(
tr(
"Transparent" ) );
1042 btnChangeColor2->setAllowAlpha(
true );
1043 btnChangeColor2->setColorDialogTitle(
tr(
"Select gradient color" ) );
1044 btnChangeColor2->setContext(
"symbology" );
1045 btnChangeColor2->setShowNoColor(
true );
1046 btnChangeColor2->setNoColorString(
tr(
"Transparent" ) );
1048 spinOffsetX->setClearValue( 0.0 );
1049 spinOffsetY->setClearValue( 0.0 );
1053 connect( cboGradientColorRamp, SIGNAL( currentIndexChanged(
int ) ),
this, SLOT(
applyColorRamp() ) );
1055 connect( mButtonEditRamp, SIGNAL( clicked() ), cboGradientColorRamp, SLOT( editSourceRamp() ) );
1072 if ( layer->
layerType() !=
"GradientFill" )
1079 btnChangeColor->blockSignals(
true );
1081 btnChangeColor->blockSignals(
false );
1082 btnChangeColor2->blockSignals(
true );
1084 btnChangeColor2->blockSignals(
false );
1088 radioTwoColor->setChecked(
true );
1089 cboGradientColorRamp->setEnabled(
false );
1093 radioColorRamp->setChecked(
true );
1094 btnChangeColor->setEnabled(
false );
1095 btnChangeColor2->setEnabled(
false );
1101 cboGradientColorRamp->blockSignals(
true );
1103 cboGradientColorRamp->blockSignals(
false );
1106 cboGradientType->blockSignals(
true );
1110 cboGradientType->setCurrentIndex( 0 );
1113 cboGradientType->setCurrentIndex( 1 );
1116 cboGradientType->setCurrentIndex( 2 );
1119 cboGradientType->blockSignals(
false );
1121 cboCoordinateMode->blockSignals(
true );
1125 cboCoordinateMode->setCurrentIndex( 1 );
1126 checkRefPoint1Centroid->setEnabled(
false );
1127 checkRefPoint2Centroid->setEnabled(
false );
1131 cboCoordinateMode->setCurrentIndex( 0 );
1134 cboCoordinateMode->blockSignals(
false );
1136 cboGradientSpread->blockSignals(
true );
1140 cboGradientSpread->setCurrentIndex( 0 );
1143 cboGradientSpread->setCurrentIndex( 1 );
1146 cboGradientSpread->setCurrentIndex( 2 );
1149 cboGradientSpread->blockSignals(
false );
1151 spinRefPoint1X->blockSignals(
true );
1153 spinRefPoint1X->blockSignals(
false );
1154 spinRefPoint1Y->blockSignals(
true );
1156 spinRefPoint1Y->blockSignals(
false );
1157 checkRefPoint1Centroid->blockSignals(
true );
1161 spinRefPoint1X->setEnabled(
false );
1162 spinRefPoint1Y->setEnabled(
false );
1164 checkRefPoint1Centroid->blockSignals(
false );
1165 spinRefPoint2X->blockSignals(
true );
1167 spinRefPoint2X->blockSignals(
false );
1168 spinRefPoint2Y->blockSignals(
true );
1170 spinRefPoint2Y->blockSignals(
false );
1171 checkRefPoint2Centroid->blockSignals(
true );
1175 spinRefPoint2X->setEnabled(
false );
1176 spinRefPoint2Y->setEnabled(
false );
1178 checkRefPoint2Centroid->blockSignals(
false );
1180 spinOffsetX->blockSignals(
true );
1182 spinOffsetX->blockSignals(
false );
1183 spinOffsetY->blockSignals(
true );
1185 spinOffsetY->blockSignals(
false );
1186 mSpinAngle->blockSignals(
true );
1188 mSpinAngle->blockSignals(
false );
1190 mOffsetUnitWidget->blockSignals(
true );
1193 mOffsetUnitWidget->blockSignals(
false );
1228 if ( radioTwoColor->isChecked() )
1256 spinRefPoint1X->setValue( 0.5 );
1257 spinRefPoint1Y->setValue( 0 );
1258 spinRefPoint2X->setValue( 0.5 );
1259 spinRefPoint2Y->setValue( 1 );
1264 spinRefPoint1X->setValue( 0 );
1265 spinRefPoint1Y->setValue( 0 );
1266 spinRefPoint2X->setValue( 1 );
1267 spinRefPoint2Y->setValue( 1 );
1271 spinRefPoint1X->setValue( 0.5 );
1272 spinRefPoint1Y->setValue( 0.5 );
1273 spinRefPoint2X->setValue( 1 );
1274 spinRefPoint2Y->setValue( 1 );
1289 checkRefPoint1Centroid->setEnabled(
true );
1290 checkRefPoint2Centroid->setEnabled(
true );
1296 checkRefPoint1Centroid->setChecked( Qt::Unchecked );
1297 checkRefPoint1Centroid->setEnabled(
false );
1298 checkRefPoint2Centroid->setChecked( Qt::Unchecked );
1299 checkRefPoint2Centroid->setEnabled(
false );
1370 group2->
addButton( mRadioUseMaxDistance );
1371 group2->
addButton( mRadioUseWholeShape );
1372 btnChangeColor->setAllowAlpha(
true );
1373 btnChangeColor->setColorDialogTitle(
tr(
"Select gradient color" ) );
1374 btnChangeColor->setContext(
"symbology" );
1375 btnChangeColor->setShowNoColor(
true );
1376 btnChangeColor->setNoColorString(
tr(
"Transparent" ) );
1377 btnChangeColor2->setAllowAlpha(
true );
1378 btnChangeColor2->setColorDialogTitle(
tr(
"Select gradient color" ) );
1379 btnChangeColor2->setContext(
"symbology" );
1380 btnChangeColor2->setShowNoColor(
true );
1381 btnChangeColor2->setNoColorString(
tr(
"Transparent" ) );
1383 spinOffsetX->setClearValue( 0.0 );
1384 spinOffsetY->setClearValue( 0.0 );
1388 connect( cboGradientColorRamp, SIGNAL( currentIndexChanged(
int ) ),
this, SLOT(
applyColorRamp() ) );
1390 connect( mButtonEditRamp, SIGNAL( clicked() ), cboGradientColorRamp, SLOT( editSourceRamp() ) );
1398 connect( mBlurSlider, SIGNAL( valueChanged(
int ) ), mSpinBlurRadius, SLOT( setValue(
int ) ) );
1399 connect( mSpinBlurRadius, SIGNAL( valueChanged(
int ) ), mBlurSlider, SLOT( setValue(
int ) ) );
1404 if ( layer->
layerType() !=
"ShapeburstFill" )
1411 btnChangeColor->blockSignals(
true );
1413 btnChangeColor->blockSignals(
false );
1414 btnChangeColor2->blockSignals(
true );
1416 btnChangeColor2->blockSignals(
false );
1420 radioTwoColor->setChecked(
true );
1421 cboGradientColorRamp->setEnabled(
false );
1425 radioColorRamp->setChecked(
true );
1426 btnChangeColor->setEnabled(
false );
1427 btnChangeColor2->setEnabled(
false );
1430 mSpinBlurRadius->blockSignals(
true );
1431 mBlurSlider->blockSignals(
true );
1434 mSpinBlurRadius->blockSignals(
false );
1435 mBlurSlider->blockSignals(
false );
1437 mSpinMaxDistance->blockSignals(
true );
1439 mSpinMaxDistance->blockSignals(
false );
1441 mRadioUseWholeShape->blockSignals(
true );
1442 mRadioUseMaxDistance->blockSignals(
true );
1445 mRadioUseWholeShape->setChecked(
true );
1446 mSpinMaxDistance->setEnabled(
false );
1447 mDistanceUnitWidget->setEnabled(
false );
1451 mRadioUseMaxDistance->setChecked(
true );
1452 mSpinMaxDistance->setEnabled(
true );
1453 mDistanceUnitWidget->setEnabled(
true );
1455 mRadioUseWholeShape->blockSignals(
false );
1456 mRadioUseMaxDistance->blockSignals(
false );
1458 mDistanceUnitWidget->blockSignals(
true );
1461 mDistanceUnitWidget->blockSignals(
false );
1463 mIgnoreRingsCheckBox->blockSignals(
true );
1464 mIgnoreRingsCheckBox->setCheckState(
mLayer->
ignoreRings() ? Qt::Checked : Qt::Unchecked );
1465 mIgnoreRingsCheckBox->blockSignals(
false );
1470 cboGradientColorRamp->blockSignals(
true );
1472 cboGradientColorRamp->blockSignals(
false );
1475 spinOffsetX->blockSignals(
true );
1477 spinOffsetX->blockSignals(
false );
1478 spinOffsetY->blockSignals(
true );
1480 spinOffsetY->blockSignals(
false );
1481 mOffsetUnitWidget->blockSignals(
true );
1484 mOffsetUnitWidget->blockSignals(
false );
1524 if ( radioTwoColor->isChecked() )
1568 mDistanceUnitWidget->setEnabled( !value );
1605 bool checked = ( state == Qt::Checked );
1622 spinOffset->setClearValue( 0.0 );
1624 connect( spinInterval, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setInterval(
double ) ) );
1626 connect( chkRotateMarker, SIGNAL( clicked() ),
this, SLOT(
setRotate() ) );
1627 connect( spinOffset, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setOffset() ) );
1638 if ( layer->
layerType() !=
"MarkerLine" )
1645 spinInterval->blockSignals(
true );
1647 spinInterval->blockSignals(
false );
1648 mSpinOffsetAlongLine->blockSignals(
true );
1650 mSpinOffsetAlongLine->blockSignals(
false );
1651 chkRotateMarker->blockSignals(
true );
1653 chkRotateMarker->blockSignals(
false );
1654 spinOffset->blockSignals(
true );
1656 spinOffset->blockSignals(
false );
1658 radInterval->setChecked(
true );
1660 radVertex->setChecked(
true );
1662 radVertexLast->setChecked(
true );
1664 radCentralPoint->setChecked(
true );
1666 radCurvePoint->setChecked(
true );
1668 radVertexFirst->setChecked(
true );
1671 mIntervalUnitWidget->blockSignals(
true );
1674 mIntervalUnitWidget->blockSignals(
false );
1675 mOffsetUnitWidget->blockSignals(
true );
1678 mOffsetUnitWidget->blockSignals(
false );
1679 mOffsetAlongLineUnitWidget->blockSignals(
true );
1682 mOffsetAlongLineUnitWidget->blockSignals(
false );
1723 bool interval = radInterval->isChecked();
1724 spinInterval->setEnabled( interval );
1725 mSpinOffsetAlongLine->setEnabled( radInterval->isChecked() || radVertexLast->isChecked() || radVertexFirst->isChecked() );
1727 if ( radInterval->isChecked() )
1729 else if ( radVertex->isChecked() )
1731 else if ( radVertexLast->isChecked() )
1733 else if ( radVertexFirst->isChecked() )
1735 else if ( radCurvePoint->isChecked() )
1785 viewGroups->setHeaderHidden(
true );
1786 mChangeColorButton->setAllowAlpha(
true );
1787 mChangeColorButton->setColorDialogTitle(
tr(
"Select fill color" ) );
1788 mChangeColorButton->setContext(
"symbology" );
1789 mChangeBorderColorButton->setAllowAlpha(
true );
1790 mChangeBorderColorButton->setColorDialogTitle(
tr(
"Select border color" ) );
1791 mChangeBorderColorButton->setContext(
"symbology" );
1793 spinOffsetX->setClearValue( 0.0 );
1794 spinOffsetY->setClearValue( 0.0 );
1800 connect( spinSize, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setSize() ) );
1801 connect( spinAngle, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setAngle() ) );
1802 connect( spinOffsetX, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setOffset() ) );
1803 connect( spinOffsetY, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setOffset() ) );
1804 connect(
this, SIGNAL(
changed() ),
this, SLOT( updateAssistantSymbol() ) );
1814 delete mAssistantPreviewSymbol;
1818 #include <QAbstractListModel> 1819 #include <QPixmapCache> 1827 viewGroups->setModel( g );
1832 for (
int i = 0; i < rows; i++ )
1838 oldModel = viewImages->model();
1840 viewImages->setModel( m );
1850 viewImages->setModel( m );
1864 bool hasFillParam, hasFillOpacityParam, hasOutlineParam, hasOutlineWidthParam, hasOutlineOpacityParam;
1865 QColor defaultFill, defaultOutline;
1866 double defaultOutlineWidth, defaultFillOpacity, defaultOutlineOpacity;
1867 bool hasDefaultFillColor, hasDefaultFillOpacity, hasDefaultOutlineColor, hasDefaultOutlineWidth, hasDefaultOutlineOpacity;
1869 hasFillOpacityParam, hasDefaultFillOpacity, defaultFillOpacity,
1870 hasOutlineParam, hasDefaultOutlineColor, defaultOutline,
1871 hasOutlineWidthParam, hasDefaultOutlineWidth, defaultOutlineWidth,
1872 hasOutlineOpacityParam, hasDefaultOutlineOpacity, defaultOutlineOpacity );
1873 mChangeColorButton->setEnabled( hasFillParam );
1874 mChangeColorButton->setAllowAlpha( hasFillOpacityParam );
1875 mChangeBorderColorButton->setEnabled( hasOutlineParam );
1876 mChangeBorderColorButton->setAllowAlpha( hasOutlineOpacityParam );
1877 mBorderWidthSpinBox->setEnabled( hasOutlineWidthParam );
1882 double existingOpacity = hasFillOpacityParam ? fill.
alphaF() : 1.0;
1883 if ( hasDefaultFillColor )
1887 fill.
setAlphaF( hasDefaultFillOpacity ? defaultFillOpacity : existingOpacity );
1888 mChangeColorButton->setColor( fill );
1890 if ( hasOutlineParam )
1893 double existingOpacity = hasOutlineOpacityParam ? outline.
alphaF() : 1.0;
1894 if ( hasDefaultOutlineColor )
1896 outline = defaultOutline;
1898 outline.
setAlphaF( hasDefaultOutlineOpacity ? defaultOutlineOpacity : existingOpacity );
1899 mChangeBorderColorButton->setColor( outline );
1902 mFileLineEdit->blockSignals(
true );
1903 mFileLineEdit->setText( layer->
path() );
1904 mFileLineEdit->blockSignals(
false );
1906 mBorderWidthSpinBox->blockSignals(
true );
1907 mBorderWidthSpinBox->setValue( hasDefaultOutlineWidth ? defaultOutlineWidth : layer->
outlineWidth() );
1908 mBorderWidthSpinBox->blockSignals(
false );
1911 void QgsSvgMarkerSymbolLayerV2Widget::updateAssistantSymbol()
1913 for (
int i = mAssistantPreviewSymbol->
symbolLayerCount() - 1 ; i >= 0; --i )
1931 if ( layer->
layerType() !=
"SvgMarker" )
1941 for (
int i = 0; i < m->
rowCount(); i++ )
1946 selModel->
select( idx, QItemSelectionModel::SelectCurrent );
1953 spinSize->blockSignals(
true );
1955 spinSize->blockSignals(
false );
1956 spinAngle->blockSignals(
true );
1958 spinAngle->blockSignals(
false );
1961 spinOffsetX->blockSignals(
true );
1963 spinOffsetX->blockSignals(
false );
1964 spinOffsetY->blockSignals(
true );
1966 spinOffsetY->blockSignals(
false );
1968 mSizeUnitWidget->blockSignals(
true );
1971 mSizeUnitWidget->blockSignals(
false );
1972 mBorderWidthUnitWidget->blockSignals(
true );
1975 mBorderWidthUnitWidget->blockSignals(
false );
1976 mOffsetUnitWidget->blockSignals(
true );
1979 mOffsetUnitWidget->blockSignals(
false );
1982 mHorizontalAnchorComboBox->blockSignals(
true );
1983 mVerticalAnchorComboBox->blockSignals(
true );
1986 mHorizontalAnchorComboBox->blockSignals(
false );
1987 mVerticalAnchorComboBox->blockSignals(
false );
2001 updateAssistantSymbol();
2013 mFileLineEdit->setText( name );
2041 tr(
"Select SVG file" ),
2043 tr(
"SVG files" ) +
" (*.svg)" );
2045 if ( file.
isEmpty() || !fi.exists() )
2049 mFileLineEdit->setText( file );
2051 s.
setValue(
"/UI/lastSVGMarkerDir", fi.absolutePath() );
2069 if ( !
QFileInfo( mFileLineEdit->text() ).exists() )
2071 QUrl url( mFileLineEdit->text() );
2072 if ( !url.isValid() )
2173 mSvgTreeView->setHeaderHidden(
true );
2176 mChangeColorButton->setColorDialogTitle(
tr(
"Select fill color" ) );
2177 mChangeColorButton->setContext(
"symbology" );
2178 mChangeBorderColorButton->setColorDialogTitle(
tr(
"Select border color" ) );
2179 mChangeBorderColorButton->setContext(
"symbology" );
2201 mTextureWidthSpinBox->blockSignals(
true );
2202 mTextureWidthSpinBox->setValue( width );
2203 mTextureWidthSpinBox->blockSignals(
false );
2205 mRotationSpinBox->blockSignals(
true );
2207 mRotationSpinBox->blockSignals(
false );
2208 mTextureWidthUnitWidget->blockSignals(
true );
2211 mTextureWidthUnitWidget->blockSignals(
false );
2212 mSvgOutlineWidthUnitWidget->blockSignals(
true );
2215 mSvgOutlineWidthUnitWidget->blockSignals(
false );
2216 mChangeColorButton->blockSignals(
true );
2218 mChangeColorButton->blockSignals(
false );
2219 mChangeBorderColorButton->blockSignals(
true );
2221 mChangeBorderColorButton->blockSignals(
false );
2222 mBorderWidthSpinBox->blockSignals(
true );
2224 mBorderWidthSpinBox->blockSignals(
false );
2241 void QgsSVGFillSymbolLayerWidget::on_mBrowseToolButton_clicked()
2244 if ( !filePath.
isNull() )
2246 mSVGLineEdit->setText( filePath );
2251 void QgsSVGFillSymbolLayerWidget::on_mTextureWidthSpinBox_valueChanged(
double d )
2260 void QgsSVGFillSymbolLayerWidget::on_mSVGLineEdit_textEdited(
const QString & text )
2277 void QgsSVGFillSymbolLayerWidget::on_mSVGLineEdit_editingFinished()
2287 QUrl url( mSVGLineEdit->text() );
2288 if ( !url.isValid() )
2302 void QgsSVGFillSymbolLayerWidget::setFile(
const QModelIndex& item )
2306 mSVGLineEdit->setText( file );
2316 mSvgTreeView->setModel( g );
2321 for (
int i = 0; i < rows; i++ )
2326 oldModel = mSvgListView->model();
2328 mSvgListView->setModel( m );
2332 void QgsSVGFillSymbolLayerWidget::populateIcons(
const QModelIndex& idx )
2338 mSvgListView->setModel( m );
2345 void QgsSVGFillSymbolLayerWidget::on_mRotationSpinBox_valueChanged(
double d )
2357 bool hasFillParam, hasFillOpacityParam, hasOutlineParam, hasOutlineWidthParam, hasOutlineOpacityParam;
2358 QColor defaultFill, defaultOutline;
2359 double defaultOutlineWidth, defaultFillOpacity, defaultOutlineOpacity;
2360 bool hasDefaultFillColor, hasDefaultFillOpacity, hasDefaultOutlineColor, hasDefaultOutlineWidth, hasDefaultOutlineOpacity;
2362 hasFillOpacityParam, hasDefaultFillOpacity, defaultFillOpacity,
2363 hasOutlineParam, hasDefaultOutlineColor, defaultOutline,
2364 hasOutlineWidthParam, hasDefaultOutlineWidth, defaultOutlineWidth,
2365 hasOutlineOpacityParam, hasDefaultOutlineOpacity, defaultOutlineOpacity );
2368 QColor fill = mChangeColorButton->color();
2369 double newOpacity = hasFillOpacityParam ? fill.
alphaF() : 1.0;
2370 if ( hasDefaultFillColor )
2374 fill.
setAlphaF( hasDefaultFillOpacity ? defaultFillOpacity : newOpacity );
2375 mChangeColorButton->setColor( fill );
2377 mChangeColorButton->setEnabled( hasFillParam );
2378 mChangeColorButton->setAllowAlpha( hasFillOpacityParam );
2381 QColor outline = mChangeBorderColorButton->color();
2382 double newOpacity = hasOutlineOpacityParam ? outline.
alphaF() : 1.0;
2383 if ( hasDefaultOutlineColor )
2385 outline = defaultOutline;
2387 outline.
setAlphaF( hasDefaultOutlineOpacity ? defaultOutlineOpacity : newOpacity );
2388 mChangeBorderColorButton->setColor( outline );
2390 mChangeBorderColorButton->setEnabled( hasOutlineParam );
2391 mChangeBorderColorButton->setAllowAlpha( hasOutlineOpacityParam );
2392 if ( hasDefaultOutlineWidth && resetValues )
2394 mBorderWidthSpinBox->setValue( defaultOutlineWidth );
2396 mBorderWidthSpinBox->setEnabled( hasOutlineWidthParam );
2399 void QgsSVGFillSymbolLayerWidget::on_mChangeColorButton_colorChanged(
const QColor& color )
2410 void QgsSVGFillSymbolLayerWidget::on_mChangeBorderColorButton_colorChanged(
const QColor& color )
2421 void QgsSVGFillSymbolLayerWidget::on_mBorderWidthSpinBox_valueChanged(
double d )
2430 void QgsSVGFillSymbolLayerWidget::on_mTextureWidthUnitWidget_changed()
2440 void QgsSVGFillSymbolLayerWidget::on_mSvgOutlineWidthUnitWidget_changed()
2458 mOffsetSpinBox->setClearValue( 0 );
2463 if ( layer->
layerType() !=
"LinePatternFill" )
2472 mAngleSpinBox->blockSignals(
true );
2474 mAngleSpinBox->blockSignals(
false );
2475 mDistanceSpinBox->blockSignals(
true );
2477 mDistanceSpinBox->blockSignals(
false );
2478 mOffsetSpinBox->blockSignals(
true );
2480 mOffsetSpinBox->blockSignals(
false );
2483 mDistanceUnitWidget->blockSignals(
true );
2486 mDistanceUnitWidget->blockSignals(
false );
2487 mOffsetUnitWidget->blockSignals(
true );
2490 mOffsetUnitWidget->blockSignals(
false );
2502 void QgsLinePatternFillSymbolLayerWidget::on_mAngleSpinBox_valueChanged(
double d )
2511 void QgsLinePatternFillSymbolLayerWidget::on_mDistanceSpinBox_valueChanged(
double d )
2520 void QgsLinePatternFillSymbolLayerWidget::on_mOffsetSpinBox_valueChanged(
double d )
2529 void QgsLinePatternFillSymbolLayerWidget::on_mDistanceUnitWidget_changed()
2539 void QgsLinePatternFillSymbolLayerWidget::on_mOffsetUnitWidget_changed()
2564 if ( !layer || layer->
layerType() !=
"PointPatternFill" )
2570 mHorizontalDistanceSpinBox->blockSignals(
true );
2572 mHorizontalDistanceSpinBox->blockSignals(
false );
2573 mVerticalDistanceSpinBox->blockSignals(
true );
2575 mVerticalDistanceSpinBox->blockSignals(
false );
2576 mHorizontalDisplacementSpinBox->blockSignals(
true );
2578 mHorizontalDisplacementSpinBox->blockSignals(
false );
2579 mVerticalDisplacementSpinBox->blockSignals(
true );
2581 mVerticalDisplacementSpinBox->blockSignals(
false );
2583 mHorizontalDistanceUnitWidget->blockSignals(
true );
2586 mHorizontalDistanceUnitWidget->blockSignals(
false );
2587 mVerticalDistanceUnitWidget->blockSignals(
true );
2590 mVerticalDistanceUnitWidget->blockSignals(
false );
2591 mHorizontalDisplacementUnitWidget->blockSignals(
true );
2594 mHorizontalDisplacementUnitWidget->blockSignals(
false );
2595 mVerticalDisplacementUnitWidget->blockSignals(
true );
2598 mVerticalDisplacementUnitWidget->blockSignals(
false );
2611 void QgsPointPatternFillSymbolLayerWidget::on_mHorizontalDistanceSpinBox_valueChanged(
double d )
2620 void QgsPointPatternFillSymbolLayerWidget::on_mVerticalDistanceSpinBox_valueChanged(
double d )
2629 void QgsPointPatternFillSymbolLayerWidget::on_mHorizontalDisplacementSpinBox_valueChanged(
double d )
2638 void QgsPointPatternFillSymbolLayerWidget::on_mVerticalDisplacementSpinBox_valueChanged(
double d )
2647 void QgsPointPatternFillSymbolLayerWidget::on_mHorizontalDistanceUnitWidget_changed()
2657 void QgsPointPatternFillSymbolLayerWidget::on_mVerticalDistanceUnitWidget_changed()
2667 void QgsPointPatternFillSymbolLayerWidget::on_mHorizontalDisplacementUnitWidget_changed()
2677 void QgsPointPatternFillSymbolLayerWidget::on_mVerticalDisplacementUnitWidget_changed()
2701 btnColor->setAllowAlpha(
true );
2702 btnColor->setColorDialogTitle(
tr(
"Select symbol fill color" ) );
2703 btnColor->setContext(
"symbology" );
2704 btnBorderColor->setAllowAlpha(
true );
2705 btnBorderColor->setColorDialogTitle(
tr(
"Select symbol outline color" ) );
2706 btnBorderColor->setContext(
"symbology" );
2708 spinOffsetX->setClearValue( 0.0 );
2709 spinOffsetY->setClearValue( 0.0 );
2718 connect( spinSize, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setSize(
double ) ) );
2719 connect( cboJoinStyle, SIGNAL( currentIndexChanged(
int ) ),
this, SLOT( penJoinStyleChanged() ) );
2722 connect( cboJoinStyle, SIGNAL( currentIndexChanged(
int ) ),
this, SLOT( penJoinStyleChanged() ) );
2723 connect( spinAngle, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setAngle(
double ) ) );
2724 connect( spinOffsetX, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setOffset() ) );
2725 connect( spinOffsetY, SIGNAL( valueChanged(
double ) ),
this, SLOT(
setOffset() ) );
2727 connect(
this, SIGNAL(
changed() ),
this, SLOT( updateAssistantSymbol() ) );
2732 delete mAssistantPreviewSymbol;
2737 if ( layer->
layerType() !=
"FontMarker" )
2761 mSizeUnitWidget->blockSignals(
true );
2764 mSizeUnitWidget->blockSignals(
false );
2766 mBorderWidthUnitWidget->blockSignals(
true );
2769 mBorderWidthUnitWidget->blockSignals(
false );
2771 mOffsetUnitWidget->blockSignals(
true );
2774 mOffsetUnitWidget->blockSignals(
false );
2793 updateAssistantSymbol();
2845 void QgsFontMarkerSymbolLayerV2Widget::penJoinStyleChanged()
2908 void QgsFontMarkerSymbolLayerV2Widget::updateAssistantSymbol()
2910 for (
int i = mAssistantPreviewSymbol->
symbolLayerCount() - 1 ; i >= 0; --i )
2933 if ( layer->
layerType() !=
"CentroidFill" )
2949 void QgsCentroidFillSymbolLayerV2Widget::on_mDrawInsideCheckBox_stateChanged(
int state )
2955 void QgsCentroidFillSymbolLayerV2Widget::on_mDrawAllPartsCheckBox_stateChanged(
int state )
2972 mSpinOffsetX->setClearValue( 0.0 );
2973 mSpinOffsetY->setClearValue( 0.0 );
2975 connect( cboCoordinateMode, SIGNAL( currentIndexChanged(
int ) ),
this, SLOT( setCoordinateMode(
int ) ) );
2976 connect( mSpinOffsetX, SIGNAL( valueChanged(
double ) ),
this, SLOT( offsetChanged() ) );
2977 connect( mSpinOffsetY, SIGNAL( valueChanged(
double ) ),
this, SLOT( offsetChanged() ) );
2987 if ( layer->
layerType() !=
"RasterFill" )
2998 mImageLineEdit->blockSignals(
true );
3000 mImageLineEdit->blockSignals(
false );
3002 cboCoordinateMode->blockSignals(
true );
3006 cboCoordinateMode->setCurrentIndex( 1 );
3010 cboCoordinateMode->setCurrentIndex( 0 );
3013 cboCoordinateMode->blockSignals(
false );
3014 mSpinTransparency->blockSignals(
true );
3015 mSpinTransparency->setValue(
mLayer->
alpha() * 100.0 );
3016 mSpinTransparency->blockSignals(
false );
3017 mSliderTransparency->blockSignals(
true );
3018 mSliderTransparency->setValue(
mLayer->
alpha() * 100.0 );
3019 mSliderTransparency->blockSignals(
false );
3020 mRotationSpinBox->blockSignals(
true );
3022 mRotationSpinBox->blockSignals(
false );
3024 mSpinOffsetX->blockSignals(
true );
3026 mSpinOffsetX->blockSignals(
false );
3027 mSpinOffsetY->blockSignals(
true );
3029 mSpinOffsetY->blockSignals(
false );
3030 mOffsetUnitWidget->blockSignals(
true );
3033 mOffsetUnitWidget->blockSignals(
false );
3035 mWidthSpinBox->blockSignals(
true );
3037 mWidthSpinBox->blockSignals(
false );
3038 mWidthUnitWidget->blockSignals(
true );
3041 mWidthUnitWidget->blockSignals(
false );
3042 updatePreviewImage();
3055 void QgsRasterFillSymbolLayerWidget::on_mBrowseToolButton_clicked()
3059 QString lineEditText = mImageLineEdit->text();
3060 if ( !lineEditText.
isEmpty() )
3062 QFileInfo openDirFileInfo( lineEditText );
3063 openDir = openDirFileInfo.
path();
3073 if ( !filePath.
isNull() )
3084 mImageLineEdit->setText( filePath );
3085 on_mImageLineEdit_editingFinished();
3089 void QgsRasterFillSymbolLayerWidget::on_mImageLineEdit_editingFinished()
3099 QUrl url( mImageLineEdit->text() );
3100 if ( !url.isValid() )
3108 updatePreviewImage();
3114 void QgsRasterFillSymbolLayerWidget::setCoordinateMode(
int index )
3131 void QgsRasterFillSymbolLayerWidget::on_mSpinTransparency_valueChanged(
int value )
3140 updatePreviewImage();
3143 void QgsRasterFillSymbolLayerWidget::offsetChanged()
3149 void QgsRasterFillSymbolLayerWidget::on_mOffsetUnitWidget_changed()
3160 void QgsRasterFillSymbolLayerWidget::on_mRotationSpinBox_valueChanged(
double d )
3169 void QgsRasterFillSymbolLayerWidget::on_mWidthUnitWidget_changed()
3180 void QgsRasterFillSymbolLayerWidget::on_mWidthSpinBox_valueChanged(
double d )
3191 void QgsRasterFillSymbolLayerWidget::updatePreviewImage()
3199 if ( image.isNull() )
3201 mLabelImagePreview->setPixmap(
QPixmap() );
3205 if ( image.height() > 150 || image.width() > 150 )
3207 image = image.
scaled( 150, 150, Qt::KeepAspectRatio, Qt::SmoothTransformation );
3210 QImage previewImage( 150, 150, QImage::Format_ARGB32 );
3211 previewImage.
fill( Qt::transparent );
3212 QRect imageRect(( 150 - image.width() ) / 2.0, ( 150 - image.height() ) / 2.0, image.width(), image.height() );
3214 p.
begin( &previewImage );
3216 uchar pixDataRGB[] = { 150, 150, 150, 150,
3221 QImage img( pixDataRGB, 2, 2, 8, QImage::Format_ARGB32 );
3225 p.fillRect( imageRect, checkerBrush );
3232 p.drawImage( imageRect.left(), imageRect.top(), image );
3243 modificationExpressionSelector->setLayer( const_cast<QgsVectorLayer*>( vl ) );
3244 modificationExpressionSelector->loadFieldNames();
3249 connect( modificationExpressionSelector, SIGNAL( expressionParsed(
bool ) ),
this, SLOT( updateExpression() ) );
3250 connect( cbxGeometryType, SIGNAL( currentIndexChanged(
int ) ),
this, SLOT( updateSymbolType() ) );
3260 cbxGeometryType->setCurrentIndex( cbxGeometryType->findData( mLayer->
symbolType() ) );
3268 void QgsGeometryGeneratorSymbolLayerWidget::updateExpression()
3275 void QgsGeometryGeneratorSymbolLayerWidget::updateSymbolType()
3277 mLayer->
setSymbolType( static_cast<QgsSymbolV2::SymbolType>( cbxGeometryType->itemData( cbxGeometryType->currentIndex() ).toInt() ) );
void setIntervalUnit(QgsSymbolV2::OutputUnit unit)
void setBorderWidthMapUnitScale(const QgsMapUnitScale &scale)
QgsVectorColorRampV2 * colorRamp()
Color ramp used for the gradient fill, only used if the gradient color type is set to ColorRamp...
static const QString EXPR_ORIGINAL_VALUE
Inbuilt variable name for value original value variable.
QgsSymbolV2::OutputUnit offsetUnit() const
void setDistanceUnit(QgsSymbolV2::OutputUnit unit)
Sets the unit for the maximum distance to shade inside of the shape from the polygon's boundary...
void setOutlineStyle(Qt::PenStyle outlineStyle)
Sets the marker's outline style (eg solid, dashed, etc)
Qt::PenCapStyle penCapStyle() const
QgsSymbolV2::SymbolType symbolType() const
Access the symbol type.
void setOutlineColor(const QColor &color) override
Set outline color.
void setMaxDistance(double maxDistance)
Sets the maximum distance to shape inside of the shape from the polygon's boundary.
QgsVectorColorRampV2 * colorRamp()
Returns the color ramp used for the shapeburst fill.
bool deleteSymbolLayer(int index)
delete symbol layer at specified index
void setDistance(double d)
Single variable definition for use within a QgsExpressionContextScope.
const QgsMapUnitScale & displacementYMapUnitScale() const
virtual int rowCount(const QModelIndex &parent) const=0
bool ignoreRings() const
Returns whether the shapeburst fill is set to ignore polygon interior rings.
void setPenJoinStyle(Qt::PenJoinStyle style)
Set outline join style.
void setReferencePoint1(QPointF referencePoint)
Starting point of gradient fill, in the range [0,0] - [1,1].
void setSymbolType(QgsSymbolV2::SymbolType symbolType)
Set the type of symbol which should be created.
void setReferencePoint2IsCentroid(bool isCentroid)
Sets the end point of the gradient to be the feature centroid.
void setSvgOutlineWidth(double w)
QPointF offset() const
Returns the marker's offset, which is the horizontal and vertical displacement which the rendered mar...
const QgsMapUnitScale & borderWidthMapUnitScale() const
Placement placement() const
The placement of the markers.
QString svgFilePath() const
const QgsMapUnitScale & outlineWidthMapUnitScale() const
Returns the map scale for the width of the marker's outline.
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const=0
double outlineWidth() const
A container class for data source field mapping or expression.
Qt::PenStyle outlineStyle() const
Returns the marker's outline style (eg solid, dashed, etc)
static QIcon symbolLayerPreviewIcon(QgsSymbolLayerV2 *layer, QgsSymbolV2::OutputUnit u, QSize size, const QgsMapUnitScale &scale=QgsMapUnitScale())
static const QString EXPR_GEOMETRY_POINT_COUNT
Inbuilt variable name for point count variable.
void setCoordinateMode(GradientCoordinateMode coordinateMode)
void setSvgFillColor(const QColor &c)
void setPatternWidthMapUnitScale(const QgsMapUnitScale &scale)
Qt::PenJoinStyle penJoinStyle() const
QgsSymbolV2::OutputUnit distanceUnit() const
Returns the unit for the maximum distance to shade inside of the shape from the polygon's boundary...
A model for displaying SVG files with a preview icon.
const QgsMapUnitScale & displacementXMapUnitScale() const
void setDistanceYUnit(QgsSymbolV2::OutputUnit unit)
QStandardItem * invisibleRootItem() const
QString imageFilePath() const
The path to the raster image used for the fill.
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
static QgsExpressionContextScope * atlasScope(const QgsAtlasComposition *atlas)
Creates a new scope which contains variables and functions relating to a QgsAtlasComposition.
QgsSymbolV2::OutputUnit sizeUnit() const
Returns the units for the symbol's size.
Qt::BrushStyle brushStyle() const
void setOutlineColor(const QColor &c) override
Set outline color.
GradientCoordinateMode coordinateMode() const
Coordinate mode for gradient.
double size() const
Returns the symbol size.
void setDataDefinedSize(const QgsDataDefined &dd)
Set data defined size for whole symbol (including all symbol layers).
GradientType gradientType() const
Type of gradient, eg linear or radial.
void setCustomDashPatternUnit(QgsSymbolV2::OutputUnit unit)
bool drawInsidePolygon() const
void setOutlineWidthMapUnitScale(const QgsMapUnitScale &scale)
Set outline width map unit scale.
Qt::PenStyle penStyle() const
void setPointOnSurface(bool pointOnSurface)
static QIcon getThemeIcon(const QString &theName)
Helper to get a theme icon.
const QgsMapUnitScale & sizeMapUnitScale() const
Returns the map unit scale for the symbol's size.
QString fontFamily() const
void setIgnoreRings(bool ignoreRings)
Sets whether the shapeburst fill should ignore polygon rings when calculating the buffered shading...
QgsSymbolV2::OutputUnit widthUnit() const
Returns the units for the image's width.
The output shall be in pixels.
Calculate scale by the diameter.
void setOffset(QPointF offset)
Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker...
void setUseCustomDashPattern(bool b)
QPointF offset() const
Returns the offset for the shapeburst fill.
void setHorizontalAnchorPoint(HorizontalAnchorPoint h)
Sets the horizontal anchor point for positioning the symbol.
void setDistanceMapUnitScale(const QgsMapUnitScale &scale)
void setOutlineWidth(double w)
Sets the width of the marker's outline.
void setPenJoinStyle(Qt::PenJoinStyle style)
void setVerticalAnchorPoint(VerticalAnchorPoint v)
Sets the vertical anchor point for positioning the symbol.
QPixmap fromImage(const QImage &image, QFlags< Qt::ImageConversionFlag > flags)
void containsParams(const QString &path, bool &hasFillParam, QColor &defaultFillColor, bool &hasOutlineParam, QColor &defaultOutlineColor, bool &hasOutlineWidthParam, double &defaultOutlineWidth) const
Tests if an svg file contains parameters for fill, outline color, outline width.
void setDistanceXMapUnitScale(const QgsMapUnitScale &scale)
const QgsMapUnitScale & offsetMapUnitScale() const
void setOutlineWidth(double w)
ShapeburstColorType colorType() const
Returns the color mode used for the shapeburst fill.
QColor fillColor() const override
Get fill color.
QPointF referencePoint2() const
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the symbol's offset.
void setSvgOutlineWidthUnit(QgsSymbolV2::OutputUnit unit)
void setPointOnAllParts(bool pointOnAllParts)
Sets whether a point is drawn for all parts or only on the biggest part of multi-part features...
void setIntervalMapUnitScale(const QgsMapUnitScale &scale)
virtual QgsDataDefined * getDataDefinedProperty(const QString &property) const
Returns the data defined property corresponding to the specified property key.
QgsSymbolV2::OutputUnit borderWidthUnit() const
void setMapUnitScale(const QgsMapUnitScale &scale) override
void setShape(Shape shape)
Sets the rendered marker shape.
QString tr(const char *sourceText, const char *disambiguation, int n)
void setColorRamp(QgsVectorColorRampV2 *ramp)
Map canvas is a class for displaying all GIS data types on a canvas.
void addVariable(const QgsExpressionContextScope::StaticVariable &variable)
Adds a variable into the context scope.
void setWidthUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit svgOutlineWidthUnit() const
void setPatternWidth(double width)
const QgsMapUnitScale & outlineWidthMapUnitScale() const
const QgsMapUnitScale & offsetAlongLineMapUnitScale() const
Returns the map unit scale used for calculating the offset in map units along line for markers...
static QList< Shape > availableShapes()
Returns a list of all available shape types.
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
Sets the units for the symbol's offset.
void setSvgOutlineColor(const QColor &c)
void setOffsetAlongLine(double offsetAlongLine)
Sets the the offset along the line for the marker placement.
const QgsMapUnitScale & offsetMapUnitScale() const
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
void setInterval(double interval)
The interval between individual markers.
The QgsMapSettings class contains configuration for rendering of the map.
void setDistanceUnit(QgsSymbolV2::OutputUnit unit)
static QgsSvgCache * instance()
void setDrawInsidePolygon(bool drawInsidePolygon)
void setGradientType(GradientType gradientType)
void setValue(const QString &key, const QVariant &value)
const QgsMapUnitScale & offsetMapUnitScale() const
void setOutlineWidthUnit(QgsSymbolV2::OutputUnit unit)
void setRotateMarker(bool rotate)
Shall the marker be rotated.
virtual double width() const
const char * name() const
QgsSimpleLineSymbolLayerV2 * clone() const override
Shall be reimplemented by subclasses to create a deep copy of the instance.
GradientSpread gradientSpread() const
Gradient spread mode.
QgsSymbolV2::OutputUnit offsetAlongLineUnit() const
Returns the unit used for calculating the offset along line for markers.
void setLineAngle(double a)
void setImageFilePath(const QString &imagePath)
Sets the path to the raster image used for the fill.
QgsSymbolV2::OutputUnit distanceXUnit() const
QgsExpressionContextScope * lastScope()
Returns the last scope added to the context.
The output shall be in millimeters.
void setOutlineWidthUnit(QgsSymbolV2::OutputUnit u)
Sets the unit for the width of the marker's outline.
A class for filling symbols with a repeated raster image.
void setOffset(QPointF offset)
Sets the offset for the shapeburst fill.
void setColor(const QColor &color) override
The fill color.
A dialog to enter a custom dash space pattern for lines.
void setOffset(double offset)
static QgsExpressionContextScope * globalScope()
Creates a new scope which contains variables and functions relating to the global QGIS context...
virtual void setMapCanvas(QgsMapCanvas *canvas)
Sets the map canvas associated with the widget.
bool appendSymbolLayer(QgsSymbolLayerV2 *layer)
Append symbol layer at the end of the list Ownership will be transferred.
void setMapUnitScale(const QgsMapUnitScale &scale) override
QgsSymbolV2::OutputUnit patternWidthUnit() const
QVariant property(const char *name) const
void setWidth(const double width)
Sets the width for scaling the image used in the fill.
QModelIndex indexFromItem(const QStandardItem *item) const
void fill(uint pixelValue)
void setPenJoinStyle(Qt::PenJoinStyle style)
void setBrushStyle(Qt::BrushStyle style)
void setReferencePoint1IsCentroid(bool isCentroid)
Sets the starting point of the gradient to be the feature centroid.
const QgsMapUnitScale & intervalMapUnitScale() const
double interval() const
The interval between individual markers.
void setFontFamily(const QString &family)
const QgsMapUnitScale & widthMapUnitScale() const
void setPath(const QString &path)
void setBlurRadius(int blurRadius)
Sets the blur radius, which controls the amount of blurring applied to the fill.
double offsetAlongLine() const
Returns the offset along the line for the marker placement.
void setWidthMapUnitScale(const QgsMapUnitScale &scale)
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
virtual void setWidth(double width)
static QgsStyleV2 * defaultStyle()
return default application-wide style
void setWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the image's width.
void setFillColor(const QColor &color) override
Set fill color.
virtual void select(const QModelIndex &index, QFlags< QItemSelectionModel::SelectionFlag > command)
QColor outlineColor() const override
Get outline color.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
void setAngle(double angle)
double displacementX() const
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the fill's offset.
The output shall be in map unitx.
void setSizeUnit(QgsSymbolV2::OutputUnit unit)
Sets the units for the symbol's size.
QgsSymbolV2::OutputUnit distanceYUnit() const
void setOverrideCursor(const QCursor &cursor)
void setDistanceYMapUnitScale(const QgsMapUnitScale &scale)
static const QString EXPR_SYMBOL_COLOR
Inbuilt variable name for symbol color variable.
void setGeometryExpression(const QString &exp)
Set the expression to generate this geometry.
QColor color2() const
Color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColor.
bool useCustomDashPattern() const
double alpha() const
The opacity for the raster image used in the fill.
int symbolLayerCount()
Returns total number of symbol layers contained in the symbol.
void restoreOverrideCursor()
QColor borderColor() const
Returns the marker's border color.
QVector< qreal > customDashVector() const
static QString encodeShape(Shape shape)
Encodes a shape to its string representation.
bool referencePoint2IsCentroid() const
HorizontalAnchorPoint horizontalAnchorPoint() const
Returns the horizontal anchor point for positioning the symbol.
bool useWholeShape() const
Returns whether the shapeburst fill is set to cover the entire shape.
virtual QVariant data(const QModelIndex &index, int role) const=0
void setOffsetAlongLineMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale used for calculating the offset in map units along line for markers...
const QgsMapUnitScale & svgOutlineWidthMapUnitScale() const
QGis::GeometryType geometryType() const
Returns point, line or polygon.
Qt::PenJoinStyle penJoinStyle() const
Get outline join style.
void setDisplacementXUnit(QgsSymbolV2::OutputUnit unit)
void setCoordinateMode(const FillCoordinateMode mode)
Set the coordinate mode for fill.
const QgsMapUnitScale & customDashPatternMapUnitScale() const
QgsSvgMarkerSymbolLayerV2 * clone() const override
Shall be reimplemented by subclasses to create a deep copy of the instance.
void setOffsetAlongLineUnit(QgsSymbolV2::OutputUnit unit)
Sets the unit used for calculating the offset along line for markers.
Single scope for storing variables and functions for use within a QgsExpressionContext.
virtual QColor color() const
The fill color.
QgsSymbolV2::OutputUnit offsetUnit() const
Returns the units for the symbol's offset.
void setBorderWidthUnit(QgsSymbolV2::OutputUnit unit)
void setOutlineWidthMapUnitScale(const QgsMapUnitScale &scale)
void setPenCapStyle(Qt::PenCapStyle style)
double maxDistance() const
Returns the maximum distance from the shape's boundary which is shaded.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale for the symbol's offset.
void setCustomDashVector(const QVector< qreal > &vector)
void setDisplacementXMapUnitScale(const QgsMapUnitScale &scale)
void setOffset(QPointF offset)
Sets the offset for the fill.
void setColor2(const QColor &color2)
Sets the color for the endpoint of the shapeburst fill.
const QgsMapUnitScale & distanceMapUnitScale() const
double ANALYSIS_EXPORT angle(Point3D *p1, Point3D *p2, Point3D *p3, Point3D *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
void setColorType(ShapeburstColorType colorType)
Sets the color mode to use for the shapeburst fill.
void setDistanceXUnit(QgsSymbolV2::OutputUnit unit)
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
QStandardItem * item(int row, int column) const
void setOutlineWidth(double width)
Set outline width.
bool blockSignals(bool block)
QgsSymbolV2::OutputUnit displacementXUnit() const
QgsSymbolV2::OutputUnit offsetUnit() const
Returns the units used for the offset of the shapeburst fill.
bool pointOnAllParts() const
Returns whether a point is drawn for all parts or only on the biggest part of multi-part features...
void setOffset(QPointF offset)
Offset for gradient fill.
virtual QString layerType() const =0
Returns a string that represents this layer type.
void setBorderColor(const QColor &borderColor)
double outlineWidth() const
Get outline width.
void setDisplacementY(double d)
void setOutlineWidthMapUnitScale(const QgsMapUnitScale &scale)
Sets the map scale for the width of the marker's outline.
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
Sets the units used for the offset for the shapeburst fill.
QgsSymbolV2::OutputUnit intervalUnit() const
const QgsMapSettings & mapSettings() const
Get access to properties used for map rendering.
void setOffset(QPointF offset)
void setTexture(const QPixmap &pixmap)
const QgsMapUnitScale & distanceMapUnitScale() const
A model for displaying SVG search paths.
double svgOutlineWidth() const
void setDataDefinedWidth(const QgsDataDefined &dd)
Set data defined width for whole symbol (including all symbol layers).
A class for svg fill patterns.
void setMapUnitScale(const QgsMapUnitScale &scale) override
QVariant value(const QString &key, const QVariant &defaultValue) const
void setBorderColor(const QColor &color)
Sets the marker's border color.
const QgsMapUnitScale & outlineWidthMapUnitScale() const
Get outline width map unit scale.
QgsSymbolV2::OutputUnit outlineWidthUnit() const
Get outline width unit.
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the fill's offset.
VerticalAnchorPoint
Symbol vertical anchor points.
QgsSymbolV2::ScaleMethod scaleMethod() const
Returns the method to use for scaling the marker's size.
void setGradientColorType(GradientColorType gradientColorType)
static QgsExpressionContextScope * mapSettingsScope(const QgsMapSettings &mapSettings)
Creates a new scope which contains variables and functions relating to a QgsMapSettings object...
QColor borderColor() const
Shape shape() const
Returns the shape for the rendered marker symbol.
QgsExpressionContextScope & expressionContextScope()
Returns a reference to the expression context scope for the map canvas.
void setPenStyle(Qt::PenStyle style)
QVariant data(int role) const
void setPlacement(Placement p)
The placement of the markers.
QColor svgFillColor() const
QgsSymbolV2::OutputUnit offsetUnit() const
void setDisplacementYUnit(QgsSymbolV2::OutputUnit unit)
const QgsMapUnitScale & distanceXMapUnitScale() const
Shape
Marker symbol shapes.
const QgsMapUnitScale & patternWidthMapUnitScale() const
void setCustomDashPatternMapUnitScale(const QgsMapUnitScale &scale)
void setSvgFilePath(const QString &svgPath)
void setUseWholeShape(bool useWholeShape)
Sets whether the shapeburst fill should be drawn using the entire shape.
bool pointOnSurface() const
double borderWidth() const
QgsSymbolV2::OutputUnit offsetUnit() const
void setColorRamp(QgsVectorColorRampV2 *ramp)
Sets the color ramp used to draw the shapeburst fill.
const QgsMapUnitScale & distanceYMapUnitScale() const
FillCoordinateMode coordinateMode() const
Coordinate mode for fill.
StandardButton critical(QWidget *parent, const QString &title, const QString &text, QFlags< QMessageBox::StandardButton > buttons, StandardButton defaultButton)
virtual int rowCount(const QModelIndex &parent) const
double patternWidth() const
const QgsMapUnitScale & widthMapUnitScale() const
Returns the map unit scale for the image's width.
double outlineWidth() const
Returns the width of the marker's outline.
void setPenJoinStyle(Qt::PenJoinStyle style)
Sets the marker's outline join style (eg miter, bevel, etc).
void setDistanceY(double d)
QColor color2() const
Returns the color used for the endpoint of the shapeburst fill.
void setDisplacementYMapUnitScale(const QgsMapUnitScale &scale)
double angle() const
Returns the rotation angle for the marker, in degrees clockwise from north.
QgsSymbolV2::OutputUnit offsetUnit() const
void setAlpha(const double alpha)
Sets the opacity for the raster image used in the fill.
QColor fillColor() const override
Get fill color.
static const QString EXPR_GEOMETRY_POINT_NUM
Inbuilt variable name for point number variable.
QgsSymbolV2::OutputUnit offsetUnit() const
Returns the units for the fill's offset.
void setAlphaF(qreal alpha)
virtual void setColor(const QColor &color)
The fill color.
QgsSymbolV2::OutputUnit customDashPatternUnit() const
void setHighlightedVariables(const QStringList &variableNames)
Sets the list of variable names within the context intended to be highlighted to the user...
void setCurrentIndex(const QModelIndex &index, QFlags< QItemSelectionModel::SelectionFlag > command)
void setDistanceX(double d)
Qt::PenJoinStyle penJoinStyle() const
Returns the marker's outline join style (eg miter, bevel, etc).
bool setProperty(const char *name, const QVariant &value)
Abstract base class for marker symbol layers.
void setMapUnitScale(const QgsMapUnitScale &scale) override
void setOutlineWidthUnit(QgsSymbolV2::OutputUnit unit)
Set outline width unit.
Calculate scale by the area.
bool referencePoint1IsCentroid() const
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
void setColor2(const QColor &color2)
QgsSymbolV2::OutputUnit outlineWidthUnit() const
HorizontalAnchorPoint
Symbol horizontal anchor points.
QString getOpenFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter, QString *selectedFilter, QFlags< QFileDialog::Option > options)
static QgsExpressionContextScope * projectScope()
Creates a new scope which contains variables and functions relating to the current QGIS project...
const QgsMapUnitScale & offsetMapUnitScale() const
static QgsExpressionContextScope * layerScope(const QgsMapLayer *layer)
Creates a new scope which contains variables and functions relating to a QgsMapLayer.
void setOffset(double offset)
void setWidthUnit(const QgsSymbolV2::OutputUnit unit)
Sets the units for the image's width.
void setPatternWidthUnit(QgsSymbolV2::OutputUnit unit)
void setGradientSpread(GradientSpread gradientSpread)
QString absolutePath() const
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
QgsSymbolV2::OutputUnit outlineWidthUnit() const
Returns the unit for the width of the marker's outline.
static const QString EXPR_GEOMETRY_PART_NUM
Inbuilt variable name for geometry part number variable.
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void setSize(double size)
Sets the symbol size.
Filled marker symbol layer, consisting of a shape which is rendered using a QgsFillSymbolV2.
void setAngle(double angle)
Sets the rotation angle for the marker.
Qt::PenStyle borderStyle() const
QColor svgOutlineColor() const
int blurRadius() const
Returns the blur radius, which controls the amount of blurring applied to the fill.
Represents a vector layer which manages a vector based data sets.
bool begin(QPaintDevice *device)
QgsSymbolV2::OutputUnit displacementYUnit() const
double displacementY() const
void setReferencePoint2(QPointF referencePoint)
End point of gradient fill, in the range [0,0] - [1,1].
QgsSymbolV2::OutputUnit distanceUnit() const
Abstract base class for color ramps.
static const QString EXPR_GEOMETRY_PART_COUNT
Inbuilt variable name for geometry part count variable.
void setOriginalValueVariable(const QVariant &value)
Sets the original value variable value for the context.
void setBorderWidth(double borderWidth)
GradientColorType gradientColorType() const
Gradient color mode, controls how gradient color stops are created.
QgsFontMarkerSymbolLayerV2 * clone() const override
Shall be reimplemented by subclasses to create a deep copy of the instance.
static QgsExpressionContextScope * updateSymbolScope(const QgsSymbolV2 *symbol, QgsExpressionContextScope *symbolScope=nullptr)
Updates a symbol scope related to a QgsSymbolV2 to an expression context.
void setDisplacementX(double d)
double width() const
Returns the width used for scaling the image used in the fill.
void setSizeMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the symbol's size.
QColor outlineColor() const override
Get outline color.
QgsFilledMarkerSymbolLayer * clone() const override
Shall be reimplemented by subclasses to create a deep copy of the instance.
QgsSimpleMarkerSymbolLayerV2 * clone() const override
Shall be reimplemented by subclasses to create a deep copy of the instance.
Qt::PenJoinStyle penJoinStyle() const
bool rotateMarker() const
Shall the marker be rotated.
void setOffsetUnit(const QgsSymbolV2::OutputUnit unit)
Sets the units for the fill's offset.
VerticalAnchorPoint verticalAnchorPoint() const
Returns the vertical anchor point for positioning the symbol.
static bool shapeIsFilled(Shape shape)
Returns true if a symbol shape has a fill.
void setCharacter(QChar ch)
Simple marker symbol layer, consisting of a rendered shape with solid fill color and an outline...
QImage scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode, Qt::TransformationMode transformMode) const
void setDistanceMapUnitScale(const QgsMapUnitScale &scale)
const QgsMapUnitScale & offsetMapUnitScale() const
QgsSymbolV2::OutputUnit widthUnit() const
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
Units for gradient fill offset.
void setSvgOutlineWidthMapUnitScale(const QgsMapUnitScale &scale)
QPointF offset() const
Returns the offset for the fill.
QString geometryExpression() const
Get the expression to generate this geometry.
virtual Q_DECL_DEPRECATED void setDataDefinedProperty(const QString &property, const QString &expressionString)
Sets a data defined expression for a property.
QPointF referencePoint1() const
void setOutlineColor(const QColor &color) override
Set outline color.
void setBorderStyle(Qt::PenStyle borderStyle)