Skip to content

Commit df02157

Browse files
committedOct 9, 2017
Auxiliary fields for symbol layers
1 parent 609249d commit df02157

27 files changed

+219
-164
lines changed
 

‎python/core/symbology/qgssymbollayerregistry.sip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ In C++ you can use QgsSymbolLayerMetadata convenience class.
4747
Create a symbol layer of this type given the map of properties.
4848
:rtype: QgsSymbolLayer
4949
%End
50-
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( const QgsVectorLayer * ) /Factory/;
50+
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( QgsVectorLayer * ) /Factory/;
5151
%Docstring
5252
Create widget for symbol layer of this type. Can return NULL if there's no GUI
5353
:rtype: QgsSymbolLayerWidget
@@ -86,7 +86,7 @@ Convenience metadata class that uses static functions to create symbol layer and
8686

8787

8888
virtual QgsSymbolLayer *createSymbolLayer( const QgsStringMap &map ) /Factory/;
89-
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( const QgsVectorLayer *vl ) /Factory/;
89+
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( QgsVectorLayer *vl ) /Factory/;
9090
virtual QgsSymbolLayer *createSymbolLayerFromSld( QDomElement &elem ) /Factory/;
9191
virtual void resolvePaths( QgsStringMap &properties, const QgsPathResolver &pathResolver, bool saving );
9292

‎python/gui/symbology/qgsarrowsymbollayerwidget.sip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ class QgsArrowSymbolLayerWidget: QgsSymbolLayerWidget
1616
%End
1717
public:
1818

19-
QgsArrowSymbolLayerWidget( const QgsVectorLayer *layer, QWidget *parent /TransferThis/ = 0 );
19+
QgsArrowSymbolLayerWidget( QgsVectorLayer *layer, QWidget *parent /TransferThis/ = 0 );
2020
%Docstring
2121
Constructor
2222
\param layer the layer where this symbol layer is applied
2323
\param parent the parent widget
2424
%End
2525

26-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *layer ) /Factory/;
26+
static QgsSymbolLayerWidget *create( QgsVectorLayer *layer ) /Factory/;
2727
%Docstring
2828
Static creation method
2929
\param layer the layer where this symbol layer is applied

‎python/gui/symbology/qgsellipsesymbollayerwidget.sip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ class QgsEllipseSymbolLayerWidget: QgsSymbolLayerWidget
1515
#include "qgsellipsesymbollayerwidget.h"
1616
%End
1717
public:
18-
QgsEllipseSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
18+
QgsEllipseSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
1919

20-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
20+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
2121
%Docstring
2222
:rtype: QgsSymbolLayerWidget
2323
%End

‎python/gui/symbology/qgslayerpropertieswidget.sip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class QgsLayerPropertiesWidget : QgsPanelWidget, QgsExpressionContextGenerator
1818
#include "qgslayerpropertieswidget.h"
1919
%End
2020
public:
21-
QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
21+
QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
2222

2323
void setContext( const QgsSymbolWidgetContext &context );
2424
%Docstring

‎python/gui/symbology/qgssymbollayerwidget.sip

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class QgsSymbolLayerWidget : QWidget, protected QgsExpressionContextGenerator
1616
#include "qgssymbollayerwidget.h"
1717
%End
1818
public:
19-
QgsSymbolLayerWidget( QWidget *parent /TransferThis/, const QgsVectorLayer *vl = 0 );
19+
QgsSymbolLayerWidget( QWidget *parent /TransferThis/, QgsVectorLayer *vl = 0 );
2020

2121
virtual void setSymbolLayer( QgsSymbolLayer *layer ) = 0;
2222
virtual QgsSymbolLayer *symbolLayer() = 0;
@@ -79,6 +79,8 @@ class QgsSymbolLayerWidget : QWidget, protected QgsExpressionContextGenerator
7979
protected slots:
8080
void updateDataDefinedProperty();
8181

82+
void createAuxiliaryField();
83+
8284
};
8385

8486

@@ -91,9 +93,9 @@ class QgsSimpleLineSymbolLayerWidget : QgsSymbolLayerWidget
9193
#include "qgssymbollayerwidget.h"
9294
%End
9395
public:
94-
QgsSimpleLineSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
96+
QgsSimpleLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
9597

96-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
98+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
9799
%Docstring
98100
:rtype: QgsSymbolLayerWidget
99101
%End
@@ -117,9 +119,9 @@ class QgsSimpleMarkerSymbolLayerWidget : QgsSymbolLayerWidget
117119
#include "qgssymbollayerwidget.h"
118120
%End
119121
public:
120-
QgsSimpleMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
122+
QgsSimpleMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
121123

122-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
124+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
123125
%Docstring
124126
:rtype: QgsSymbolLayerWidget
125127
%End
@@ -146,9 +148,9 @@ class QgsSimpleFillSymbolLayerWidget : QgsSymbolLayerWidget
146148
#include "qgssymbollayerwidget.h"
147149
%End
148150
public:
149-
QgsSimpleFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
151+
QgsSimpleFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
150152

151-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
153+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
152154
%Docstring
153155
:rtype: QgsSymbolLayerWidget
154156
%End
@@ -180,14 +182,14 @@ class QgsFilledMarkerSymbolLayerWidget : QgsSymbolLayerWidget
180182
%End
181183
public:
182184

183-
QgsFilledMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
185+
QgsFilledMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
184186
%Docstring
185187
Constructor for QgsFilledMarkerSymbolLayerWidget.
186188
\param vl associated vector layer
187189
\param parent parent widget
188190
%End
189191

