QGIS API Documentation  master-6227475
QgsMapCanvas Class Reference

Map canvas is a class for displaying all GIS data types on a canvas. More...

#include <qgsmapcanvas.h>

+ Collaboration diagram for QgsMapCanvas:

List of all members.

Classes

class  CanvasProperties

Public Types

enum  WheelAction { WheelZoom, WheelZoomAndRecenter, WheelZoomToMouseCursor, WheelNothing }

Public Slots

bool hasCrsTransformEnabled ()
 A simple helper method to find out if on the fly projections are enabled or not.
void layerStateChange ()
 This slot is connected to the visibility change of one or more layers.
void mapUnitsChanged ()
 The map units may have changed, so cope with that.
void readProject (const QDomDocument &)
 called to read map canvas settings from project
void refresh ()
 Repaints the canvas map.
bool renderFlag ()
 State of render suppression flag.
void saveAsImage (QString theFileName, QPixmap *QPixmap=0, QString="PNG")
 Save the convtents of the map canvas to disk as an image.
void selectionChangedSlot ()
 Receives signal about selection change, and pass it on with layer info.
void setRenderFlag (bool theFlag)
 Whether to suppress rendering or not.
void showError (QgsMapLayer *mapLayer)
 show whatever error is exposed by the QgsMapLayer.
void updateMap ()
 updates pixmap on render progress
void writeProject (QDomDocument &)
 called to write map canvas settings to project

Signals

void extentsChanged ()
 Emitted when the extents of the map change.
void keyPressed (QKeyEvent *e)
 Emit key press event.
void keyReleased (QKeyEvent *e)
 Emit key release event.
void layersChanged ()
 Emitted when a new set of layers has been received.
void mapCanvasRefreshed ()
 Emitted when canvas finished a refresh request.
void mapToolSet (QgsMapTool *tool)
 Emit map tool changed event.
void renderComplete (QPainter *)
 Emitted when the canvas has rendered.
void renderStarting ()
 Emitted when the canvas is about to be rendered.
void scaleChanged (double)
 Emitted when the scale of the map changes.
void selectionChanged (QgsMapLayer *layer)
 Emitted when selection in any layer gets changed.
void setProgress (int, int)
 Let the owner know how far we are with render operations.
void xyCoordinates (const QgsPoint &p)
 emits current mouse position
void zoomLastStatusChanged (bool)
 Emitted when zoom last status changed.
void zoomNextStatusChanged (bool)
 Emitted when zoom next status changed.

Public Member Functions

 QgsMapCanvas (QWidget *parent=0, const char *name=0)
 Constructor.
 ~QgsMapCanvas ()
 Destructor.
bool antiAliasingEnabled () const
 true if antialising is enabled
virtual QColor canvasColor () const
 Read property of QColor bgColor.
QPaintDevice & canvasPaintDevice ()
 Accessor for the canvas paint device.
void clear ()
 Clear the map canvas.
void clearExtentHistory ()
QgsMapLayercurrentLayer ()
 returns current layer (set by legend widget)
void enableAntiAliasing (bool theFlag)
 used to determine if anti-aliasing is enabled or not
void enableOverviewMode (QgsMapOverviewCanvas *overview)
QgsRectangle extent () const
 Returns the current zoom exent of the map canvas.
void freeze (bool frz=true)
QgsRectangle fullExtent () const
 Returns the combined exent for all layers on the map canvas.
const QgsMapToPixelgetCoordinateTransform ()
 Get the current coordinate transform.
bool isDirty () const
 Return the state of the canvas (dirty or not)
bool isDrawing ()
 true if canvas currently drawing
bool isFrozen ()
QgsMapLayerlayer (int index)
 return the map layer at position index in the layer stack
int layerCount () const
 return number of layers on the map
QList< QgsMapLayer * > layers () const
 return list of layers within map canvas. Added in v1.5
