Skip to content

Commit ae9023f

Browse files
committedSep 13, 2016
Remove last deprecated methods from symbology
1 parent 4d4aec6 commit ae9023f

File tree

10 files changed

+21
-220
lines changed

10 files changed

+21
-220
lines changed
 

‎doc/api_break.dox

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -941,6 +941,10 @@ parameters or QgsSymbol::OutputUnitList parameters now take QgsUnitTypes::Render
941941
<ul>
942942
<li>The deprecated prepareExpressions( const QgsFields* fields, double scale = -1.0 ) method has been removed. Use
943943
the variant which takes QgsSymbolRenderContext instead.</li>
944+
<li>The deprecated methods dataDefinedProperty( const QString& property ) and dataDefinedPropertyString() were removed. Use getDataDefinedProperty() instead.</li>
945+
<li>setDataDefinedProperty( const QString& property, const QString& expressionString ) was removed. Use setDataDefinedProperty( const QString& property, QgsDataDefined* dataDefined ) instead.</li>
946+
<li>evaluateDataDefinedProperty( const QString& property, const QgsFeature* feature ) was removed. Use the variant which takes QgsSymbolRenderContext instead.</li>
947+
<li>expression() was removed. Use getDataDefinedProperty or evaluateDataDefinedProperty instead.</li>
944948
</ul>
945949

946950
\subsection qgis_api_break_3_0_QgsSymbolRenderContext QgsSymbolRenderContext (renamed from QgsSymbolV2RenderContext)
@@ -957,6 +961,18 @@ the variant which takes QgsSymbolRenderContext instead.</li>
957961
<li>The signatures for wellKnownMarkerToSld() and wellKnownMarkerFromSld() were changed.</li>
958962
</ul>
959963

964+
\subsection qgis_api_break_3_0_QgsSymbolSelectorDialog QgsSymbolSelectorDialog
965+
966+
<ul>
967+
<li>saveSymbol() was removed.</li>
968+
</ul>
969+
970+
\subsection qgis_api_break_3_0_QgsSymbolSelectorWidget QgsSymbolSelectorWidget
971+
972+
<ul>
973+
<li>saveSymbol() was removed.</li>
974+
</ul>
975+
960976
\subsection qgis_api_break_3_0_QgsTolerance QgsTolerance
961977

962978
<ul>

‎python/core/symbology-ng/qgssymbollayer.sip

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -172,21 +172,6 @@ class QgsSymbolLayer
172172
*/
173173
virtual QSet<QString> usedAttributes() const;
174174

175-
/** Returns a data defined expression for a property, if set
176-
* @deprecated use getDataDefinedProperty instead
177-
*/
178-
virtual const QgsExpression* dataDefinedProperty( const QString& property ) const /Deprecated/;
179-
180-
/** Returns a data defined expression for a property, if set
181-
* @deprecated use getDataDefinedProperty instead
182-
*/
183-
virtual QString dataDefinedPropertyString( const QString& property ) const /Deprecated/;
184-
185-
/** Sets a data defined expression for a property
186-
* @deprecated use setDataDefinedProperty( const QString& property, QgsDataDefined* dataDefined ) instead
187-
*/
188-
virtual void setDataDefinedProperty( const QString& property, const QString& expressionString ) /Deprecated/;
189-
190175
/** Returns the data defined property corresponding to the specified property key
191176
* @param property property key
192177
* @returns matching data defined property if it exists
@@ -239,23 +224,6 @@ class QgsSymbolLayer
239224
*/
240225
virtual bool hasDataDefinedProperty( const QString& property ) const;
241226

