legendiface_2672_2.patch
python/gui/qgslegendinterface.sip (working copy) | ||
---|---|---|
21 | 21 | |
22 | 22 |
//! Return all layers in the project in legend order |
23 | 23 |
//! @note added in 1.5 |
24 |
virtual QList< QgsMapLayer * > layers() const = 0;
|
|
24 |
virtual QList< QgsMapLayer * > layers() const =0; |
|
25 | 25 | |
26 |
//! Check if a group exists |
|
27 |
//! @note added in 1.5 |
|
28 |
virtual bool groupExists( int groupIndex ) =0; |
|
29 | ||
30 |
//! Check if a group is expanded |
|
31 |
//! @note added in 1.5 |
|
32 |
virtual bool isGroupExpanded( int groupIndex ) =0; |
|
33 | ||
34 |
//! Check if a group is visible |
|
35 |
//! @note added in 1.5 |
|
36 |
virtual bool isGroupVisible( int groupIndex ) =0; |
|
37 | ||
38 |
//! Check if a layer is visible |
|
39 |
//! @note added in 1.5 |
|
40 |
virtual bool isLayerVisible( QgsMapLayer * ml ) =0; |
|
41 | ||
26 | 42 |
signals: |
27 | 43 | |
28 | 44 |
//! emitted when a group index has changed |
... | ... | |
39 | 55 |
//! Move a layer to a group |
40 | 56 |
virtual void moveLayer( QgsMapLayer * layer, int groupIndex ) =0; |
41 | 57 | |
58 |
//! Collapse or expand a group |
|
59 |
//! @note added in 1.5 |
|
60 |
virtual void setGroupExpanded( int groupIndex, bool expand ) =0; |
|
61 | ||
62 |
//! Set the visibility of a group |
|
63 |
//! @note added in 1.5 |
|
64 |
virtual void setGroupVisible( int groupIndex, bool visible ) =0; |
|
65 | ||
66 |
//! Set the visibility of a layer |
|
67 |
//! @note added in 1.5 |
|
68 |
virtual void setLayerVisible( QgsMapLayer * ml, bool visible ) =0; |
|
69 | ||
42 | 70 |
//! refresh layer symbology |
43 |
//! \note added in 1.5
|
|
71 |
//! @note added in 1.5
|
|
44 | 72 |
virtual void refreshLayerSymbology( QgsMapLayer *layer ) =0; |
45 | 73 |
}; |
46 | 74 |
src/app/legend/qgsapplegendinterface.h (working copy) | ||
---|---|---|
38 | 38 |
/** Constructor */ |
39 | 39 |
explicit QgsAppLegendInterface( QgsLegend * legend ); |
40 | 40 | |
41 |
/** Virtual destructor */
|
|
41 |
/** Destructor */
|
|
42 | 42 |
~QgsAppLegendInterface(); |
43 | 43 | |
44 | 44 |
//! Return a string list of groups |
... | ... | |
47 | 47 |
//! Return all layers in the project in legend order |
48 | 48 |
QList< QgsMapLayer * > layers() const; |
49 | 49 | |
50 |
//! Check if a group exists |
|
51 |
bool groupExists( int groupIndex ); |
|
52 | ||
53 |
//! Check if a group is expanded |
|
54 |
bool isGroupExpanded( int groupIndex ); |
|
55 | ||
56 |
//! Check if a group is visible |
|
57 |
bool isGroupVisible( int groupIndex ); |
|
58 | ||
59 |
//! Check if a layer is visible |
|
60 |
bool isLayerVisible( QgsMapLayer * ml ); |
|
61 | ||
50 | 62 |
public slots: |
51 | 63 | |
52 | 64 |
//! Add a new group |
... | ... | |
61 | 73 |
//! Update an index |
62 | 74 |
void updateIndex( QModelIndex oldIndex, QModelIndex newIndex ); |
63 | 75 | |
76 |
//! Collapse or expand a group |
|
77 |
virtual void setGroupExpanded( int groupIndex, bool expand ); |
|
78 | ||
79 |
//! Set the visibility of a group |
|
80 |
virtual void setGroupVisible( int groupIndex, bool visible ); |
|
81 | ||
82 |
//! Set the visibility of a layer |
|
83 |
virtual void setLayerVisible( QgsMapLayer * ml, bool visible ); |
|
84 | ||
64 | 85 |
//! refresh layer symbology |
65 | 86 |
void refreshLayerSymbology( QgsMapLayer *ml ); |
66 | 87 |
src/app/legend/qgslegend.cpp (working copy) | ||
---|---|---|
480 | 480 |
mPixmaps.mProjectionErrorPixmap = QgisApp::getThemePixmap( "/mIconProjectionProblem.png" ); |
481 | 481 |
} |
482 | 482 | |
483 |
Qt::CheckState QgsLegend::layerCheckState( QgsMapLayer * layer ) |
|
484 |
{ |
|
485 |
QgsLegendLayer * ll = findLegendLayer( layer ); |
|
486 | ||
487 |
return ll ? Qt::Unchecked : ll->checkState( 0 ); |
|
488 |
} |
|
489 | ||
483 | 490 |
int QgsLegend::getItemPos( QTreeWidgetItem* item ) |
484 | 491 |
{ |
485 | 492 |
int counter = 1; |
... | ... | |
548 | 555 |
doItemsLayout(); |
549 | 556 |
} |
550 | 557 | |
558 |
void QgsLegend::setLayerVisible( QgsMapLayer * layer, bool visible ) |
|
559 |
{ |
|
560 |
QgsLegendLayer * ll = findLegendLayer( layer ); |
|
561 |
if ( ll ) |
|
562 |
{ |
|
563 |
Qt::CheckState cs = visible ? Qt::Checked : Qt::Unchecked; |
|
564 |
ll->setCheckState( 0, cs ); |
|
565 |
} |
|
566 |
} |
|
567 | ||
551 | 568 |
void QgsLegend::setMapCanvas( QgsMapCanvas * canvas ) |
552 | 569 |
{ |
553 | 570 |
if ( mMapCanvas ) |
src/app/legend/qgslegend.h (working copy) | ||
---|---|---|
179 | 179 |
/**Returns structure with legend pixmaps*/ |
180 | 180 |
QgsLegendPixmaps& pixmaps() { return mPixmaps; } |
181 | 181 | |
182 |
/**Returns a layers check state*/ |
|
183 |
Qt::CheckState layerCheckState( QgsMapLayer * layer ); |
|
182 | 184 | |
185 | ||
183 | 186 |
void updateCheckStates( QTreeWidgetItem* item, Qt::CheckState state ) { item->setData( 0, Qt::UserRole, state ); } |
184 | 187 | |
185 | 188 |
public slots: |
... | ... | |
187 | 190 |
/*!Adds a new layer group with the maplayer to the canvas*/ |
188 | 191 |
void addLayer( QgsMapLayer * layer ); |
189 | 192 | |
193 |
void setLayerVisible( QgsMapLayer * layer, bool visible ); |
|
194 | ||
190 | 195 |
void setMapCanvas( QgsMapCanvas * canvas ); |
191 | 196 | |
192 | 197 |
/**Updates symbology items for a layer*/ |
src/app/legend/qgsapplegendinterface.cpp (working copy) | ||
---|---|---|
54 | 54 |
} |
55 | 55 |
} |
56 | 56 | |
57 |
void QgsAppLegendInterface::setGroupExpanded( int groupIndex, bool expand ) |
|
58 |
{ |
|
59 |
mLegend->setExpanded( mLegend->model()->index( groupIndex, 0 ), expand ); |
|
60 |
} |
|
61 | ||
62 |
void QgsAppLegendInterface::setGroupVisible( int groupIndex, bool visible ) |
|
63 |
{ |
|
64 |
if ( !groupExists( groupIndex ) ) |
|
65 |
{ |
|
66 |
return; |
|
67 |
} |
|
68 | ||
69 |
Qt::CheckState state = visible ? Qt::Checked : Qt::Unchecked; |
|
70 |
mLegend->topLevelItem( groupIndex )->setCheckState( 0, state ); |
|
71 |
} |
|
72 | ||
73 |
void QgsAppLegendInterface::setLayerVisible( QgsMapLayer * ml, bool visible ) |
|
74 |
{ |
|
75 |
mLegend->setLayerVisible( ml, visible ); |
|
76 |
} |
|
77 | ||
57 | 78 |
QStringList QgsAppLegendInterface::groups() |
58 | 79 |
{ |
59 | 80 |
return mLegend->groups(); |
60 | 81 |
} |
61 | 82 | |
83 |
bool QgsAppLegendInterface::groupExists( int groupIndex ) |
|
84 |
{ |
|
85 |
QModelIndex mi = mLegend->model()->index( groupIndex, 0 ); |
|
86 |
return ( mi.isValid() && |
|
87 |
mLegend->isLegendGroup( mi ) ); |
|
88 |
} |
|
89 | ||
90 |
bool QgsAppLegendInterface::isGroupExpanded( int groupIndex ) |
|
91 |
{ |
|
92 |
return mLegend->isExpanded( mLegend->model()->index( groupIndex, 0 ) ); |
|
93 |
} |
|
94 | ||
95 |
bool QgsAppLegendInterface::isGroupVisible( int groupIndex ) |
|
96 |
{ |
|
97 |
if ( !groupExists( groupIndex ) ) |
|
98 |
{ |
|
99 |
return false; |
|
100 |
} |
|
101 | ||
102 |
return ( Qt::Checked == mLegend->topLevelItem( groupIndex )->checkState( 0 ) ); |
|
103 |
} |
|
104 | ||
105 |
bool QgsAppLegendInterface::isLayerVisible( QgsMapLayer * ml ) |
|
106 |
{ |
|
107 |
return ( Qt::Checked == mLegend->layerCheckState( ml ) ); |
|
108 |
} |
|
109 | ||
62 | 110 |
QList< QgsMapLayer * > QgsAppLegendInterface::layers() const |
63 | 111 |
{ |
64 | 112 |
QList< QgsMapLayer * > items; |
src/gui/qgslegendinterface.h (working copy) | ||
---|---|---|
48 | 48 |
//! @note added in 1.5 |
49 | 49 |
virtual QList< QgsMapLayer * > layers() const = 0; |
50 | 50 | |
51 |
//! Check if a group exists |
|
52 |
//! @note added in 1.5 |
|
53 |
virtual bool groupExists( int groupIndex ) = 0; |
|
54 | ||
55 |
//! Check if a group is expanded |
|
56 |
//! @note added in 1.5 |
|
57 |
virtual bool isGroupExpanded( int groupIndex ) = 0; |
|
58 | ||
59 |
//! Check if a group is visible |
|
60 |
//! @note added in 1.5 |
|
61 |
virtual bool isGroupVisible( int groupIndex ) = 0; |
|
62 | ||
63 |
//! Check if a layer is visible |
|
64 |
//! @note added in 1.5 |
|
65 |
virtual bool isLayerVisible( QgsMapLayer * ml ) = 0; |
|
66 | ||
51 | 67 |
signals: |
52 | 68 | |
53 | 69 |
//! emitted when a group index has changed |
... | ... | |
64 | 80 |
//! Move a layer to a group |
65 | 81 |
virtual void moveLayer( QgsMapLayer * ml, int groupIndex ) = 0; |
66 | 82 | |
83 |
//! Collapse or expand a group |
|
84 |
//! @note added in 1.5 |
|
85 |
virtual void setGroupExpanded( int groupIndex, bool expand ) = 0; |
|
86 | ||
87 |
//! Set the visibility of a group |
|
88 |
//! @note added in 1.5 |
|
89 |
virtual void setGroupVisible( int groupIndex, bool visible ) = 0; |
|
90 | ||
91 |
//! Set the visibility of a layer |
|
92 |
//! @note added in 1.5 |
|
93 |
virtual void setLayerVisible( QgsMapLayer * ml, bool visible ) = 0; |
|
94 | ||
67 | 95 |
//! Refresh layer symbology |
68 |
// @noted added in 1.5
|
|
96 |
//! @note added in 1.5
|
|
69 | 97 |
virtual void refreshLayerSymbology( QgsMapLayer *ml ) = 0; |
70 | 98 |
}; |
71 | 99 |