QgsMapCanvasMapmap ()
QgsMapRenderermapRenderer ()
QgsMapToolmapTool ()
 Returns the currently active tool.
QGis::UnitType mapUnits () const
 Get the current canvas map units.
double mapUnitsPerPixel () const
 Returns the mapUnitsPerPixel (map units per pixel) for the canvas.
QPoint mouseLastXY ()
 returns last position of mouse cursor
void panAction (QMouseEvent *event)
 Called when mouse is moving and pan is activated.
void panActionEnd (QPoint releasePoint)
 Ends pan action and redraws the canvas.
void panToSelected (QgsVectorLayer *layer=NULL)
 Pan to the selected features of current (vector) layer keeping same extent.
double scale ()
 Get the last reported scale of the canvas.
virtual void setCanvasColor (const QColor &_newVal)
 Write property of QColor bgColor.
void setCurrentLayer (QgsMapLayer *layer)
void setDirty (bool _dirty)
 Flag the canvas as dirty and needed a refresh.
void setExtent (const QgsRectangle &r)
 Set the extent of the map canvas.
void setLayerSet (QList< QgsMapCanvasLayer > &layers)
void setMapTool (QgsMapTool *mapTool)
 Sets the map tool currently being used on the canvas.
void setMapUnits (QGis::UnitType mapUnits)
 Set map units (needed by project properties dialog)
void setWheelAction (WheelAction action, double factor=2)
 set wheel action and zoom factor (should be greater than 1)
void unsetMapTool (QgsMapTool *mapTool)
 Unset the current map tool or last non zoom tool.
void updateFullExtent ()
 Updates the full extent.
void updateOverview ()
void updateScale ()
 Emits signal scaleChanged to update scale in main window.
void useImageToRender (bool theFlag)
 Select which Qt class to render with.
void zoomByFactor (double scaleFactor)
 Zoom with the factor supplied. Factor > 1 zooms out, interval (0,1) zooms in.
void zoomIn ()
 Zoom in with fixed factor.
void zoomOut ()
 Zoom out with fixed factor.
void zoomScale (double scale)
 Zoom to a specific scale.
void zoomToFullExtent ()
 Zoom to the full extent of all layers.
void zoomToNextExtent ()
 Zoom to the next extent (view)
void zoomToPreviousExtent ()
 Zoom to the previous extent (view)
void zoomToSelected (QgsVectorLayer *layer=NULL)
 Zoom to the extent of the selected features of current (vector) layer.
void zoomWithCenter (int x, int y, bool zoomIn)
 Zooms in/out with a given center.

Protected Member Functions

void dragEnterEvent (QDragEnterEvent *e)
 Overridden drag enter event.
void keyPressEvent (QKeyEvent *e)
 Overridden key press event.
void keyReleaseEvent (QKeyEvent *e)
 Overridden key release event.
void mouseDoubleClickEvent (QMouseEvent *e)
 Overridden mouse double click event.
void mouseMoveEvent (QMouseEvent *e)
 Overridden mouse move event.
void mousePressEvent (QMouseEvent *e)
 Overridden mouse press event.
void mouseReleaseEvent (QMouseEvent *e)
 Overridden mouse release event.
void moveCanvasContents (bool reset=false)
 called when panning is in action, reset indicates end of panning
void paintEvent (QPaintEvent *e)
 Overridden paint event.
void resizeEvent (QResizeEvent *e)
 Overridden resize event.
void updateCanvasItemPositions ()
 called on resize or changed extent to notify canvas items to change their rectangle
void wheelEvent (QWheelEvent *e)
 Overridden mouse wheel event.

Protected Attributes

std::auto_ptr< CanvasPropertiesmCanvasProperties
 Handle pattern for implementation object.

Private Slots

void crsTransformEnabled (bool)
void mapToolDestroyed ()
 called when current maptool is destroyed

Private Member Functions

 QgsMapCanvas (QgsMapCanvas const &)
 this class is non-copyable