190-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
192+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
191193
%Docstring
192194
Creates a new QgsFilledMarkerSymbolLayerWidget.
193195
\param vl associated vector layer
@@ -211,9 +213,9 @@ class QgsGradientFillSymbolLayerWidget : QgsSymbolLayerWidget
211213
#include "qgssymbollayerwidget.h"
212214
%End
213215
public:
214-
QgsGradientFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
216+
QgsGradientFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
215217

216-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
218+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
217219
%Docstring
218220
:rtype: QgsSymbolLayerWidget
219221
%End
@@ -247,9 +249,9 @@ class QgsShapeburstFillSymbolLayerWidget : QgsSymbolLayerWidget
247249
#include "qgssymbollayerwidget.h"
248250
%End
249251
public:
250-
QgsShapeburstFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
252+
QgsShapeburstFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
251253

252-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
254+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
253255
%Docstring
254256
:rtype: QgsSymbolLayerWidget
255257
%End
@@ -275,9 +277,9 @@ class QgsMarkerLineSymbolLayerWidget : QgsSymbolLayerWidget
275277
#include "qgssymbollayerwidget.h"
276278
%End
277279
public:
278-
QgsMarkerLineSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
280+
QgsMarkerLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
279281

280-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
282+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
281283
%Docstring
282284
:rtype: QgsSymbolLayerWidget
283285
%End
@@ -306,9 +308,9 @@ class QgsSvgMarkerSymbolLayerWidget : QgsSymbolLayerWidget
306308
#include "qgssymbollayerwidget.h"
307309
%End
308310
public:
309-
QgsSvgMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
311+
QgsSvgMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
310312

311-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
313+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
312314
%Docstring
313315
:rtype: QgsSymbolLayerWidget
314316
%End
@@ -334,9 +336,9 @@ class QgsRasterFillSymbolLayerWidget : QgsSymbolLayerWidget
334336
#include "qgssymbollayerwidget.h"
335337
%End
336338
public:
337-
QgsRasterFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
339+
QgsRasterFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
338340

339-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
341+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
340342
%Docstring
341343
:rtype: QgsSymbolLayerWidget
342344
%End
@@ -358,9 +360,9 @@ class QgsSVGFillSymbolLayerWidget : QgsSymbolLayerWidget
358360
#include "qgssymbollayerwidget.h"
359361
%End
360362
public:
361-
QgsSVGFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
363+
QgsSVGFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
362364

363-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
365+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
364366
%Docstring
365367
:rtype: QgsSymbolLayerWidget
366368
%End
@@ -392,8 +394,8 @@ class QgsLinePatternFillSymbolLayerWidget : QgsSymbolLayerWidget
392394
%End
393395
public:
394396

395-
QgsLinePatternFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
396-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
397+
QgsLinePatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
398+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
397399
%Docstring
398400
:rtype: QgsSymbolLayerWidget
399401
%End
@@ -415,8 +417,8 @@ class QgsPointPatternFillSymbolLayerWidget: QgsSymbolLayerWidget
415417
#include "qgssymbollayerwidget.h"
416418
%End
417419
public:
418-
QgsPointPatternFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
419-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
420+
QgsPointPatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
421+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
420422
%Docstring
421423
:rtype: QgsSymbolLayerWidget
422424
%End
@@ -438,9 +440,9 @@ class QgsFontMarkerSymbolLayerWidget : QgsSymbolLayerWidget
438440
#include "qgssymbollayerwidget.h"
439441
%End
440442
public:
441-
QgsFontMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
443+
QgsFontMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
442444

443-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
445+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
444446
%Docstring
445447
:rtype: QgsSymbolLayerWidget
446448
%End
@@ -476,9 +478,9 @@ class QgsCentroidFillSymbolLayerWidget : QgsSymbolLayerWidget
476478
#include "qgssymbollayerwidget.h"
477479
%End
478480
public:
479-
QgsCentroidFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
481+
QgsCentroidFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
480482

481-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
483+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
482484
%Docstring
483485
:rtype: QgsSymbolLayerWidget
484486
%End
@@ -500,9 +502,9 @@ class QgsGeometryGeneratorSymbolLayerWidget : QgsSymbolLayerWidget
500502
#include "qgssymbollayerwidget.h"
501503
%End
502504
public:
503-
QgsGeometryGeneratorSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
505+
QgsGeometryGeneratorSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
504506

505-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
507+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
506508
%Docstring
507509
Will be registered as factory
508510
:rtype: QgsSymbolLayerWidget

‎python/gui/symbology/qgssymbolselectordialog.sip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class QgsSymbolSelectorWidget: QgsPanelWidget
2828
%End
2929
public:
3030

31-
QgsSymbolSelectorWidget( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
31+
QgsSymbolSelectorWidget( QgsSymbol *symbol, QgsStyle *style, QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
3232
%Docstring
3333
Symbol selector widget that can be used to select and build a symbol
3434
\param symbol The symbol to load into the widget as a start point.
@@ -184,7 +184,7 @@ class QgsSymbolSelectorDialog : QDialog
184184
#include "qgssymbolselectordialog.h"
185185
%End
186186
public:
187-
QgsSymbolSelectorDialog( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0, bool embedded = false );
187+
QgsSymbolSelectorDialog( QgsSymbol *symbol, QgsStyle *style, QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0, bool embedded = false );
188188
~QgsSymbolSelectorDialog();
189189

190190
QMenu *advancedMenu();

‎python/gui/symbology/qgsvectorfieldsymbollayerwidget.sip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ class QgsVectorFieldSymbolLayerWidget: QgsSymbolLayerWidget
1515
#include "qgsvectorfieldsymbollayerwidget.h"
1616
%End
1717
public:
18-
QgsVectorFieldSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
18+
QgsVectorFieldSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0 );
1919

20-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) /Factory/;
20+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) /Factory/;
2121
%Docstring
2222
:rtype: QgsSymbolLayerWidget
2323
%End

