QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsMapToolIdentify Class Reference

Map tool for identifying features in layers. More...

#include <qgsmaptoolidentify.h>

Inheritance diagram for QgsMapToolIdentify:
Inheritance graph
[legend]

Classes

struct  IdentifyResult
 

Public Types

enum  IdentifyMode {
  DefaultQgsSetting = -1, ActiveLayer, TopDownStopAtFirst, TopDownAll,
  LayerSelection
}
 
enum  Type { VectorLayer = 1, RasterLayer = 2, AllLayers = VectorLayer | RasterLayer }
 

Public Slots

void formatChanged (QgsRasterLayer *layer)
 

Signals

void identifyProgress (int, int)
 
void identifyMessage (QString)
 
void changedRasterResults (QList< IdentifyResult > &)
 
- Signals inherited from QgsMapTool
void messageEmitted (QString message, QgsMessageBar::MessageLevel=QgsMessageBar::INFO)
 emit a message More...
 
void messageDiscarded ()
 emit signal to clear previous message More...
 
void activated ()
 signal emitted once the map tool is activated More...
 
void deactivated ()
 signal emitted once the map tool is deactivated More...
 

Public Member Functions

 QgsMapToolIdentify (QgsMapCanvas *canvas)
 constructor More...
 
virtual ~QgsMapToolIdentify ()
 
virtual void canvasMoveEvent (QMouseEvent *e)
 Overridden mouse move event. More...
 
virtual void canvasPressEvent (QMouseEvent *e)
 Overridden mouse press event. More...
 
virtual void canvasReleaseEvent (QMouseEvent *e)
 Overridden mouse release event. More...
 
virtual void activate ()
 called when set as currently active map tool More...
 
virtual void deactivate ()
 called when map tool is being deactivated More...
 
QList< IdentifyResultidentify (int x, int y, QList< QgsMapLayer * > layerList=QList< QgsMapLayer * >(), IdentifyMode mode=DefaultQgsSetting)
 Performs the identification. More...
 
QList< IdentifyResultidentify (int x, int y, IdentifyMode mode, LayerType layerType=AllLayers)
 Performs the identification. More...
 
QgsIdentifyMenuidentifyMenu ()
 return a pointer to the identify menu which will be used in layer selection mode this menu can also be customized More...
 
- Public Member Functions inherited from QgsMapTool
virtual ~QgsMapTool ()
 virtual destructor More...
 
virtual void canvasDoubleClickEvent (QMouseEvent *e)
 Mouse double click event for overriding. Default implementation does nothing. More...
 
virtual void wheelEvent (QWheelEvent *e)
 Mouse wheel event for overriding. More...
 
virtual void keyPressEvent (QKeyEvent *e)
 Key event for overriding. Default implementation does nothing. More...
 
virtual void keyReleaseEvent (QKeyEvent *e)
 Key event for overriding. More...
 
virtual Q_DECL_DEPRECATED void renderComplete ()
 Called when rendering has finished. More...
 
void setAction (QAction *action)
 Use this to associate a QAction to this maptool. More...
 
QAction * action ()
 Return associated action with map tool or NULL if no action is associated. More...
 
void setButton (QAbstractButton *button)
 Use this to associate a button to this maptool. More...
 
QAbstractButton * button ()
 Return associated button with map tool or NULL if no button is associated. More...
 
virtual void setCursor (QCursor cursor)
 Set a user defined cursor. More...
 
virtual bool isTransient ()
 Check whether this MapTool performs a zoom or pan operation. More...
 
virtual bool isEditTool ()
 Check whether this MapTool performs an edit operation. More...
 
QgsMapCanvascanvas ()
 returns pointer to the tool's map canvas More...
 
QString toolName ()
 Emit map tool changed with the old tool. More...
 

Protected Member Functions

QList< IdentifyResultidentify (int x, int y, IdentifyMode mode, QList< QgsMapLayer * > layerList, LayerType layerType=AllLayers)
 Performs the identification. More...
 
bool identifyLayer (QList< IdentifyResult > *results, QgsMapLayer *layer, QgsPoint point, QgsRectangle viewExtent, double mapUnitsPerPixel, LayerType layerType=AllLayers)
 call the right method depending on layer type More...
 
bool identifyRasterLayer (QList< IdentifyResult > *results, QgsRasterLayer *layer, QgsPoint point, QgsRectangle viewExtent, double mapUnitsPerPixel)
 
bool identifyVectorLayer (QList< IdentifyResult > *results, QgsVectorLayer *layer, QgsPoint point)
 
- Protected Member Functions inherited from QgsMapTool
 QgsMapTool (QgsMapCanvas *canvas)
 constructor takes map canvas as a parameter More...
 
QgsPoint toMapCoordinates (const QPoint &point)
 transformation from screen coordinates to map coordinates More...
 
QgsPoint toLayerCoordinates (QgsMapLayer *layer, const QPoint &point)
 transformation from screen coordinates to layer's coordinates More...
 
QgsPoint toLayerCoordinates (QgsMapLayer *layer, const QgsPoint &point)
 transformation from map coordinates to layer's coordinates More...
 
QgsPoint toMapCoordinates (QgsMapLayer *layer, const QgsPoint &point)
 transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More...
 
QgsRectangle toLayerCoordinates (QgsMapLayer *layer, const QgsRectangle &rect)
 trnasformation of the rect from map coordinates to layer's coordinates More...
 
QPoint toCanvasCoordinates (const QgsPoint &point)
 transformation from map coordinates to screen coordinates More...
 

Protected Attributes