void connectNotify (const char *signal)
 debugging member invoked when a connect() is made to this object

Private Attributes

bool mAntiAliasing
 indicates whether antialiasing will be used for rendering
bool mBackbufferEnabled
 If backbuffering is currently enabled.
QgsMapLayermCurrentLayer
 current layer in legend
bool mDirty
 Flag to track the state of the Map canvas.
bool mDrawing
 Flag indicating a map refresh is in progress.
bool mFrozen
 Flag indicating if the map canvas is frozen.
QList< QgsRectanglemLastExtent
 recently used extent
int mLastExtentIndex
QgsMapToolmLastNonZoomMapTool
 previous tool if current is for zooming/panning
QgsMapCanvasMapmMap
 owns pixmap with rendered map and controls rendering
QgsMapOverviewCanvasmMapOverview
 map overview widget - it's controlled by QgsMapCanvas
QgsMapRenderermMapRenderer
 all map rendering is done in this class
QgsMapToolmMapTool
 pointer to current map tool
QSize mNewSize
 resize canvas size
bool mPainting
 currently in paint event
bool mRenderFlag
 determines whether user has requested to suppress rendering
QList< QPair< int, int > > mResizeQueue
 Resize events that have been ignored because the canvas is busy with rendering may put their sizes into this list.
QGraphicsScene * mScene
 graphics scene manages canvas items
WheelAction mWheelAction
 Mouse wheel action.
double mWheelZoomFactor
 Scale factor multiple for default zoom in/out.

Detailed Description

Map canvas is a class for displaying all GIS data types on a canvas.

Definition at line 99 of file qgsmapcanvas.h.


Member Enumeration Documentation

Enumerator:
WheelZoom 
WheelZoomAndRecenter 
WheelZoomToMouseCursor 
WheelNothing 

Definition at line 105 of file qgsmapcanvas.h.


Constructor & Destructor Documentation

QgsMapCanvas::QgsMapCanvas ( QgsMapCanvas const &  ) [private]

this class is non-copyable

Note:

Otherwise std::auto_ptr would pass the object responsiblity on to the copy like a hot potato leaving the copyer in a weird state.


Member Function Documentation

bool QgsMapCanvas::antiAliasingEnabled ( ) const [inline]

true if antialising is enabled

Definition at line 253 of file qgsmapcanvas.h.

Referenced by QgsMapCanvasItem::paint().

QColor QgsMapCanvas::canvasColor ( ) const [virtual]

Read property of QColor bgColor.

Definition at line 1283 of file qgsmapcanvas.cpp.

References mScene.

QPaintDevice & QgsMapCanvas::canvasPaintDevice ( )

Accessor for the canvas paint device.

Definition at line 1328 of file qgsmapcanvas.cpp.

References mMap, and QgsMapCanvasMap::paintDevice().

Clear the map canvas.

Definition at line 598 of file qgsmapcanvas.cpp.

References setDirty().

Referenced by refresh().

void QgsMapCanvas::connectNotify ( const char *  signal) [private]

debugging member invoked when a connect() is made to this object

Definition at line 1370 of file qgsmapcanvas.cpp.

References QgsDebugMsg.

void QgsMapCanvas::crsTransformEnabled ( bool  enabled) [private, slot]

Definition at line 1568 of file qgsmapcanvas.cpp.

References mMapRenderer, QgsDebugMsg, and refresh().

Referenced by QgsMapCanvas().

void QgsMapCanvas::dragEnterEvent ( QDragEnterEvent *  e) [protected]

Overridden drag enter event.

Definition at line 1560 of file qgsmapcanvas.cpp.

void QgsMapCanvas::enableAntiAliasing ( bool  theFlag)

used to determine if anti-aliasing is enabled or not

Definition at line 164 of file qgsmapcanvas.cpp.