‎src/app/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ SET(QGIS_APP_SRCS
181181
pluginmanager/qgspluginitemdelegate.cpp
182182

183183
qgsnewspatialitelayerdialog.cpp
184-
qgsnewauxiliarylayerdialog.cpp
185184

186185
qgssettingstree.cpp
187186
qgsvariantdelegate.cpp
@@ -360,7 +359,6 @@ SET (QGIS_APP_MOC_HDRS
360359
pluginmanager/qgspluginitemdelegate.h
361360

362361
qgsnewspatialitelayerdialog.h
363-
qgsnewauxiliarylayerdialog.h
364362

365363
qgssettingstree.h
366364
qgsvariantdelegate.h

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,6 +1407,7 @@ void QgsVectorLayerProperties::updateSymbologyPage()
14071407
mRendererDialog->setMapCanvas( QgisApp::instance()->mapCanvas() );
14081408
connect( mRendererDialog, &QgsRendererPropertiesDialog::showPanel, this, &QgsVectorLayerProperties::openPanel );
14091409
connect( mRendererDialog, &QgsRendererPropertiesDialog::layerVariablesChanged, this, &QgsVectorLayerProperties::updateVariableEditor );
1410+
connect( mRendererDialog, &QgsRendererPropertiesDialog::widgetChanged, this, [ = ] { updateAuxiliaryStoragePage(); } );
14101411

14111412
// display the menu to choose the output format (fix #5136)
14121413
mActionSaveStyleAs->setText( tr( "Save Style" ) );

‎src/core/qgsauxiliarystorage.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "qgsvectorlayerlabeling.h"
2323
#include "qgsdiagramrenderer.h"
2424
#include "qgsmemoryproviderutils.h"
25+
#include "qgssymbollayer.h"
2526

2627
#include <QFile>
2728

@@ -59,6 +60,18 @@ QgsAuxiliaryField::QgsAuxiliaryField( const QgsField &f )
5960
}
6061
}
6162
}
63+
else if ( origin.compare( "symbol", Qt::CaseInsensitive ) == 0 )
64+
{
65+
const QgsPropertiesDefinition props = QgsSymbolLayer::propertyDefinitions();
66+
Q_FOREACH ( const QgsPropertyDefinition p, props.values() )
67+
{
68+
if ( p.name().compare( propertyName, Qt::CaseInsensitive ) == 0 )
69+
{
70+
def = p;
71+
break;
72+
}
73+
}
74+
}
6275
else if ( origin.compare( "diagram", Qt::CaseInsensitive ) == 0 )
6376
{
6477
const QgsPropertiesDefinition props = QgsDiagramLayerSettings::propertyDefinitions();

‎src/core/symbology/qgssymbollayer.cpp

Lines changed: 52 additions & 50 deletions
Large diffs are not rendered by default.

‎src/core/symbology/qgssymbollayerregistry.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class CORE_EXPORT QgsSymbolLayerAbstractMetadata
4949
//! Create a symbol layer of this type given the map of properties.
5050
virtual QgsSymbolLayer *createSymbolLayer( const QgsStringMap &map ) = 0 SIP_FACTORY;
5151
//! Create widget for symbol layer of this type. Can return NULL if there's no GUI
52-
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( const QgsVectorLayer * ) SIP_FACTORY { return nullptr; }
52+
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( QgsVectorLayer * ) SIP_FACTORY { return nullptr; }
5353
//! Create a symbol layer of this type given the map of properties.
5454
virtual QgsSymbolLayer *createSymbolLayerFromSld( QDomElement & ) SIP_FACTORY { return nullptr; }
5555

@@ -75,7 +75,7 @@ class CORE_EXPORT QgsSymbolLayerAbstractMetadata
7575
};
7676

7777
typedef QgsSymbolLayer *( *QgsSymbolLayerCreateFunc )( const QgsStringMap & ) SIP_SKIP;
78-
typedef QgsSymbolLayerWidget *( *QgsSymbolLayerWidgetFunc )( const QgsVectorLayer * ) SIP_SKIP;
78+
typedef QgsSymbolLayerWidget *( *QgsSymbolLayerWidgetFunc )( QgsVectorLayer * ) SIP_SKIP;
7979
typedef QgsSymbolLayer *( *QgsSymbolLayerCreateFromSldFunc )( QDomElement & ) SIP_SKIP;
8080
typedef void ( *QgsSymbolLayerPathResolverFunc )( QgsStringMap &, const QgsPathResolver &, bool ) SIP_SKIP;
8181

@@ -113,7 +113,7 @@ class CORE_EXPORT QgsSymbolLayerMetadata : public QgsSymbolLayerAbstractMetadata
113113
void setWidgetFunction( QgsSymbolLayerWidgetFunc f ) { mWidgetFunc = f; } SIP_SKIP
114114