242-
/** Evaluates the matching data defined property and returns the calculated
243-
* value. Prior to evaluation the data defined property must be prepared
244-
* by calling @link prepareExpressions @endlink.
245-
* @param property property key
246-
* @param feature pointer to the feature to use during expression or field
247-
* evaluation
248-
* @param defaultVal default value to return if evaluation was not successful
249-
* @param ok if specified, will be set to true if evaluation was successful
250-
* @returns calculated value for data defined property, or default value
251-
* if property does not exist or is deactived.
252-
* @see hasDataDefinedProperty
253-
* @see getDataDefinedProperty
254-
* @note added in QGIS 2.9
255-
* @deprecated use variant which takes QgsSymbolRenderContext instead
256-
*/
257-
virtual QVariant evaluateDataDefinedProperty( const QString& property, const QgsFeature* feature ) const /Deprecated/;
258-
259227
/** Evaluates the matching data defined property and returns the calculated
260228
* value. Prior to evaluation the data defined property must be prepared
261229
* by calling @link prepareExpressions @endlink.
@@ -308,11 +276,6 @@ class QgsSymbolLayer
308276
*/
309277
virtual void prepareExpressions( const QgsSymbolRenderContext& context );
310278

311-
/** Returns the data defined expression associated with a property
312-
* @deprecated use getDataDefinedProperty or evaluateDataDefinedProperty instead
313-
*/
314-
virtual QgsExpression* expression( const QString& property ) const /Deprecated/;
315-
316279
/** Saves all data defined properties to a string map.
317280
* @param stringMap destination string map
318281
* @see restoreDataDefinedProperties

‎python/gui/symbology-ng/qgssymbolselectordialog.sip

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ class QgsSymbolSelectorWidget : QgsPanelWidget
7272

7373
void lockLayer();
7474

75-
void saveSymbol() /Deprecated/;
76-
7775
//! Duplicates the current symbol layer and places the duplicated layer above the current symbol layer
7876
//! @note added in QGIS 2.14
7977
void duplicateLayer();
@@ -159,8 +157,6 @@ class QgsSymbolSelectorDialog : QDialog
159157

160158
void lockLayer();
161159

162-
void saveSymbol() /Deprecated/;
163-
164160
//! Duplicates the current symbol layer and places the duplicated layer above the current symbol layer
165161
//! @note added in QGIS 2.14
166162
void duplicateLayer();

‎src/core/symbology-ng/qgssymbollayer.cpp

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,6 @@ const QString QgsSymbolLayer::EXPR_OFFSET_ALONG_LINE( "offset_along_line" );
9090
const QString QgsSymbolLayer::EXPR_HORIZONTAL_ANCHOR_POINT( "horizontal_anchor_point" );
9191
const QString QgsSymbolLayer::EXPR_VERTICAL_ANCHOR_POINT( "vertical_anchor_point" );
9292

93-
const QgsExpression* QgsSymbolLayer::dataDefinedProperty( const QString& property ) const
94-
{
95-
Q_NOWARN_DEPRECATED_PUSH
96-
return expression( property );
97-
Q_NOWARN_DEPRECATED_POP
98-
}
99-
10093
QgsDataDefined *QgsSymbolLayer::getDataDefinedProperty( const QString &property ) const
10194
{
10295
if ( mDataDefinedProperties.isEmpty() )
@@ -110,23 +103,6 @@ QgsDataDefined *QgsSymbolLayer::getDataDefinedProperty( const QString &property
110103
return nullptr;
111104
}
112105

113-
QgsExpression* QgsSymbolLayer::expression( const QString& property ) const
114-
{
115-
QgsDataDefined* dd = getDataDefinedProperty( property );
116-
return dd ? dd->expression() : nullptr;
117-
}
118-
119-
QString QgsSymbolLayer::dataDefinedPropertyString( const QString& property ) const
120-
{
121-
const QgsDataDefined* dd = getDataDefinedProperty( property );
122-
return dd ? dd->expressionString() : QString();
123-
}
124-
125-
void QgsSymbolLayer::setDataDefinedProperty( const QString& property, const QString& expressionString )
126-
{
127-
setDataDefinedProperty( property, new QgsDataDefined( expressionString ) );
128-
}
129-
130106
void QgsSymbolLayer::setDataDefinedProperty( const QString &property, QgsDataDefined *dataDefined )
131107
{
132108
removeDataDefinedProperty( property );
@@ -173,48 +149,6 @@ bool QgsSymbolLayer::hasDataDefinedProperty( const QString& property ) const
173149
return dd && dd->isActive();
174150
}
175151

176-
QVariant QgsSymbolLayer::evaluateDataDefinedProperty( const QString &property, const QgsFeature* feature, const QVariant& defaultVal, bool *ok ) const
177-
{
178-
if ( ok )
179-
*ok = false;
180-
181-
QgsDataDefined* dd = getDataDefinedProperty( property );
182-
if ( !dd || !dd->isActive() )
183-
return defaultVal;
184-
185-
if ( dd->useExpression() )
186-
{
187-
if ( dd->expression() )
188-
{
189-
QgsExpressionContext context = feature ? QgsExpressionContextUtils::createFeatureBasedContext( *feature, QgsFields() ) : QgsExpressionContext();
190-
QVariant result = dd->expression()->evaluate( &context );
191-
if ( result.isValid() )
192-
{
193-
if ( ok )
194-
*ok = true;
195-
return result;
196-
}
197-
else
198-
return defaultVal;
199-
}
200-
else
201-
{
202-
return defaultVal;
203-
}
204-
}
205-
else if ( feature && !dd->field().isEmpty() && !mFields.isEmpty() )
206-
{
207-
int attributeIndex = mFields.fieldNameIndex( dd->field() );
208-
if ( attributeIndex >= 0 )
209-
{
210-
if ( ok )
211-
*ok = true;
212-
return feature->attribute( attributeIndex );
213-
}
214-
}
215-
return defaultVal;
216-
}
217-
218152
QVariant QgsSymbolLayer::evaluateDataDefinedProperty( const QString& property, const QgsSymbolRenderContext& context, const QVariant& defaultVal, bool* ok ) const
219153
{
220154
if ( ok )

‎src/core/symbology-ng/qgssymbollayer.h

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -154,21 +154,6 @@ class CORE_EXPORT QgsSymbolLayer
154154
*/
155155
virtual QSet<QString> usedAttributes() const;
156156