References QgsMapCanvasMap::enableAntiAliasing(), QgsMapOverviewCanvas::enableAntiAliasing(), mAntiAliasing, mMap, and mMapOverview.

void QgsMapCanvas::extentsChanged ( ) [signal]

Emitted when the extents of the map change.

Referenced by paintEvent(), setExtent(), zoomToNextExtent(), and zoomToPreviousExtent().

void QgsMapCanvas::freeze ( bool  frz = true)

Freeze/thaw the map canvas. This is used to prevent the canvas from responding to events while layers are being added/removed etc.

Parameters:
frzBoolean specifying if the canvas should be frozen (true) or thawed (false). Default is true.

Definition at line 1317 of file qgsmapcanvas.cpp.

References mFrozen.

Returns the combined exent for all layers on the map canvas.

Definition at line 522 of file qgsmapcanvas.cpp.

References QgsMapRenderer::fullExtent(), and mMapRenderer.

Referenced by zoomToFullExtent().

A simple helper method to find out if on the fly projections are enabled or not.

Definition at line 687 of file qgsmapcanvas.cpp.

References QgsMapRenderer::hasCrsTransformEnabled(), and mMapRenderer.

Referenced by enableOverviewMode(), QgsMapToolIdentify::featureDerivedAttributes(), QgsMapToolIdentify::identifyRasterLayer(), and QgsMapCanvas().

bool QgsMapCanvas::isDirty ( ) const

Return the state of the canvas (dirty or not)

Definition at line 214 of file qgsmapcanvas.cpp.

References mDirty.

true if canvas currently drawing

Definition at line 221 of file qgsmapcanvas.cpp.

References mDrawing.

Referenced by QgsMapToolIdentify::identify().

Accessor for frozen status of canvas

Definition at line 1322 of file qgsmapcanvas.cpp.

References mFrozen.

void QgsMapCanvas::keyPressed ( QKeyEvent *  e) [signal]

Emit key press event.

Referenced by keyPressEvent().

void QgsMapCanvas::keyReleased ( QKeyEvent *  e) [signal]

Emit key release event.

Referenced by keyReleaseEvent().

void QgsMapCanvas::keyReleaseEvent ( QKeyEvent *  e) [protected]

Overridden key release event.

Definition at line 885 of file qgsmapcanvas.cpp.

References keyReleased(), QgsMapTool::keyReleaseEvent(), mCanvasProperties, mDrawing, mMapTool, panActionEnd(), and QgsDebugMsg.

int QgsMapCanvas::layerCount ( ) const

return number of layers on the map

Definition at line 1288 of file qgsmapcanvas.cpp.

References QgsMapRenderer::layerSet(), and mMapRenderer.

Referenced by QgsMapToolIdentify::identify(), and setLayerSet().

void QgsMapCanvas::layersChanged ( ) [signal]

Emitted when a new set of layers has been received.

Referenced by setLayerSet().

This slot is connected to the visibility change of one or more layers.

Definition at line 1307 of file qgsmapcanvas.cpp.

References refresh().

Definition at line 178 of file qgsmapcanvas.cpp.

References mMap.

Emitted when canvas finished a refresh request.

Note:
Added in 2.0

Referenced by refresh().

Returns the currently active tool.

Definition at line 1378 of file qgsmapcanvas.cpp.

References mMapTool.

void QgsMapCanvas::mapToolDestroyed ( ) [private, slot]

called when current maptool is destroyed

Definition at line 1580 of file qgsmapcanvas.cpp.

References mMapTool, and QgsDebugMsg.

Referenced by setMapTool().

void QgsMapCanvas::mapToolSet ( QgsMapTool tool) [signal]

Emit map tool changed event.

Referenced by setMapTool(), and unsetMapTool().

Get the current canvas map units.

Definition at line 1346 of file qgsmapcanvas.cpp.

References QgsMapRenderer::mapUnits(), and mMapRenderer.

Referenced by QgsMapToolIdentify::convertMeasurement(), and QgsMapToolIdentify::displayUnits().