115115
virtual QgsSymbolLayer *createSymbolLayer( const QgsStringMap &map ) override SIP_FACTORY { return mCreateFunc ? mCreateFunc( map ) : nullptr; }
116-
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( const QgsVectorLayer *vl ) override SIP_FACTORY { return mWidgetFunc ? mWidgetFunc( vl ) : nullptr; }
116+
virtual QgsSymbolLayerWidget *createSymbolLayerWidget( QgsVectorLayer *vl ) override SIP_FACTORY { return mWidgetFunc ? mWidgetFunc( vl ) : nullptr; }
117117
virtual QgsSymbolLayer *createSymbolLayerFromSld( QDomElement &elem ) override SIP_FACTORY { return mCreateFromSldFunc ? mCreateFromSldFunc( elem ) : nullptr; }
118118
virtual void resolvePaths( QgsStringMap &properties, const QgsPathResolver &pathResolver, bool saving ) override
119119
{

‎src/gui/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ SET(QGIS_GUI_SRCS
296296
qgsmessagelogviewer.cpp
297297
qgsmessageviewer.cpp
298298
qgsmetadatawidget.cpp
299+
qgsnewauxiliarylayerdialog.cpp
299300
qgsnewhttpconnection.cpp
300301
qgsnewmemorylayerdialog.cpp
301302
qgsnewnamedialog.cpp
@@ -456,6 +457,7 @@ SET(QGIS_GUI_MOC_HDRS
456457
qgsmessagelogviewer.h
457458
qgsmessageviewer.h
458459
qgsmetadatawidget.h
460+
qgsnewauxiliarylayerdialog.h
459461
qgsnewhttpconnection.h
460462
qgsnewmemorylayerdialog.h
461463
qgsnewnamedialog.h

‎src/app/qgsnewauxiliarylayerdialog.h renamed to ‎src/gui/qgsnewauxiliarylayerdialog.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@
2020

2121
#include "ui_qgsnewauxiliarylayerdialogbase.h"
2222
#include "qgsguiutils.h"
23-
#include "qgis_app.h"
23+
#include "qgis_gui.h"
2424
#include "qgsvectorlayer.h"
2525

2626
/**
27-
* \ingroup app
27+
* \ingroup gui
2828
*
2929
* \brief A dialog to create a new auxiliary layer
3030
*
3131
* \since QGIS 3.0
3232
*/
33-
class APP_EXPORT QgsNewAuxiliaryLayerDialog: public QDialog, private Ui::QgsNewAuxiliaryLayerDialogBase
33+
class GUI_EXPORT QgsNewAuxiliaryLayerDialog: public QDialog, private Ui::QgsNewAuxiliaryLayerDialogBase
3434
{
3535
Q_OBJECT
3636

‎src/gui/symbology/qgsarrowsymbollayerwidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include "qgsvectorlayer.h"
1818
#include <QColorDialog>
1919

20-
QgsArrowSymbolLayerWidget::QgsArrowSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
20+
QgsArrowSymbolLayerWidget::QgsArrowSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
2121
: QgsSymbolLayerWidget( parent, vl )
2222

2323
{

‎src/gui/symbology/qgsarrowsymbollayerwidget.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ class GUI_EXPORT QgsArrowSymbolLayerWidget: public QgsSymbolLayerWidget, private
3737
* \param layer the layer where this symbol layer is applied
3838
* \param parent the parent widget
3939
*/
40-
QgsArrowSymbolLayerWidget( const QgsVectorLayer *layer, QWidget *parent SIP_TRANSFERTHIS = 0 );
40+
QgsArrowSymbolLayerWidget( QgsVectorLayer *layer, QWidget *parent SIP_TRANSFERTHIS = 0 );
4141

4242
/**
4343
* Static creation method
4444
* \param layer the layer where this symbol layer is applied
4545
*/
46-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *layer ) SIP_FACTORY { return new QgsArrowSymbolLayerWidget( layer ); }
46+
static QgsSymbolLayerWidget *create( QgsVectorLayer *layer ) SIP_FACTORY { return new QgsArrowSymbolLayerWidget( layer ); }
4747

4848
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
4949
virtual QgsSymbolLayer *symbolLayer() override;

‎src/gui/symbology/qgsellipsesymbollayerwidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include "qgsvectorlayer.h"
1818
#include <QColorDialog>
1919

20-
QgsEllipseSymbolLayerWidget::QgsEllipseSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
20+
QgsEllipseSymbolLayerWidget::QgsEllipseSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
2121
: QgsSymbolLayerWidget( parent, vl )
2222

2323
{

‎src/gui/symbology/qgsellipsesymbollayerwidget.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ class GUI_EXPORT QgsEllipseSymbolLayerWidget: public QgsSymbolLayerWidget, priva
3131
Q_OBJECT
3232

3333
public:
34-
QgsEllipseSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = 0 );
34+
QgsEllipseSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = 0 );
3535

36-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsEllipseSymbolLayerWidget( vl ); }
36+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsEllipseSymbolLayerWidget( vl ); }
3737

3838
// from base class
3939
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;

‎src/gui/symbology/qgslayerpropertieswidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ static void _initWidgetFunctions()
8989
}
9090

9191

92-
QgsLayerPropertiesWidget::QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, const QgsVectorLayer *vl, QWidget *parent )
92+
QgsLayerPropertiesWidget::QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, QgsVectorLayer *vl, QWidget *parent )
9393
: QgsPanelWidget( parent )
9494
, mLayer( layer )
9595
, mSymbol( symbol )

‎src/gui/symbology/qgslayerpropertieswidget.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class GUI_EXPORT QgsLayerPropertiesWidget : public QgsPanelWidget, public QgsExp
4343
Q_OBJECT
4444

4545
public:
46-
QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
46+
QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
4747