157-
/** Returns a data defined expression for a property, if set
158-
* @deprecated use getDataDefinedProperty instead
159-
*/
160-
Q_DECL_DEPRECATED virtual const QgsExpression* dataDefinedProperty( const QString& property ) const;
161-
162-
/** Returns a data defined expression for a property, if set
163-
* @deprecated use getDataDefinedProperty instead
164-
*/
165-
Q_DECL_DEPRECATED virtual QString dataDefinedPropertyString( const QString& property ) const;
166-
167-
/** Sets a data defined expression for a property
168-
* @deprecated use setDataDefinedProperty( const QString& property, QgsDataDefined* dataDefined ) instead
169-
*/
170-
Q_DECL_DEPRECATED virtual void setDataDefinedProperty( const QString& property, const QString& expressionString );
171-
172157
/** Returns the data defined property corresponding to the specified property key
173158
* @param property property key
174159
* @returns matching data defined property if it exists
@@ -221,23 +206,6 @@ class CORE_EXPORT QgsSymbolLayer
221206
*/
222207
virtual bool hasDataDefinedProperty( const QString& property ) const;
223208

224-
/** Evaluates the matching data defined property and returns the calculated
225-
* value. Prior to evaluation the data defined property must be prepared
226-
* by calling @link prepareExpressions @endlink.
227-
* @param property property key
228-
* @param feature pointer to the feature to use during expression or field
229-
* evaluation
230-
* @param defaultVal default value to return if evaluation was not successful
231-
* @param ok if specified, will be set to true if evaluation was successful
232-
* @returns calculated value for data defined property, or default value
233-
* if property does not exist or is deactived.
234-
* @see hasDataDefinedProperty
235-
* @see getDataDefinedProperty
236-
* @note added in QGIS 2.9
237-
* @deprecated use variant which takes QgsSymbolRenderContext instead
238-
*/
239-
Q_DECL_DEPRECATED virtual QVariant evaluateDataDefinedProperty( const QString& property, const QgsFeature* feature, const QVariant& defaultVal = QVariant(), bool *ok = nullptr ) const;
240-
241209
/** Evaluates the matching data defined property and returns the calculated
242210
* value. Prior to evaluation the data defined property must be prepared
243211
* by calling @link prepareExpressions @endlink.
@@ -318,11 +286,6 @@ class CORE_EXPORT QgsSymbolLayer
318286
*/
319287
virtual void prepareExpressions( const QgsSymbolRenderContext& context );
320288