The map units may have changed, so cope with that.

Definition at line 692 of file qgsmapcanvas.cpp.

References refresh(), and updateScale().

Returns the mapUnitsPerPixel (map units per pixel) for the canvas.

Definition at line 1333 of file qgsmapcanvas.cpp.

References QgsMapRenderer::mapUnitsPerPixel(), and mMapRenderer.

Referenced by QgsMapToolIdentify::identify(), and saveAsImage().

void QgsMapCanvas::mouseDoubleClickEvent ( QMouseEvent *  e) [protected]

Overridden mouse double click event.

Definition at line 923 of file qgsmapcanvas.cpp.

References QgsMapTool::canvasDoubleClickEvent(), mDrawing, and mMapTool.

returns last position of mouse cursor

Definition at line 1502 of file qgsmapcanvas.cpp.

References mCanvasProperties.

void QgsMapCanvas::mouseMoveEvent ( QMouseEvent *  e) [protected]
void QgsMapCanvas::mousePressEvent ( QMouseEvent *  e) [protected]

Overridden mouse press event.

Definition at line 936 of file qgsmapcanvas.cpp.

References QgsMapTool::canvasPressEvent(), mCanvasProperties, mDrawing, and mMapTool.

void QgsMapCanvas::moveCanvasContents ( bool  reset = false) [protected]

called when panning is in action, reset indicates end of panning

Definition at line 1447 of file qgsmapcanvas.cpp.

References mCanvasProperties, mDrawing, mMap, mScene, QgsMapCanvasMap::setPanningOffset(), QgsMapCanvasItem::setPanningOffset(), and updateCanvasItemPositions().

Referenced by panAction(), panActionEnd(), and QgsMapCanvas().

void QgsMapCanvas::panAction ( QMouseEvent *  event)

Called when mouse is moving and pan is activated.

Definition at line 1431 of file qgsmapcanvas.cpp.

References mDrawing, and moveCanvasContents().

Referenced by QgsMapToolPan::canvasMoveEvent(), QgsMapToolTouch::canvasMoveEvent(), and mouseMoveEvent().

void QgsMapCanvas::panToSelected ( QgsVectorLayer layer = NULL)

Pan to the selected features of current (vector) layer keeping same extent.

Note:
added in 2.0

Definition at line 757 of file qgsmapcanvas.cpp.

References QgsVectorLayer::boundingBoxOfSelected(), QgsRectangle::center(), QgsMapRenderer::layerExtentToOutputExtent(), mCurrentLayer, mDrawing, mMapRenderer, refresh(), QgsVectorLayer::selectedFeatureCount(), and setExtent().

void QgsMapCanvas::readProject ( const QDomDocument &  doc) [slot]

called to read map canvas settings from project

Definition at line 1507 of file qgsmapcanvas.cpp.

References clearExtentHistory(), mMapRenderer, QgsDebugMsg, and QgsMapRenderer::readXML().

Referenced by QgsMapCanvas().

void QgsMapCanvas::renderComplete ( QPainter *  ) [signal]

Emitted when the canvas has rendered.

Passes a pointer to the painter on which the map was drawn. This is useful for plugins that wish to draw on the map after it has been rendered. Passing the painter allows plugins to work when the map is being rendered onto a pixmap other than the mapCanvas own pixmap member.

Referenced by refresh(), and saveAsImage().

bool QgsMapCanvas::renderFlag ( ) [inline, slot]

State of render suppression flag.

Definition at line 286 of file qgsmapcanvas.h.

void QgsMapCanvas::renderStarting ( ) [signal]

Emitted when the canvas is about to be rendered.

Note:
Added in 1.5

Referenced by refresh().

void QgsMapCanvas::resizeEvent ( QResizeEvent *  e) [protected]

Overridden resize event.

Definition at line 1016 of file qgsmapcanvas.cpp.