4848
/**
4949
* Sets the context in which the symbol widget is shown, e.g., the associated map canvas and expression contexts.
@@ -93,7 +93,7 @@ class GUI_EXPORT QgsLayerPropertiesWidget : public QgsPanelWidget, public QgsExp
9393
QgsSymbolLayer *mLayer = nullptr;
9494

9595
const QgsSymbol *mSymbol = nullptr;
96-
const QgsVectorLayer *mVectorLayer = nullptr;
96+
QgsVectorLayer *mVectorLayer = nullptr;
9797

9898
private slots:
9999
void reloadLayer();

‎src/gui/symbology/qgssymbollayerwidget.cpp

Lines changed: 50 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
#include "qgssvgselectorwidget.h"
3939
#include "qgslogger.h"
4040
#include "qgssettings.h"
41+
#include "qgsnewauxiliarylayerdialog.h"
42+
#include "qgsauxiliarystorage.h"
4143

4244
#include <QAbstractButton>
4345
#include <QColorDialog>
@@ -111,10 +113,43 @@ void QgsSymbolLayerWidget::registerDataDefinedButton( QgsPropertyOverrideButton
111113
{
112114
button->init( key, symbolLayer()->dataDefinedProperties(), QgsSymbolLayer::propertyDefinitions(), mVectorLayer );
113115
connect( button, &QgsPropertyOverrideButton::changed, this, &QgsSymbolLayerWidget::updateDataDefinedProperty );
116+
connect( button, &QgsPropertyOverrideButton::createAuxiliaryField, this, &QgsSymbolLayerWidget::createAuxiliaryField );
114117

115118
button->registerExpressionContextGenerator( this );
116119
}
117120

121+
void QgsSymbolLayerWidget::createAuxiliaryField()
122+
{
123+
// try to create an auxiliary layer if not yet created
124+
if ( !mVectorLayer->auxiliaryLayer() )
125+
{
126+
QgsNewAuxiliaryLayerDialog dlg( mVectorLayer, this );
127+
dlg.exec();
128+
}
129+
130+
// return if still not exists
131+
if ( !mVectorLayer->auxiliaryLayer() )
132+
return;
133+
134+
QgsPropertyOverrideButton *button = qobject_cast<QgsPropertyOverrideButton *>( sender() );
135+
QgsSymbolLayer::Property key = static_cast< QgsSymbolLayer::Property >( button->propertyKey() );
136+
const QgsPropertyDefinition def = QgsSymbolLayer::propertyDefinitions()[key];
137+
138+
// create property in auxiliary storage if necessary
139+
if ( !mVectorLayer->auxiliaryLayer()->exists( def ) )
140+
mVectorLayer->auxiliaryLayer()->addAuxiliaryField( def );
141+
142+
// update property with join field name from auxiliary storage
143+
QgsProperty property = button->toProperty();
144+
property.setField( QgsAuxiliaryField::nameFromProperty( def, true ) );
145+
property.setActive( true );
146+
button->updateFieldLists();
147+
button->setToProperty( property );
148+
symbolLayer()->setDataDefinedProperty( key, button->toProperty() );
149+
150+
emit changed();
151+
}
152+
118153
void QgsSymbolLayerWidget::updateDataDefinedProperty()
119154
{
120155
QgsPropertyOverrideButton *button = qobject_cast<QgsPropertyOverrideButton *>( sender() );
@@ -123,7 +158,7 @@ void QgsSymbolLayerWidget::updateDataDefinedProperty()
123158
emit changed();
124159
}
125160

126-
QgsSimpleLineSymbolLayerWidget::QgsSimpleLineSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
161+
QgsSimpleLineSymbolLayerWidget::QgsSimpleLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
127162
: QgsSymbolLayerWidget( parent, vl )
128163
{
129164
mLayer = nullptr;
@@ -371,7 +406,7 @@ void QgsSimpleLineSymbolLayerWidget::updatePatternIcon()
371406
///////////
372407

373408

374-
QgsSimpleMarkerSymbolLayerWidget::QgsSimpleMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
409+
QgsSimpleMarkerSymbolLayerWidget::QgsSimpleMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
375410
: QgsSymbolLayerWidget( parent, vl )
376411
{
377412
mLayer = nullptr;
@@ -660,7 +695,7 @@ void QgsSimpleMarkerSymbolLayerWidget::updateAssistantSymbol()
660695

661696
///////////
662697

663-
QgsSimpleFillSymbolLayerWidget::QgsSimpleFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
698+
QgsSimpleFillSymbolLayerWidget::QgsSimpleFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
664699
: QgsSymbolLayerWidget( parent, vl )
665700
{
666701
mLayer = nullptr;
@@ -813,7 +848,7 @@ void QgsSimpleFillSymbolLayerWidget::mOffsetUnitWidget_changed()
813848

814849
///////////
815850

816-
QgsFilledMarkerSymbolLayerWidget::QgsFilledMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
851+
QgsFilledMarkerSymbolLayerWidget::QgsFilledMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
817852
: QgsSymbolLayerWidget( parent, vl )
818853
{
819854
mLayer = nullptr;
@@ -991,7 +1026,7 @@ void QgsFilledMarkerSymbolLayerWidget::updateAssistantSymbol()
9911026

9921027
///////////
9931028

994-
QgsGradientFillSymbolLayerWidget::QgsGradientFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
1029+
QgsGradientFillSymbolLayerWidget::QgsGradientFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
9951030
: QgsSymbolLayerWidget( parent, vl )
9961031
{
9971032
mLayer = nullptr;
@@ -1322,7 +1357,7 @@ void QgsGradientFillSymbolLayerWidget::mOffsetUnitWidget_changed()
13221357

13231358
///////////
13241359

1325-
QgsShapeburstFillSymbolLayerWidget::QgsShapeburstFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
1360+
QgsShapeburstFillSymbolLayerWidget::QgsShapeburstFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
13261361
: QgsSymbolLayerWidget( parent, vl )
13271362
{
13281363
mLayer = nullptr;
@@ -1583,7 +1618,7 @@ void QgsShapeburstFillSymbolLayerWidget::mIgnoreRingsCheckBox_stateChanged( int
15831618

15841619
///////////
15851620

1586-
QgsMarkerLineSymbolLayerWidget::QgsMarkerLineSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
1621+
QgsMarkerLineSymbolLayerWidget::QgsMarkerLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
15871622
: QgsSymbolLayerWidget( parent, vl )
15881623
{
15891624
mLayer = nullptr;
@@ -1753,7 +1788,7 @@ void QgsMarkerLineSymbolLayerWidget::mOffsetAlongLineUnitWidget_changed()
17531788
///////////
17541789

17551790

1756-
QgsSvgMarkerSymbolLayerWidget::QgsSvgMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
1791+
QgsSvgMarkerSymbolLayerWidget::QgsSvgMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
17571792
: QgsSymbolLayerWidget( parent, vl )
17581793
{
17591794
mLayer = nullptr;
@@ -2239,7 +2274,7 @@ void QgsSvgMarkerSymbolLayerWidget::mVerticalAnchorComboBox_currentIndexChanged(
22392274

22402275
/////////////
22412276

2242-
QgsSVGFillSymbolLayerWidget::QgsSVGFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent ): QgsSymbolLayerWidget( parent, vl )
2277+
QgsSVGFillSymbolLayerWidget::QgsSVGFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent ): QgsSymbolLayerWidget( parent, vl )
22432278
{
22442279
mLayer = nullptr;
22452280
setupUi( this );
@@ -2538,7 +2573,7 @@ void QgsSVGFillSymbolLayerWidget::mSvgStrokeWidthUnitWidget_changed()
25382573

25392574
/////////////
25402575

2541-
QgsLinePatternFillSymbolLayerWidget::QgsLinePatternFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent ):
2576+
QgsLinePatternFillSymbolLayerWidget::QgsLinePatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent ):
25422577
QgsSymbolLayerWidget( parent, vl )
25432578
{
25442579
setupUi( this );
@@ -2645,7 +2680,7 @@ void QgsLinePatternFillSymbolLayerWidget::mOffsetUnitWidget_changed()
26452680

26462681
/////////////
26472682

2648-
QgsPointPatternFillSymbolLayerWidget::QgsPointPatternFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent ):
2683+
QgsPointPatternFillSymbolLayerWidget::QgsPointPatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent ):
26492684
QgsSymbolLayerWidget( parent, vl )
26502685
{
26512686
setupUi( this );
@@ -2795,7 +2830,7 @@ void QgsPointPatternFillSymbolLayerWidget::mVerticalDisplacementUnitWidget_chang
27952830

27962831
/////////////
27972832

2798-
QgsFontMarkerSymbolLayerWidget::QgsFontMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
2833+
QgsFontMarkerSymbolLayerWidget::QgsFontMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
27992834
: QgsSymbolLayerWidget( parent, vl )
28002835
{
28012836
mLayer = nullptr;
@@ -3034,7 +3069,7 @@ void QgsFontMarkerSymbolLayerWidget::updateAssistantSymbol()
30343069
///////////////
30353070

30363071

3037-
QgsCentroidFillSymbolLayerWidget::QgsCentroidFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
3072+
QgsCentroidFillSymbolLayerWidget::QgsCentroidFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
30383073
: QgsSymbolLayerWidget( parent, vl )
30393074
{
30403075
mLayer = nullptr;
@@ -3076,7 +3111,7 @@ void QgsCentroidFillSymbolLayerWidget::mDrawAllPartsCheckBox_stateChanged( int s
30763111

30773112
///////////////
30783113

3079-
QgsRasterFillSymbolLayerWidget::QgsRasterFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
3114+
QgsRasterFillSymbolLayerWidget::QgsRasterFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
30803115
: QgsSymbolLayerWidget( parent, vl )
30813116
{
30823117
mLayer = nullptr;
@@ -3359,7 +3394,7 @@ void QgsRasterFillSymbolLayerWidget::updatePreviewImage()
33593394
}
33603395

33613396

3362-
QgsGeometryGeneratorSymbolLayerWidget::QgsGeometryGeneratorSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent )
3397+
QgsGeometryGeneratorSymbolLayerWidget::QgsGeometryGeneratorSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent )
33633398
: QgsSymbolLayerWidget( parent, vl )
33643399

33653400
{

‎src/gui/symbology/qgssymbollayerwidget.h

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class GUI_EXPORT QgsSymbolLayerWidget : public QWidget, protected QgsExpressionC
3636
Q_OBJECT
3737

3838
public:
39-
QgsSymbolLayerWidget( QWidget *parent SIP_TRANSFERTHIS, const QgsVectorLayer *vl = nullptr )
39+
QgsSymbolLayerWidget( QWidget *parent SIP_TRANSFERTHIS, QgsVectorLayer *vl = nullptr )
4040
: QWidget( parent )
4141
, mVectorLayer( vl )
4242
{}
@@ -78,7 +78,7 @@ class GUI_EXPORT QgsSymbolLayerWidget : public QWidget, protected QgsExpressionC
7878
QgsExpressionContext createExpressionContext() const override;
7979

8080
private:
81-
const QgsVectorLayer *mVectorLayer = nullptr;
81+
QgsVectorLayer *mVectorLayer = nullptr;
8282

8383
QgsMapCanvas *mMapCanvas = nullptr;
8484

@@ -101,6 +101,8 @@ class GUI_EXPORT QgsSymbolLayerWidget : public QWidget, protected QgsExpressionC
101101
protected slots:
102102
void updateDataDefinedProperty();
103103

104+
void createAuxiliaryField();
105+
104106
private:
105107
QgsSymbolWidgetContext mContext;
106108
};
@@ -120,9 +122,9 @@ class GUI_EXPORT QgsSimpleLineSymbolLayerWidget : public QgsSymbolLayerWidget, p
120122
Q_OBJECT
121123

122124
public:
123-
QgsSimpleLineSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
125+
QgsSimpleLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
124126

125-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSimpleLineSymbolLayerWidget( vl ); }
127+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSimpleLineSymbolLayerWidget( vl ); }
126128

127129
// from base class
128130
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -169,9 +171,9 @@ class GUI_EXPORT QgsSimpleMarkerSymbolLayerWidget : public QgsSymbolLayerWidget,
169171
Q_OBJECT
170172

171173
public:
172-
QgsSimpleMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
174+
QgsSimpleMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
173175

174-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSimpleMarkerSymbolLayerWidget( vl ); }
176+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSimpleMarkerSymbolLayerWidget( vl ); }
175177

176178
// from base class
177179
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -220,9 +222,9 @@ class GUI_EXPORT QgsSimpleFillSymbolLayerWidget : public QgsSymbolLayerWidget, p
220222
Q_OBJECT
221223

222224
public:
223-
QgsSimpleFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
225+
QgsSimpleFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
224226

225-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSimpleFillSymbolLayerWidget( vl ); }
227+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSimpleFillSymbolLayerWidget( vl ); }
226228

227229
// from base class
228230
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -269,13 +271,13 @@ class GUI_EXPORT QgsFilledMarkerSymbolLayerWidget : public QgsSymbolLayerWidget,
269271
* \param vl associated vector layer
270272
* \param parent parent widget
271273
*/
272-
QgsFilledMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = 0 );
274+
QgsFilledMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = 0 );
273275

