Skip to content

Commit 71d7445

Browse files
committedAug 14, 2014
use flag instead of enum
1 parent faa3304 commit 71d7445

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed
 

‎python/gui/qgsmaptoolidentify.sip

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,13 @@ class QgsMapToolIdentify : QgsMapTool
1515
LayerSelection
1616
};
1717

18-
enum LayerType
18+
enum Type
1919
{
20-
AllLayers,
2120
VectorLayer,
22-
RasterLayer
21+
RasterLayer,
22+
AllLayers
2323
};
24+
typedef QFlags<QgsMapToolIdentify::Type> LayerType;
2425

2526
struct IdentifyResult
2627
{

‎src/gui/qgsmaptoolidentify.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,11 @@ void QgsMapToolIdentify::deactivate()
252252

253253
bool QgsMapToolIdentify::identifyLayer( QList<IdentifyResult> *results, QgsMapLayer *layer, QgsPoint point, QgsRectangle viewExtent, double mapUnitsPerPixel, LayerType layerType )
254254
{
255-
if ( layer->type() == QgsMapLayer::RasterLayer && ( layerType == AllLayers || layerType == RasterLayer ) )
255+
if ( layer->type() == QgsMapLayer::RasterLayer && layerType.testFlag( RasterLayer ) )
256256
{
257257
return identifyRasterLayer( results, qobject_cast<QgsRasterLayer *>( layer ), point, viewExtent, mapUnitsPerPixel );
258258
}
259-
else if ( layer->type() == QgsMapLayer::VectorLayer && ( layerType == AllLayers || layerType == VectorLayer ) )
259+
else if ( layer->type() == QgsMapLayer::VectorLayer && layerType.testFlag( VectorLayer ) )
260260
{
261261
return identifyVectorLayer( results, qobject_cast<QgsVectorLayer *>( layer ), point );
262262
}

‎src/gui/qgsmaptoolidentify.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class QgsHighlight;
4444
class GUI_EXPORT QgsMapToolIdentify : public QgsMapTool
4545
{
4646
Q_OBJECT
47+
Q_FLAGS( LayerType )
4748

4849
public:
4950

@@ -56,12 +57,13 @@ class GUI_EXPORT QgsMapToolIdentify : public QgsMapTool
5657
LayerSelection
5758
};
5859

59-
enum LayerType
60+
enum Type
6061
{
61-
AllLayers = -1,
62-
VectorLayer,
63-
RasterLayer
62+
VectorLayer = 1,
63+
RasterLayer = 2,
64+
AllLayers = VectorLayer | RasterLayer
6465
};
66+
Q_DECLARE_FLAGS( LayerType, Type )
6567

6668
struct IdentifyResult
6769
{
@@ -178,4 +180,6 @@ class GUI_EXPORT QgsMapToolIdentify : public QgsMapTool
178180
void handleMenuHover();
179181
};
180182

183+
Q_DECLARE_OPERATORS_FOR_FLAGS( QgsMapToolIdentify::LayerType )
184+
181185
#endif

0 commit comments

Comments
 (0)
Please sign in to comment.