References mNewSize.

void QgsMapCanvas::saveAsImage ( QString  theFileName,
QPixmap *  QPixmap = 0,
QString  theFormat = "PNG" 
) [slot]
double QgsMapCanvas::scale ( )

Get the last reported scale of the canvas.

Definition at line 204 of file qgsmapcanvas.cpp.

References mMapRenderer, and QgsMapRenderer::scale().

Referenced by QgsMapCanvasItem::setRenderContextVariables(), updateScale(), and zoomScale().

void QgsMapCanvas::scaleChanged ( double  ) [signal]

Emitted when the scale of the map changes.

Referenced by updateScale().

void QgsMapCanvas::selectionChanged ( QgsMapLayer layer) [signal]

Emitted when selection in any layer gets changed.

Referenced by selectionChangedSlot(), and setLayerSet().

Receives signal about selection change, and pass it on with layer info.

Definition at line 1552 of file qgsmapcanvas.cpp.

References layer(), refresh(), and selectionChanged().

Referenced by setLayerSet().

void QgsMapCanvas::setCanvasColor ( const QColor &  theColor) [virtual]

Write property of QColor bgColor.

Definition at line 1265 of file qgsmapcanvas.cpp.

References mMap, mScene, and QgsMapCanvasMap::setBackgroundColor().

Definition at line 199 of file qgsmapcanvas.cpp.

References layer(), and mCurrentLayer.

void QgsMapCanvas::setDirty ( bool  _dirty)

Flag the canvas as dirty and needed a refresh.

Definition at line 209 of file qgsmapcanvas.cpp.

References mDirty.

Referenced by clear().

void QgsMapCanvas::setMapTool ( QgsMapTool mapTool)

Sets the map tool currently being used on the canvas.

Definition at line 1214 of file qgsmapcanvas.cpp.

References QgsMapTool::activate(), QgsMapTool::deactivate(), QgsMapTool::isTransient(), mapToolDestroyed(), mapToolSet(), mLastNonZoomMapTool, and mMapTool.

Referenced by mouseReleaseEvent().

Set map units (needed by project properties dialog)

Definition at line 1339 of file qgsmapcanvas.cpp.

References mMapRenderer, QgsDebugMsg, and QgsMapRenderer::setMapUnits().

void QgsMapCanvas::setProgress ( int  ,
int   
) [signal]

Let the owner know how far we are with render operations.

void QgsMapCanvas::setRenderFlag ( bool  theFlag) [slot]

Whether to suppress rendering or not.

Definition at line 1352 of file qgsmapcanvas.cpp.

References mMapRenderer, mRenderFlag, refresh(), QgsMapRenderer::rendererContext(), and QgsRenderContext::setRenderingStopped().

void QgsMapCanvas::setWheelAction ( WheelAction  action,
double  factor = 2 
)

set wheel action and zoom factor (should be greater than 1)

Definition at line 1147 of file qgsmapcanvas.cpp.

References mWheelAction, and mWheelZoomFactor.

Referenced by QgsMapCanvas().

void QgsMapCanvas::showError ( QgsMapLayer mapLayer) [slot]

show whatever error is exposed by the QgsMapLayer.

Definition at line 1482 of file qgsmapcanvas.cpp.

References QgsMapLayer::lastError(), QgsMapLayer::lastErrorTitle(), QgsMapLayer::name(), QgsMessageViewer::setMessageAsPlainText(), and tr.

Referenced by QgsMapCanvas().

Unset the current map tool or last non zoom tool.

This is called from destructor of map tools to make sure that this map tool won't be used any more. You don't have to call it manualy, QgsMapTool takes care of it.

Definition at line 1248 of file qgsmapcanvas.cpp.

References QgsMapTool::deactivate(), mapToolSet(), mLastNonZoomMapTool, and mMapTool.

Referenced by QgsMapTool::~QgsMapTool().