QgsIdentifyMenumIdentifyMenu
 
- Protected Attributes inherited from QgsMapTool
QgsMapCanvasmCanvas
 pointer to map canvas More...
 
QCursor mCursor
 cursor used in map tool More...
 
QAction * mAction
 optionally map tool can have pointer to action which will be used to set that action as active More...
 
QAbstractButton * mButton
 optionally map tool can have pointer to a button which will be used to set that action as active More...
 
QString mToolName
 translated name of the map tool More...
 

Additional Inherited Members

- Static Public Member Functions inherited from QgsMapTool
static double searchRadiusMM ()
 Get search radius in mm. More...
 
static double searchRadiusMU (const QgsRenderContext &context)
 Get search radius in map units for given context. More...
 
static double searchRadiusMU (QgsMapCanvas *canvas)
 Get search radius in map units for given canvas. More...
 

Detailed Description

Map tool for identifying features in layers.

after selecting a point, performs the identification:

Member Enumeration Documentation

Enumerator
DefaultQgsSetting 
ActiveLayer 
TopDownStopAtFirst 
TopDownAll 
LayerSelection 
Enumerator
VectorLayer 
RasterLayer 
AllLayers 

Constructor & Destructor Documentation

QgsMapToolIdentify::QgsMapToolIdentify ( QgsMapCanvas canvas)

constructor

QgsMapToolIdentify::~QgsMapToolIdentify ( )
virtual

Member Function Documentation

void QgsMapToolIdentify::activate ( )
virtual

called when set as currently active map tool

Reimplemented from QgsMapTool.

void QgsMapToolIdentify::canvasMoveEvent ( QMouseEvent *  e)
virtual

Overridden mouse move event.

Reimplemented from QgsMapTool.

void QgsMapToolIdentify::canvasPressEvent ( QMouseEvent *  e)
virtual

Overridden mouse press event.

Reimplemented from QgsMapTool.

void QgsMapToolIdentify::canvasReleaseEvent ( QMouseEvent *  e)
virtual

Overridden mouse release event.

Reimplemented from QgsMapTool.

Reimplemented in QgsMapToolIdentifyFeature.

void QgsMapToolIdentify::changedRasterResults ( QList< IdentifyResult > &  )
signal
void QgsMapToolIdentify::deactivate ( )
virtual

called when map tool is being deactivated

Reimplemented from QgsMapTool.

void QgsMapToolIdentify::formatChanged ( QgsRasterLayer layer)
slot
QList< QgsMapToolIdentify::IdentifyResult > QgsMapToolIdentify::identify ( int  x,
int  y,
QList< QgsMapLayer * >  layerList = QList<QgsMapLayer*>(),
IdentifyMode  mode = DefaultQgsSetting 
)

Performs the identification.

Parameters
xx coordinates of mouseEvent
yy coordinates of mouseEvent
layerListPerforms the identification within the given list of layers. Default value is an empty list, i.e. uses all the layers.
modeIdentification mode. Can use Qgis default settings or a defined mode. Default mode is DefaultQgsSetting.
Returns
a list of IdentifyResult
QList< QgsMapToolIdentify::IdentifyResult > QgsMapToolIdentify::identify ( int  x,
int  y,
IdentifyMode  mode,
LayerType  layerType = AllLayers 
)

Performs the identification.

To avoid beeing forced to specify IdentifyMode with a list of layers this has been made private and two publics methods are offered

Parameters
xx coordinates of mouseEvent
yy coordinates of mouseEvent
modeIdentification mode. Can use Qgis default settings or a defined mode.
layerTypeOnly performs identification in a certain type of layers (raster, vector). Default value is AllLayers.
Returns
a list of IdentifyResult
QList< QgsMapToolIdentify::IdentifyResult > QgsMapToolIdentify::identify ( int  x,
int  y,
IdentifyMode  mode,
QList< QgsMapLayer * >  layerList,
LayerType  layerType = AllLayers 
)
protected

Performs the identification.

To avoid beeing forced to specify IdentifyMode with a list of layers this has been made private and two publics methods are offered

Parameters
xx coordinates of mouseEvent
yy coordinates of mouseEvent
modeIdentification mode. Can use Qgis default settings or a defined mode.
layerListPerforms the identification within the given list of layers.
layerTypeOnly performs identification in a certain type of layers (raster, vector).
Returns
a list of IdentifyResult
bool QgsMapToolIdentify::identifyLayer ( QList< IdentifyResult > *  results,
QgsMapLayer layer,
QgsPoint  point,
QgsRectangle  viewExtent,
double  mapUnitsPerPixel,
LayerType  layerType = AllLayers 
)
protected

call the right method depending on layer type

QgsIdentifyMenu* QgsMapToolIdentify::identifyMenu ( )
inline

return a pointer to the identify menu which will be used in layer selection mode this menu can also be customized

void QgsMapToolIdentify::identifyMessage ( QString  )
signal
void QgsMapToolIdentify::identifyProgress ( int  ,
int   
)
signal
bool QgsMapToolIdentify::identifyRasterLayer ( QList< IdentifyResult > *  results,
QgsRasterLayer layer,
QgsPoint  point,
QgsRectangle  viewExtent,
double  mapUnitsPerPixel 
)
protected
bool QgsMapToolIdentify::identifyVectorLayer ( QList< IdentifyResult > *  results,
QgsVectorLayer layer,
QgsPoint  point 
)
protected

Member Data Documentation

QgsIdentifyMenu* QgsMapToolIdentify::mIdentifyMenu
protected

The documentation for this class was generated from the following files: