Skip to content

Commit 2c66bb2

Browse files
committed
qgssinglesymbol3drendererwidget: Inherit from qgspanelwidget
This will be needed by `Qgs3DSymbolButton` in the next commit.
1 parent 6600ed9 commit 2c66bb2

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/app/3d/qgsvectorlayer3drendererwidget.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
using namespace Qt::StringLiterals;
3838

3939
QgsSingleSymbol3DRendererWidget::QgsSingleSymbol3DRendererWidget( QgsVectorLayer *layer, QWidget *parent )
40-
: QWidget( parent )
40+
: QgsPanelWidget( parent )
4141
, mLayer( layer )
4242
{
4343
// If layer is null, the widget cannot be created.
@@ -72,16 +72,21 @@ void QgsSingleSymbol3DRendererWidget::setLayer( QgsVectorLayer *layer )
7272
if ( r && r->type() == "vector"_L1 )
7373
{
7474
QgsVectorLayer3DRenderer *vectorRenderer = static_cast<QgsVectorLayer3DRenderer *>( r );
75-
widgetSymbol->setSymbol( vectorRenderer->symbol(), mLayer );
75+
setSymbol( vectorRenderer->symbol() );
7676
}
7777
else
7878
{
7979
const std::unique_ptr<QgsAbstract3DSymbol> sym( QgsApplication::symbol3DRegistry()->defaultSymbolForGeometryType( mLayer->geometryType() ) );
8080
sym->setDefaultPropertiesFromLayer( mLayer );
81-
widgetSymbol->setSymbol( sym.get(), mLayer );
81+
setSymbol( sym.get() );
8282
}
8383
}
8484

85+
void QgsSingleSymbol3DRendererWidget::setSymbol( const QgsAbstract3DSymbol *symbol )
86+
{
87+
widgetSymbol->setSymbol( symbol, mLayer );
88+
}
89+
8590
std::unique_ptr<QgsAbstract3DSymbol> QgsSingleSymbol3DRendererWidget::symbol()
8691
{
8792
return widgetSymbol->symbol(); // cloned or null

src/app/3d/qgsvectorlayer3drendererwidget.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#include "qgsmaplayerconfigwidget.h"
2222
#include "qgsmaplayerconfigwidgetfactory.h"
23+
#include "qgspanelwidget.h"
2324
#include "qgsvectorlayer3drenderer.h"
2425

2526
class QComboBox;
@@ -35,7 +36,7 @@ class QgsSymbol3DWidget;
3536
class QgsVectorLayer3DPropertiesWidget;
3637

3738

38-
class QgsSingleSymbol3DRendererWidget : public QWidget
39+
class QgsSingleSymbol3DRendererWidget : public QgsPanelWidget
3940
{
4041
Q_OBJECT
4142
public:
@@ -44,12 +45,12 @@ class QgsSingleSymbol3DRendererWidget : public QWidget
4445
//! no transfer of ownership
4546
void setLayer( QgsVectorLayer *layer );
4647

48+
//! no transfer of ownership
49+
void setSymbol( const QgsAbstract3DSymbol *symbol );
50+
4751
//! Returns the cloned symbol or NULLPTR.
4852
std::unique_ptr<QgsAbstract3DSymbol> symbol();
4953

50-
signals:
51-
void widgetChanged();
52-
5354
private:
5455
QgsSymbol3DWidget *widgetSymbol = nullptr;
5556
QgsVectorLayer *mLayer = nullptr;

0 commit comments

Comments
 (0)