called on resize or changed extent to notify canvas items to change their rectangle

Definition at line 1067 of file qgsmapcanvas.cpp.

References mScene, and QgsMapCanvasItem::updatePosition().

Referenced by moveCanvasContents(), paintEvent(), setExtent(), zoomToNextExtent(), and zoomToPreviousExtent().

Updates the full extent.

Definition at line 527 of file qgsmapcanvas.cpp.

References mMapRenderer, QgsDebugMsg, refresh(), and QgsMapRenderer::updateFullExtent().

void QgsMapCanvas::updateMap ( ) [slot]

updates pixmap on render progress

Definition at line 453 of file qgsmapcanvas.cpp.

References mMap, and QgsMapCanvasMap::updateContents().

Referenced by setLayerSet().

Definition at line 350 of file qgsmapcanvas.cpp.

References mMapOverview, and QgsMapOverviewCanvas::refresh().

Referenced by setLayerSet().

Emits signal scaleChanged to update scale in main window.

Definition at line 590 of file qgsmapcanvas.cpp.

References mMapRenderer, scale(), QgsMapRenderer::scale(), and scaleChanged().

Referenced by mapUnitsChanged(), paintEvent(), setExtent(), zoomToNextExtent(), and zoomToPreviousExtent().

void QgsMapCanvas::useImageToRender ( bool  theFlag)

Select which Qt class to render with.

Definition at line 172 of file qgsmapcanvas.cpp.

References mMap, refresh(), and QgsMapCanvasMap::useImageToRender().

void QgsMapCanvas::writeProject ( QDomDocument &  doc) [slot]

called to write map canvas settings to project

Definition at line 1522 of file qgsmapcanvas.cpp.

References mMapRenderer, QgsDebugMsg, and QgsMapRenderer::writeXML().

Referenced by QgsMapCanvas().

void QgsMapCanvas::xyCoordinates ( const QgsPoint p) [signal]

emits current mouse position

Note:
changed in 1.3

Referenced by mouseMoveEvent().

void QgsMapCanvas::zoomByFactor ( double  scaleFactor)

Zoom with the factor supplied. Factor > 1 zooms out, interval (0,1) zooms in.

Definition at line 1539 of file qgsmapcanvas.cpp.

References QgsMapRenderer::extent(), mDrawing, mMapRenderer, refresh(), QgsRectangle::scale(), and setExtent().

Referenced by zoomIn(), zoomOut(), and zoomScale().

Zoom in with fixed factor.

Definition at line 1153 of file qgsmapcanvas.cpp.

References mWheelZoomFactor, and zoomByFactor().

Referenced by keyPressEvent(), and wheelEvent().

void QgsMapCanvas::zoomLastStatusChanged ( bool  ) [signal]

Emitted when zoom last status changed.

Note:
: this signal was added in version 1.4

Referenced by clearExtentHistory(), setExtent(), zoomToNextExtent(), and zoomToPreviousExtent().

void QgsMapCanvas::zoomNextStatusChanged ( bool  ) [signal]

Emitted when zoom next status changed.

Note:
: this signal was added in version 1.4

Referenced by clearExtentHistory(), setExtent(), zoomToNextExtent(), and zoomToPreviousExtent().

Zoom out with fixed factor.

Definition at line 1158 of file qgsmapcanvas.cpp.

References mWheelZoomFactor, and zoomByFactor().

Referenced by keyPressEvent(), QgsMapToolTouch::pinchTriggered(), and wheelEvent().

void QgsMapCanvas::zoomScale ( double  scale)

Zoom to a specific scale.

Definition at line 1163 of file qgsmapcanvas.cpp.

References scale(), and zoomByFactor().

Zoom to the full extent of all layers.

Definition at line 607 of file qgsmapcanvas.cpp.

References extent(), fullExtent(), QgsRectangle::isEmpty(), mDrawing, refresh(), QgsRectangle::scale(), and setExtent().

