Esempio n. 1
0
void QgsMapRendererCache::clearCacheImage( const QString& layerId )
{
  QMutexLocker lock( &mMutex );

  mCachedImages.remove( layerId );

  QgsMapLayer* layer = QgsProject::instance()->mapLayer( layerId );
  if ( layer )
  {
    disconnect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) );
  }
}
Esempio n. 2
0
void QgsMapRendererCache::setCacheImage( const QString& layerId, const QImage& img )
{
  QMutexLocker lock( &mMutex );
  mCachedImages[layerId] = img;

  // connect to the layer to listen to layer's repaintRequested() signals
  QgsMapLayer* layer = QgsProject::instance()->mapLayer( layerId );
  if ( layer )
  {
    connect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) );
  }
}
Esempio n. 3
0
void QgsMapRendererCache::clearInternal()
{
  mExtent.setMinimal();
  mScale = 0;

  // make sure we are disconnected from all layers
  Q_FOREACH ( const QString& layerId, mCachedImages.keys() )
  {
    QgsMapLayer* layer = QgsMapLayerRegistry::instance()->mapLayer( layerId );
    if ( layer )
    {
      disconnect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) );
    }
  }
  mCachedImages.clear();
}
Esempio n. 4
0
void QgsMapRendererCache::clearInternal()
{
  mExtent.setMinimal();
  mScale = 0;

  // make sure we are disconnected from all layers
  QMap<QString, QImage>::const_iterator it = mCachedImages.constBegin();
  for ( ; it != mCachedImages.constEnd(); ++it )
  {
    QgsMapLayer* layer = QgsProject::instance()->mapLayer( it.key() );
    if ( layer )
    {
      disconnect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) );
    }
  }
  mCachedImages.clear();
}