274276
/**
275277
* Creates a new QgsFilledMarkerSymbolLayerWidget.
276278
* \param vl associated vector layer
277279
*/
278-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsFilledMarkerSymbolLayerWidget( vl ); }
280+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsFilledMarkerSymbolLayerWidget( vl ); }
279281

280282
// from base class
281283
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -316,9 +318,9 @@ class GUI_EXPORT QgsGradientFillSymbolLayerWidget : public QgsSymbolLayerWidget,
316318
Q_OBJECT
317319

318320
public:
319-
QgsGradientFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
321+
QgsGradientFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
320322

321-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsGradientFillSymbolLayerWidget( vl ); }
323+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsGradientFillSymbolLayerWidget( vl ); }
322324

323325
// from base class
324326
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -363,9 +365,9 @@ class GUI_EXPORT QgsShapeburstFillSymbolLayerWidget : public QgsSymbolLayerWidge
363365
Q_OBJECT
364366

365367
public:
366-
QgsShapeburstFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
368+
QgsShapeburstFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
367369

368-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsShapeburstFillSymbolLayerWidget( vl ); }
370+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsShapeburstFillSymbolLayerWidget( vl ); }
369371

370372
// from base class
371373
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -405,9 +407,9 @@ class GUI_EXPORT QgsMarkerLineSymbolLayerWidget : public QgsSymbolLayerWidget, p
405407
Q_OBJECT
406408

