QgsComposerLegend::QgsComposerLegend( QgsComposition* composition ) : QgsComposerItem( composition ) , mCustomLayerTree( nullptr ) , mComposerMap( nullptr ) , mLegendFilterByMap( false ) , mLegendFilterByExpression( false ) , mFilterOutAtlas( false ) , mFilterAskedForUpdate( false ) , mInAtlas( false ) , mInitialMapScaleCalculated( false ) , mForceResize( false ) , mSizeToContents( true ) { mLegendModel = new QgsLegendModel( mComposition->project()->layerTreeRoot() ); connect( &composition->atlasComposition(), SIGNAL( renderEnded() ), this, SLOT( onAtlasEnded() ) ); connect( &composition->atlasComposition(), SIGNAL( featureChanged( QgsFeature* ) ), this, SLOT( onAtlasFeature( QgsFeature* ) ) ); // Connect to the main layertreeroot. // It serves in "auto update mode" as a medium between the main app legend and this one connect( mComposition->project()->layerTreeRoot(), SIGNAL( customPropertyChanged( QgsLayerTreeNode*, QString ) ), this, SLOT( nodeCustomPropertyChanged( QgsLayerTreeNode*, QString ) ) ); }
QgsComposerLegend::QgsComposerLegend( QgsComposition* composition ) : QgsComposerItem( composition ) , mCustomLayerTree( 0 ) , mComposerMap( 0 ) , mLegendFilterByMap( false ) , mFilterOutAtlas( false ) , mFilterAskedForUpdate( false ) , mInAtlas( false ) { mLegendModel2 = new QgsLegendModelV2( QgsProject::instance()->layerTreeRoot() ); adjustBoxSize(); connect( &mLegendModel, SIGNAL( layersChanged() ), this, SLOT( synchronizeWithModel() ) ); connect( &composition->atlasComposition(), SIGNAL( renderEnded() ), this, SLOT( onAtlasEnded() ) ); connect( &composition->atlasComposition(), SIGNAL( featureChanged( QgsFeature* ) ), this, SLOT( onAtlasFeature( QgsFeature* ) ) ); // Connect to the main layertreeroot. // It serves in "auto update mode" as a medium between the main app legend and this one connect( QgsProject::instance()->layerTreeRoot(), SIGNAL( customPropertyChanged( QgsLayerTreeNode*, QString ) ), this, SLOT( nodeCustomPropertyChanged( QgsLayerTreeNode*, QString ) ) ); }