321-
/** Returns the data defined expression associated with a property
322-
* @deprecated use getDataDefinedProperty or evaluateDataDefinedProperty instead
323-
*/
324-
Q_DECL_DEPRECATED virtual QgsExpression* expression( const QString& property ) const;
325-
326289
/** Saves all data defined properties to a string map.
327290
* @param stringMap destination string map
328291
* @see restoreDataDefinedProperties

‎src/gui/symbology-ng/qgssymbollayerwidget.cpp

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -139,29 +139,6 @@ void QgsSymbolLayerWidget::updateDataDefinedProperty()
139139
emit changed();
140140
}
141141

142-
QString QgsSymbolLayerWidget::dataDefinedPropertyLabel( const QString &entryName )
143-
{
144-
QString label = entryName;
145-
if ( entryName == "size" )
146-
{
147-
label = tr( "Size" );
148-
QgsMarkerSymbolLayer * layer = dynamic_cast<QgsMarkerSymbolLayer *>( symbolLayer() );
149-
if ( layer )
150-
{
151-
switch ( layer->scaleMethod() )
152-
{
153-
case QgsSymbol::ScaleArea:
154-
label += " (" + tr( "area" ) + ')';
155-
break;
156-
case QgsSymbol::ScaleDiameter:
157-
label += " (" + tr( "diameter" ) + ')';
158-
break;
159-
}
160-
}
161-
}
162-
return label;
163-
}
164-
165142
QgsSimpleLineSymbolLayerWidget::QgsSimpleLineSymbolLayerWidget( const QgsVectorLayer* vl, QWidget* parent )
166143
: QgsSymbolLayerWidget( parent, vl )
167144
{

‎src/gui/symbology-ng/qgssymbollayerwidget.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,6 @@ class GUI_EXPORT QgsSymbolLayerWidget : public QWidget, protected QgsExpressionC
9797

9898
QgsMapCanvas* mMapCanvas;
9999

100-
/** Get label for data defined entry.
101-
* Implemented only for 'size' of marker symbols
102-
* @note added in 2.1
103-
* @deprecated no longer used
104-
*/
105-
Q_DECL_DEPRECATED virtual QString dataDefinedPropertyLabel( const QString &entryName );
106-
107100
signals:
108101
/**
109102
* Should be emitted whenever configuration changes happened on this symbol layer configuration.

‎src/gui/symbology-ng/qgssymbolselectordialog.cpp

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -641,34 +641,6 @@ void QgsSymbolSelectorWidget::duplicateLayer()
641641
updatePreview();
642642
}
643643

644-
void QgsSymbolSelectorWidget::saveSymbol()
645-
{
646-
bool ok;
647-
QString name = QInputDialog::getText( this, tr( "Symbol name" ),
648-
tr( "Please enter name for the symbol:" ), QLineEdit::Normal, tr( "New symbol" ), &ok );
649-
if ( !ok || name.isEmpty() )
650-
return;
651-
652-
// check if there is no symbol with same name
653-
if ( mStyle->symbolNames().contains( name ) )
654-
{
655-
int res = QMessageBox::warning( this, tr( "Save symbol" ),
656-
tr( "Symbol with name '%1' already exists. Overwrite?" )
657-
.arg( name ),
658-
QMessageBox::Yes | QMessageBox::No );
659-
if ( res != QMessageBox::Yes )
660-
{
661-
return;
662-
}
663-
}
664-
665-
// add new symbol to style and re-populate the list
666-
mStyle->addSymbol( name, mSymbol->clone() );
667-
668-
// make sure the symbol is stored
669-
mStyle->saveSymbol( name, mSymbol->clone(), 0, QStringList() );
670-
}
671-
672644
void QgsSymbolSelectorWidget::changeLayer( QgsSymbolLayer* newLayer )
673645
{
674646
SymbolLayerItem* item = currentLayerItem();
@@ -832,13 +804,6 @@ void QgsSymbolSelectorDialog::lockLayer()
832804
mSelectorWidget->lockLayer();
833805
}
834806

835-
void QgsSymbolSelectorDialog::saveSymbol()
836-
{
837-
Q_NOWARN_DEPRECATED_PUSH
838-
mSelectorWidget->saveSymbol();
839-
Q_NOWARN_DEPRECATED_POP
840-
}
841-
842807
void QgsSymbolSelectorDialog::duplicateLayer()
843808
{
844809
mSelectorWidget->duplicateLayer();

‎src/gui/symbology-ng/qgssymbolselectordialog.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,6 @@ class GUI_EXPORT QgsSymbolSelectorWidget: public QgsPanelWidget, private Ui::Qgs
206206
*/
207207
void lockLayer();
208208