407409
public:
408-
QgsMarkerLineSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
410+
QgsMarkerLineSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
409411

410-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsMarkerLineSymbolLayerWidget( vl ); }
412+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsMarkerLineSymbolLayerWidget( vl ); }
411413

412414
// from base class
413415
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -448,9 +450,9 @@ class GUI_EXPORT QgsSvgMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, pr
448450
Q_OBJECT
449451

450452
public:
451-
QgsSvgMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
453+
QgsSvgMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
452454

453-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSvgMarkerSymbolLayerWidget( vl ); }
455+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSvgMarkerSymbolLayerWidget( vl ); }
454456

455457
// from base class
456458
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -507,9 +509,9 @@ class GUI_EXPORT QgsRasterFillSymbolLayerWidget : public QgsSymbolLayerWidget, p
507509
Q_OBJECT
508510

509511
public:
510-
QgsRasterFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
512+
QgsRasterFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
511513

512-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsRasterFillSymbolLayerWidget( vl ); }
514+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsRasterFillSymbolLayerWidget( vl ); }
513515

514516
// from base class
515517
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -548,9 +550,9 @@ class GUI_EXPORT QgsSVGFillSymbolLayerWidget : public QgsSymbolLayerWidget, priv
548550
Q_OBJECT
549551

550552
public:
551-
QgsSVGFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
553+
QgsSVGFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
552554

553-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSVGFillSymbolLayerWidget( vl ); }
555+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsSVGFillSymbolLayerWidget( vl ); }
554556

555557
// from base class
556558
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -599,8 +601,8 @@ class GUI_EXPORT QgsLinePatternFillSymbolLayerWidget : public QgsSymbolLayerWidg
599601

600602
public:
601603

602-
QgsLinePatternFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
603-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsLinePatternFillSymbolLayerWidget( vl ); }
604+
QgsLinePatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
605+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsLinePatternFillSymbolLayerWidget( vl ); }
604606

605607
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
606608
virtual QgsSymbolLayer *symbolLayer() override;
@@ -631,8 +633,8 @@ class GUI_EXPORT QgsPointPatternFillSymbolLayerWidget: public QgsSymbolLayerWidg
631633
Q_OBJECT
632634

633635
public:
634-
QgsPointPatternFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
635-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsPointPatternFillSymbolLayerWidget( vl ); }
636+
QgsPointPatternFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
637+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsPointPatternFillSymbolLayerWidget( vl ); }
636638

637639
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
638640
virtual QgsSymbolLayer *symbolLayer() override;
@@ -667,9 +669,9 @@ class GUI_EXPORT QgsFontMarkerSymbolLayerWidget : public QgsSymbolLayerWidget, p
667669
Q_OBJECT
668670

