void QgsAtlasComposition::setHideCoverage( bool hide )
{
  mHideCoverage = hide;

  if ( mComposition->atlasMode() == QgsComposition::PreviewAtlas )
  {
    //an atlas preview is enabled, so reflect changes in coverage layer visibility immediately
    QStringList& layerSet = mComposition->mapRenderer()->layerSet();
    if ( hide )
    {
      // look for the layer in the renderer's set
      int removeAt = layerSet.indexOf( mCoverageLayer->id() );
      if ( removeAt != -1 )
      {
        mRestoreLayer = true;
        layerSet.removeAt( removeAt );
      }
    }
    else
    {
      if ( mRestoreLayer )
      {
        layerSet.push_back( mCoverageLayer->id() );
        mRestoreLayer = false;
      }
    }
    updateAtlasMaps();
    mComposition->update();
  }

}
void QgsAtlasComposition::endRender()
{
  if ( !mCoverageLayer )
  {
    return;
  }

  // reset label expression contexts
  QList<QgsComposerLabel*> labels;
  mComposition->composerItems( labels );
  for ( QList<QgsComposerLabel*>::iterator lit = labels.begin(); lit != labels.end(); ++lit )
  {
    ( *lit )->setExpressionContext( 0, 0 );
  }

  // restore the coverage visibility
  if ( mRestoreLayer )
  {
    QStringList& layerSet = mComposition->mapRenderer()->layerSet();

    layerSet.push_back( mCoverageLayer->id() );
  }

  updateAtlasMaps();
}
示例#3
0
void QgsAtlasComposition::setHideCoverage( bool hide )
{
  mHideCoverage = hide;

  if ( mComposition->atlasMode() == QgsComposition::PreviewAtlas )
  {
    //an atlas preview is enabled, so reflect changes in coverage layer visibility immediately
    updateAtlasMaps();
    mComposition->update();
  }

}
示例#4
0
void QgsAtlasComposition::endRender()
{
  if ( !mCoverageLayer )
  {
    return;
  }

  emit featureChanged( nullptr );

  updateAtlasMaps();

  emit renderEnded();
}
示例#5
0
void QgsAtlasComposition::endRender()
{
  if ( !mCoverageLayer )
  {
    return;
  }

  // reset label expression contexts
  QList<QgsComposerLabel*> labels;
  mComposition->composerItems( labels );
  for ( QList<QgsComposerLabel*>::iterator lit = labels.begin(); lit != labels.end(); ++lit )
  {
    ( *lit )->setExpressionContext( 0, 0 );
  }

  updateAtlasMaps();
}