20#include "moc_qgslayerstylewatcher.cpp"
22using namespace Qt::StringLiterals;
28 , mMapSettings( mapSettings )
34void QgsLayerStyleWatcher::onLayersChanged()
37 const QList<QgsMapLayer *> keys = mLayers.keys();
42 disconnect( layer, &QgsMapLayer::destroyed,
this, &QgsLayerStyleWatcher::onLayerDestroyed );
49 const QList<QgsMapLayer *> layers = mMapSettings->layers();
52 mLayers[layer] =
static_cast< bool >( layer->renderer3D() );
55 connect( layer, &QgsMapLayer::destroyed,
this, &QgsLayerStyleWatcher::onLayerDestroyed );
61void QgsLayerStyleWatcher::onLayerRepaintRequested()
63 if (
QgsMapLayer *layer = qobject_cast<QgsMapLayer *>( sender() ) )
66 if ( mLayers.contains( layer ) && !
static_cast< bool >( layer->renderer3D() ) )
73void QgsLayerStyleWatcher::onLayer3DRendererChanged()
75 if (
QgsMapLayer *layer = qobject_cast<QgsMapLayer *>( sender() ) )
78 if ( mLayers.contains( layer ) && mLayers[layer] !=
static_cast< bool >( layer->renderer3D() ) )
80 mLayers[layer] =
static_cast< bool >( layer->renderer3D() );
85void QgsLayerStyleWatcher::onLayerDestroyed()
87 if (
QgsMapLayer *layer = qobject_cast<QgsMapLayer *>( sender() ) )
89 mLayers.remove( layer );
void layersChanged()
Emitted when the list of map layers for 3d rendering has changed.
Base class for all map layer types.
void renderer3DChanged()
Signal emitted when 3D renderer associated with the layer has changed.
void repaintRequested(bool deferredUpdate=false)
By emitting this signal the layer tells that either appearance or content have been changed and any v...