669671
public:
670-
QgsFontMarkerSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
672+
QgsFontMarkerSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
671673

672-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsFontMarkerSymbolLayerWidget( vl ); }
674+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsFontMarkerSymbolLayerWidget( vl ); }
673675

674676
// from base class
675677
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -724,9 +726,9 @@ class GUI_EXPORT QgsCentroidFillSymbolLayerWidget : public QgsSymbolLayerWidget,
724726
Q_OBJECT
725727

726728
public:
727-
QgsCentroidFillSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
729+
QgsCentroidFillSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
728730

729-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsCentroidFillSymbolLayerWidget( vl ); }
731+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsCentroidFillSymbolLayerWidget( vl ); }
730732

731733
// from base class
732734
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;
@@ -756,12 +758,12 @@ class GUI_EXPORT QgsGeometryGeneratorSymbolLayerWidget : public QgsSymbolLayerWi
756758
Q_OBJECT
757759

758760
public:
759-
QgsGeometryGeneratorSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
761+
QgsGeometryGeneratorSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
760762

761763
/**
762764
* Will be registered as factory
763765
*/
764-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsGeometryGeneratorSymbolLayerWidget( vl ); }
766+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsGeometryGeneratorSymbolLayerWidget( vl ); }
765767

766768
// from base class
767769
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;

‎src/gui/symbology/qgssymbolselectordialog.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ class SymbolLayerItem : public QStandardItem
215215

216216
//////////
217217

218-
QgsSymbolSelectorWidget::QgsSymbolSelectorWidget( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent )
218+
QgsSymbolSelectorWidget::QgsSymbolSelectorWidget( QgsSymbol *symbol, QgsStyle *style, QgsVectorLayer *vl, QWidget *parent )
219219
: QgsPanelWidget( parent )
220220
, mVectorLayer( vl )
221221
{
@@ -671,7 +671,7 @@ void QgsSymbolSelectorWidget::changeLayer( QgsSymbolLayer *newLayer )
671671
layerChanged();
672672
}
673673

674-
QgsSymbolSelectorDialog::QgsSymbolSelectorDialog( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent, bool embedded )
674+
QgsSymbolSelectorDialog::QgsSymbolSelectorDialog( QgsSymbol *symbol, QgsStyle *style, QgsVectorLayer *vl, QWidget *parent, bool embedded )
675675
: QDialog( parent )
676676
{
677677
setLayout( new QVBoxLayout() );

‎src/gui/symbology/qgssymbolselectordialog.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class GUI_EXPORT QgsSymbolSelectorWidget: public QgsPanelWidget, private Ui::Qgs
100100
* \param vl The vector layer for the symbol.
101101
* \param parent
102102
*/
103-
QgsSymbolSelectorWidget( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
103+
QgsSymbolSelectorWidget( QgsSymbol *symbol, QgsStyle *style, QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
104104

105105
//! return menu for "advanced" button - create it if doesn't exist and show the advanced button
106106
QMenu *advancedMenu();
@@ -242,7 +242,7 @@ class GUI_EXPORT QgsSymbolSelectorWidget: public QgsPanelWidget, private Ui::Qgs
242242
QgsStyle *mStyle = nullptr;
243243
QgsSymbol *mSymbol = nullptr;
244244
QMenu *mAdvancedMenu = nullptr;
245-
const QgsVectorLayer *mVectorLayer = nullptr;
245+
QgsVectorLayer *mVectorLayer = nullptr;
246246

247247
QStandardItemModel *model = nullptr;
248248
QWidget *mPresentWidget = nullptr;
@@ -261,7 +261,7 @@ class GUI_EXPORT QgsSymbolSelectorDialog : public QDialog
261261
Q_OBJECT
262262

263263
public:
264-
QgsSymbolSelectorDialog( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr, bool embedded = false );
264+
QgsSymbolSelectorDialog( QgsSymbol *symbol, QgsStyle *style, QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr, bool embedded = false );
265265
~QgsSymbolSelectorDialog();
266266

267267
//! return menu for "advanced" button - create it if doesn't exist and show the advanced button

‎src/gui/symbology/qgsvectorfieldsymbollayerwidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include "qgsvectorfieldsymbollayer.h"
1717
#include "qgsvectorlayer.h"
1818

19-
QgsVectorFieldSymbolLayerWidget::QgsVectorFieldSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent ): QgsSymbolLayerWidget( parent, vl )
19+
QgsVectorFieldSymbolLayerWidget::QgsVectorFieldSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent ): QgsSymbolLayerWidget( parent, vl )
2020
{
2121
setupUi( this );
2222
connect( mScaleSpinBox, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsVectorFieldSymbolLayerWidget::mScaleSpinBox_valueChanged );

‎src/gui/symbology/qgsvectorfieldsymbollayerwidget.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ class GUI_EXPORT QgsVectorFieldSymbolLayerWidget: public QgsSymbolLayerWidget, p
3030
{
3131
Q_OBJECT
3232
public:
33-
QgsVectorFieldSymbolLayerWidget( const QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = 0 );
33+
QgsVectorFieldSymbolLayerWidget( QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = 0 );
3434

35-
static QgsSymbolLayerWidget *create( const QgsVectorLayer *vl ) SIP_FACTORY { return new QgsVectorFieldSymbolLayerWidget( vl ); }
35+
static QgsSymbolLayerWidget *create( QgsVectorLayer *vl ) SIP_FACTORY { return new QgsVectorFieldSymbolLayerWidget( vl ); }
3636

3737
// from base class
3838
virtual void setSymbolLayer( QgsSymbolLayer *layer ) override;

0 commit comments

Comments
 (0)
Please sign in to comment.