void QgsMapCanvas::zoomToSelected ( QgsVectorLayer layer = NULL)

Zoom to the extent of the selected features of current (vector) layer.

Added in version 1.2: optionally specify different than current layer

Definition at line 710 of file qgsmapcanvas.cpp.

References QgsVectorLayer::boundingBoxOfSelected(), QgsRectangle::center(), extent(), QgsRectangle::isEmpty(), QgsMapRenderer::layerExtentToOutputExtent(), mCurrentLayer, mDrawing, mMapRenderer, refresh(), QgsRectangle::scale(), QgsVectorLayer::selectedFeatureCount(), and setExtent().


Member Data Documentation

indicates whether antialiasing will be used for rendering

Definition at line 496 of file qgsmapcanvas.h.

Referenced by enableAntiAliasing().

If backbuffering is currently enabled.

Definition at line 436 of file qgsmapcanvas.h.

Referenced by QgsMapCanvas(), and refresh().

Handle pattern for implementation object.

Definition at line 408 of file qgsmapcanvas.h.

Referenced by keyPressEvent(), keyReleaseEvent(), mouseLastXY(), mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), moveCanvasContents(), and panActionEnd().

bool QgsMapCanvas::mDirty [private]

Flag to track the state of the Map canvas.

The canvas is flagged as dirty by any operation that changes the state of the layers or the view extent. If the canvas is not dirty, paint events are handled by bit-blitting the stored canvas bitmap to the canvas. This improves performance by not reading the data source when no real change has occurred

Definition at line 452 of file qgsmapcanvas.h.

Referenced by isDirty(), QgsMapCanvas(), refresh(), and setDirty().

bool QgsMapCanvas::mFrozen [private]

Flag indicating if the map canvas is frozen.

Definition at line 441 of file qgsmapcanvas.h.

Referenced by freeze(), isFrozen(), QgsMapCanvas(), and refresh().

recently used extent

Definition at line 480 of file qgsmapcanvas.h.

Referenced by clearExtentHistory(), setExtent(), zoomToNextExtent(), and zoomToPreviousExtent().

previous tool if current is for zooming/panning

Definition at line 477 of file qgsmapcanvas.h.

Referenced by mouseReleaseEvent(), QgsMapCanvas(), setMapTool(), unsetMapTool(), and ~QgsMapCanvas().

QSize QgsMapCanvas::mNewSize [private]

resize canvas size

Definition at line 490 of file qgsmapcanvas.h.

Referenced by paintEvent(), and resizeEvent().

bool QgsMapCanvas::mPainting [private]

currently in paint event

Definition at line 493 of file qgsmapcanvas.h.

Referenced by paintEvent().

bool QgsMapCanvas::mRenderFlag [private]

determines whether user has requested to suppress rendering

Definition at line 455 of file qgsmapcanvas.h.

Referenced by QgsMapCanvas(), refresh(), and setRenderFlag().

QList< QPair<int, int> > QgsMapCanvas::mResizeQueue [private]

Resize events that have been ignored because the canvas is busy with rendering may put their sizes into this list.

The canvas then picks up the last entry in case a lot of resize events arrive in short time

Definition at line 460 of file qgsmapcanvas.h.

QGraphicsScene* QgsMapCanvas::mScene [private]

graphics scene manages canvas items

Definition at line 471 of file qgsmapcanvas.h.

Referenced by canvasColor(), moveCanvasContents(), paintEvent(), QgsMapCanvas(), setCanvasColor(), updateCanvasItemPositions(), and ~QgsMapCanvas().

Mouse wheel action.

Definition at line 487 of file qgsmapcanvas.h.

Referenced by setWheelAction(), and wheelEvent().

Scale factor multiple for default zoom in/out.

Definition at line 484 of file qgsmapcanvas.h.

Referenced by setWheelAction(), wheelEvent(), zoomIn(), zoomOut(), and zoomWithCenter().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines