Skip to content

Commit 85b684c

Browse files
olivierdalangjef-n
authored andcommitted
Added layerIsExpanded() to QgsLegendInterface
1 parent e7c34ea commit 85b684c

File tree

6 files changed

+26
-0
lines changed

6 files changed

+26
-0
lines changed

python/gui/qgslegendinterface.sip

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ class QgsLegendInterface : QObject
4343
//! @note added in 1.5
4444
virtual bool isGroupVisible( int groupIndex ) = 0;
4545

46+
//! Check if a layer is expanded
47+
//! @note added in 2.0
48+
virtual bool isLayerExpanded( QgsMapLayer * ml ) = 0;
49+
4650
//! Check if a layer is visible
4751
//! @note added in 1.5
4852
virtual bool isLayerVisible( QgsMapLayer * ml ) = 0;

src/app/legend/qgsapplegendinterface.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,11 @@ bool QgsAppLegendInterface::isGroupVisible( int groupIndex )
167167
return ( Qt::Checked == getItem( groupIndex )->checkState( 0 ) );
168168
}
169169

170+
bool QgsAppLegendInterface::isLayerExpanded( QgsMapLayer * ml )
171+
{
172+
return mLegend->layerIsExpanded( ml );
173+
}
174+
170175
bool QgsAppLegendInterface::isLayerVisible( QgsMapLayer * ml )
171176
{
172177
return ( Qt::Checked == mLegend->layerCheckState( ml ) );

src/app/legend/qgsapplegendinterface.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ class QgsAppLegendInterface : public QgsLegendInterface
6161
//! Check if a group is visible
6262
bool isGroupVisible( int groupIndex );
6363

64+
//! Check if a layer is expanded
65+
bool isLayerExpanded( QgsMapLayer * ml );
66+
6467
//! Check if a layer is visible
6568
bool isLayerVisible( QgsMapLayer * ml );
6669

src/app/legend/qgslegend.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,13 @@ Qt::CheckState QgsLegend::layerCheckState( QgsMapLayer * layer )
831831
return ll ? ll->checkState( 0 ) : Qt::Unchecked;
832832
}
833833

834+
bool QgsLegend::layerIsExpanded( QgsMapLayer * layer )
835+
{
836+
QgsLegendLayer * ll = findLegendLayer( layer );
837+
838+
return ll->isExpanded();
839+
}
840+
834841
QgsLegendGroup* QgsLegend::addEmbeddedGroup( const QString& groupName, const QString& projectFilePath, QgsLegendItem* parent )
835842
{
836843
mEmbeddedGroups.insert( groupName, projectFilePath );

src/app/legend/qgslegend.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,9 @@ class QgsLegend : public QTreeWidget
221221
/**Returns a layers check state*/
222222
Qt::CheckState layerCheckState( QgsMapLayer * layer );
223223

224+
/**Returns a layers expanded state*/
225+
bool layerIsExpanded( QgsMapLayer * layer );
226+
224227
/**Add group from other project file. Returns a pointer to the new group in case of success or 0 in case of error*/
225228
QgsLegendGroup* addEmbeddedGroup( const QString& groupName, const QString& projectFilePath, QgsLegendItem* parent = 0 );
226229

src/gui/qgslegendinterface.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ class GUI_EXPORT QgsLegendInterface : public QObject
7575
//! @note added in 1.5
7676
virtual bool isGroupVisible( int groupIndex ) = 0;
7777

78+
//! Check if a layer is expanded
79+
//! @note added in 2.0
80+
virtual bool isLayerExpanded( QgsMapLayer * ml ) = 0;
81+
7882
//! Check if a layer is visible
7983
//! @note added in 1.5
8084
virtual bool isLayerVisible( QgsMapLayer * ml ) = 0;

0 commit comments

Comments
 (0)