209-
/**
210-
* Save the current active symbol layer into the users saved styles.
211-
*/
212-
Q_DECL_DEPRECATED void saveSymbol();
213-
214209
//! Duplicates the current symbol layer and places the duplicated layer above the current symbol layer
215210
//! @note added in QGIS 2.14
216211
void duplicateLayer();
@@ -330,8 +325,6 @@ class GUI_EXPORT QgsSymbolSelectorDialog : public QDialog
330325

331326
void lockLayer();
332327

333-
Q_DECL_DEPRECATED void saveSymbol();
334-
335328
//! Duplicates the current symbol layer and places the duplicated layer above the current symbol layer
336329
//! @note added in QGIS 2.14
337330
void duplicateLayer();

‎tests/src/python/test_qgssymbolexpressionvariables.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
QgsMultiRenderChecker,
3737
QgsSingleSymbolRenderer,
3838
QgsFillSymbol,
39-
QgsRenderContext
39+
QgsRenderContext,
40+
QgsDataDefined
4041
)
4142

4243
from qgis.testing import unittest, start_app
@@ -70,7 +71,7 @@ def testPartNum(self):
7071
sym1 = QgsFillSymbol.createSimple({'color': '#fdbf6f'})
7172

7273
renderer = QgsSingleSymbolRenderer(sym1)
73-
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', 'color_rgb( (@geometry_part_num - 1) * 200, 0, 0 )')
74+
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', QgsDataDefined('color_rgb( (@geometry_part_num - 1) * 200, 0, 0 )'))
7475
self.layer.setRenderer(renderer)
7576

7677
# Setup rendering check
@@ -86,7 +87,7 @@ def testPartCount(self):
8687
sym1 = QgsFillSymbol.createSimple({'color': '#fdbf6f'})
8788

8889
renderer = QgsSingleSymbolRenderer(sym1)
89-
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', 'color_rgb( (@geometry_part_count - 1) * 200, 0, 0 )')
90+
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', QgsDataDefined('color_rgb( (@geometry_part_count - 1) * 200, 0, 0 )'))
9091
self.layer.setRenderer(renderer)
9192

9293
# Setup rendering check
@@ -102,7 +103,7 @@ def testSymbolColor(self):
102103
sym1 = QgsFillSymbol.createSimple({'color': '#ff0000'})
103104

104105
renderer = QgsSingleSymbolRenderer(sym1)
105-
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', 'set_color_part( @symbol_color, \'value\', "Value" * 4)')
106+
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', QgsDataDefined('set_color_part( @symbol_color, \'value\', "Value" * 4)'))
106107
self.layer.setRenderer(renderer)
107108

108109
# Setup rendering check

0 commit comments

Comments
 (0)
Please sign in to comment.