#include <qgscomposermap.h>
Inheritance diagram for QgsComposerMap:


Definition at line 39 of file qgscomposermap.h.
Public Types | |
| enum | PreviewMode { Cache = 0, Render, Rectangle } |
| Preview style. More... | |
Public Slots | |
| void | mapCanvasChanged () |
Signals | |
| void | extentChanged () |
| Is emitted when width/height is changed as a result of user interaction. | |
Public Member Functions | |
| QgsComposerMap (QgsComposition *composition, int x, int y, int width, int height) | |
| Constructor. | |
| QgsComposerMap (QgsComposition *composition) | |
| Constructor. | |
| ~QgsComposerMap () | |
| void | init (void) |
| Initialise GUI and other settings, shared by constructors. | |
| void | draw (QPainter *painter, const QgsRectangle &extent, const QSize &size, int dpi) |
| Draw to paint device. | |
| void | paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) |
| Reimplementation of QCanvasItem::paint - draw on canvas. | |
| void | recalculate (void) |
| Recalculate rectangle/extent/scale according to current rule. | |
| void | cache (void) |
| Create cache image. | |
| int | id () const |
| Get identification number. | |
| bool | isDrawing () const |
| True if a draw is already in progress. | |
| void | resize (double dx, double dy) |
| resizes an item in x- and y direction (canvas coordinates) | |
| void | moveContent (double dx, double dy) |
| Move content of map. | |
| void | zoomContent (int delta, double x, double y) |
| Zoom content of map. | |
| void | setSceneRect (const QRectF &rectangle) |
| Sets new scene rectangle bounds and recalculates hight and extent. | |
| double | scale (void) const |
| Scale. | |
| void | setNewScale (double scaleDenominator) |
| Sets new scale and changes only mExtent. | |
| void | setNewExtent (const QgsRectangle &extent) |
| Sets new Extent and changes width, height (and implicitely also scale). | |
| PreviewMode | previewMode () |
| void | setPreviewMode (PreviewMode m) |
| void | setCacheUpdated (bool u=false) |
| QgsRectangle | extent () const |
| const QgsMapRenderer * | mapRenderer () const |
| void | setOffset (double xOffset, double yOffset) |
| Sets offset values to shift image (useful for live updates when moving item content). | |
| bool | containsWMSLayer () const |
| True if composer map renders a WMS layer. | |
| bool | writeXML (QDomElement &elem, QDomDocument &doc) const |
| stores state in Dom node | |
| bool | readXML (const QDomElement &itemElem, const QDomDocument &doc) |
| sets state from Dom document | |
Private Member Functions | |
| void | connectUpdateSlot () |
| Establishes signal/slot connection for update in case of layer change. | |
| double | horizontalViewScaleFactor () const |
| Returns the zoom factor of the graphics view. | |
Private Attributes | |
| QgsMapRenderer * | mMapRenderer |
| int | mId |
| Unique identifier. | |
| QgsRectangle | mExtent |
| QPixmap | mCachePixmap |
| bool | mCacheUpdated |
| PreviewMode | mPreviewMode |
| Preview style. | |
| int | mNumCachedLayers |
| Number of layers when cache was created. | |
| bool | mDrawing |
| set to true if in state of drawing. | |
| double | mLastScaleFactorX |
| Store last scale factor to avoid unnecessary repaints in case preview mode is 'Render'. | |
| QgsRectangle | mCachedMapExtent |
| Store the last map extent to decide if cache needs to be updatet. | |
| double | mXOffset |
| Offset in x direction for showing map cache image. | |
| double | mYOffset |
| Offset in y direction for showing map cache image. | |
Static Private Attributes | |
| static int | mCurrentComposerId |
| For the generation of new unique ids. | |
| QgsComposerMap::QgsComposerMap | ( | QgsComposition * | composition, | |
| int | x, | |||
| int | y, | |||
| int | width, | |||
| int | height | |||
| ) |
Constructor.
Definition at line 45 of file qgscomposermap.cpp.
References QgsComposerItem::composition(), connectUpdateSlot(), QgsMapRenderer::extent(), QgsComposition::mapRenderer(), mCacheUpdated, QgsComposerItem::mComposition, mCurrentComposerId, mDrawing, mExtent, mId, mMapRenderer, mXOffset, mYOffset, and setSceneRect().
| QgsComposerMap::QgsComposerMap | ( | QgsComposition * | composition | ) |
Constructor.
Settings are read from project.
Definition at line 71 of file qgscomposermap.cpp.
References QgsComposerItem::composition(), connectUpdateSlot(), QgsComposition::mapRenderer(), QgsComposerItem::mComposition, mCurrentComposerId, mId, mMapRenderer, mXOffset, and mYOffset.
| QgsComposerMap::~QgsComposerMap | ( | ) |
Definition at line 87 of file qgscomposermap.cpp.
| void QgsComposerMap::init | ( | void | ) |
Initialise GUI and other settings, shared by constructors.
| void QgsComposerMap::draw | ( | QPainter * | painter, | |
| const QgsRectangle & | extent, | |||
| const QSize & | size, | |||
| int | dpi | |||
| ) |
Draw to paint device.
| extent | map extent | |
| size | size in scene coordinates | |
| dpi | scene dpi |
Definition at line 93 of file qgscomposermap.cpp.
References QgsMapRenderer::destinationSrs(), extent(), QgsMapRenderer::hasCrsTransformEnabled(), QgsMapRenderer::layerSet(), mDrawing, mMapRenderer, QgsMapRenderer::render(), QgsMapRenderer::rendererContext(), scale(), QgsMapRenderer::scale(), QgsMapRenderer::setDestinationSrs(), QgsRenderContext::setDrawEditingInformation(), QgsMapRenderer::setExtent(), QgsMapRenderer::setLayerSet(), QgsMapRenderer::setOutputSize(), QgsMapRenderer::setProjectionsEnabled(), QgsRenderContext::setRenderingStopped(), and QgsMapRenderer::setScale().
| void QgsComposerMap::paint | ( | QPainter * | painter, | |
| const QStyleOptionGraphicsItem * | itemStyle, | |||
| QWidget * | pWidget | |||
| ) |
Reimplementation of QCanvasItem::paint - draw on canvas.
Definition at line 170 of file qgscomposermap.cpp.
References draw(), QgsComposerItem::drawBackground(), QgsComposerItem::drawFrame(), QgsComposerItem::drawSelectionBoxes(), horizontalViewScaleFactor(), mCachePixmap, QgsComposerItem::mComposition, mExtent, mLastScaleFactorX, mPreviewMode, mXOffset, mYOffset, QgsComposition::plotStyle(), QgsComposition::Postscript, QgsComposition::Preview, QgsComposition::Print, Rectangle, and scale().
| void QgsComposerMap::recalculate | ( | void | ) |
Recalculate rectangle/extent/scale according to current rule.
| void QgsComposerMap::cache | ( | void | ) |
Create cache image.
Definition at line 135 of file qgscomposermap.cpp.
References draw(), horizontalViewScaleFactor(), mCachePixmap, mCacheUpdated, mExtent, mPreviewMode, Rectangle, QgsRectangle::width(), QgsRectangle::xMinimum(), and QgsRectangle::yMinimum().
Referenced by mapCanvasChanged(), moveContent(), readXML(), setNewScale(), setSceneRect(), and zoomContent().
| int QgsComposerMap::id | ( | ) | const [inline] |
Get identification number.
Definition at line 77 of file qgscomposermap.h.
Referenced by QgsComposerScaleBar::writeXML().
| bool QgsComposerMap::isDrawing | ( | ) | const [inline] |
| void QgsComposerMap::resize | ( | double | dx, | |
| double | dy | |||
| ) |
resizes an item in x- and y direction (canvas coordinates)
Definition at line 254 of file qgscomposermap.cpp.
References setSceneRect().
| void QgsComposerMap::moveContent | ( | double | dx, | |
| double | dy | |||
| ) | [virtual] |
Move content of map.
| dx | move in x-direction (item and canvas coordinates) | |
| dy | move in y-direction (item and canvas coordinates) |
Reimplemented from QgsComposerItem.
Definition at line 262 of file qgscomposermap.cpp.
References cache(), extentChanged(), QgsRectangle::height(), mDrawing, mExtent, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
| void QgsComposerMap::zoomContent | ( | int | delta, | |
| double | x, | |||
| double | y | |||
| ) | [virtual] |
Zoom content of map.
| delta | value from wheel event that describes magnitude and direction (positive /negative number) | |
| x | x-coordinate of mouse position in item coordinates | |
| y | y-coordinate of mouse position in item coordinates |
Reimplemented from QgsComposerItem.
Definition at line 283 of file qgscomposermap.cpp.
References cache(), extentChanged(), mExtent, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
| void QgsComposerMap::setSceneRect | ( | const QRectF & | rectangle | ) | [virtual] |
Sets new scene rectangle bounds and recalculates hight and extent.
Reimplemented from QgsComposerItem.
Definition at line 345 of file qgscomposermap.cpp.
References cache(), extentChanged(), mCacheUpdated, mExtent, QgsComposerItem::setSceneRect(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), and QgsRectangle::yMinimum().
Referenced by QgsComposerMap(), resize(), and setNewExtent().
| double QgsComposerMap::scale | ( | void | ) | const |
Scale.
Definition at line 246 of file qgscomposermap.cpp.
References QgsScaleCalculator::calculate(), QgsMapRenderer::mapUnits(), mExtent, mMapRenderer, QgsScaleCalculator::setDpi(), and QgsScaleCalculator::setMapUnits().
Referenced by draw(), paint(), QgsNumericScaleBarStyle::scaleText(), and setNewScale().
| void QgsComposerMap::setNewScale | ( | double | scaleDenominator | ) |
Sets new scale and changes only mExtent.
Definition at line 378 of file qgscomposermap.cpp.
References cache(), extentChanged(), mCacheUpdated, mExtent, scale(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
| void QgsComposerMap::setNewExtent | ( | const QgsRectangle & | extent | ) |
Sets new Extent and changes width, height (and implicitely also scale).
Definition at line 362 of file qgscomposermap.cpp.
References extent(), QgsRectangle::height(), mExtent, setSceneRect(), and QgsRectangle::width().
| PreviewMode QgsComposerMap::previewMode | ( | ) | [inline] |
| void QgsComposerMap::setPreviewMode | ( | PreviewMode | m | ) | [inline] |
Definition at line 109 of file qgscomposermap.h.
Referenced by QgsComposerView::mouseReleaseEvent().
| void QgsComposerMap::setCacheUpdated | ( | bool | u = false |
) |
| QgsRectangle QgsComposerMap::extent | ( | ) | const [inline] |
Definition at line 114 of file qgscomposermap.h.
Referenced by QgsComposerScaleBar::applyDefaultSettings(), draw(), QgsComposerScaleBar::refreshSegmentMillimeters(), and setNewExtent().
| const QgsMapRenderer* QgsComposerMap::mapRenderer | ( | ) | const [inline] |
Definition at line 116 of file qgscomposermap.h.
| void QgsComposerMap::setOffset | ( | double | xOffset, | |
| double | yOffset | |||
| ) |
Sets offset values to shift image (useful for live updates when moving item content).
Definition at line 400 of file qgscomposermap.cpp.
References mXOffset, and mYOffset.
Referenced by QgsComposerView::mouseMoveEvent(), and QgsComposerView::mouseReleaseEvent().
| bool QgsComposerMap::containsWMSLayer | ( | ) | const |
True if composer map renders a WMS layer.
Definition at line 406 of file qgscomposermap.cpp.
References QgsRasterLayer::dataProvider(), QgsMapLayerRegistry::instance(), QgsMapRenderer::layerSet(), QgsMapLayerRegistry::mapLayer(), mMapRenderer, and QgsDataProvider::name().
| bool QgsComposerMap::writeXML | ( | QDomElement & | elem, | |
| QDomDocument & | doc | |||
| ) | const [virtual] |
stores state in Dom node
| elem | is Dom element corresponding to 'Composer' tag | |
| temp | write template file |
Implements QgsComposerItem.
Definition at line 469 of file qgscomposermap.cpp.
References QgsComposerItem::_writeXML(), Cache, mCacheUpdated, mExtent, mNumCachedLayers, mPreviewMode, Render, QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
| bool QgsComposerMap::readXML | ( | const QDomElement & | itemElem, | |
| const QDomDocument & | doc | |||
| ) | [virtual] |
sets state from Dom document
| itemElem | is Dom node corresponding to 'ComposerMap' tag |
Implements QgsComposerItem.
Definition at line 510 of file qgscomposermap.cpp.
References QgsComposerItem::_readXML(), cache(), Cache, mCacheUpdated, mDrawing, mExtent, mNumCachedLayers, mPreviewMode, previewMode(), Rectangle, and Render.
| void QgsComposerMap::mapCanvasChanged | ( | ) | [slot] |
Definition at line 234 of file qgscomposermap.cpp.
References cache(), and mCacheUpdated.
Referenced by connectUpdateSlot().
| void QgsComposerMap::extentChanged | ( | ) | [signal] |
Is emitted when width/height is changed as a result of user interaction.
Referenced by moveContent(), setNewScale(), setSceneRect(), and zoomContent().
| void QgsComposerMap::connectUpdateSlot | ( | ) | [private] |
Establishes signal/slot connection for update in case of layer change.
Definition at line 458 of file qgscomposermap.cpp.
References QgsMapLayerRegistry::instance(), and mapCanvasChanged().
Referenced by QgsComposerMap().
| double QgsComposerMap::horizontalViewScaleFactor | ( | ) | const [private] |
Returns the zoom factor of the graphics view.
If no graphics view exists, the default 1 is returned
Definition at line 440 of file qgscomposermap.cpp.
QgsMapRenderer* QgsComposerMap::mMapRenderer [private] |
Definition at line 148 of file qgscomposermap.h.
Referenced by containsWMSLayer(), draw(), QgsComposerMap(), and scale().
int QgsComposerMap::mId [private] |
QgsRectangle QgsComposerMap::mExtent [private] |
Definition at line 156 of file qgscomposermap.h.
Referenced by cache(), moveContent(), paint(), QgsComposerMap(), readXML(), scale(), setNewExtent(), setNewScale(), setSceneRect(), writeXML(), and zoomContent().
QPixmap QgsComposerMap::mCachePixmap [private] |
bool QgsComposerMap::mCacheUpdated [private] |
Definition at line 165 of file qgscomposermap.h.
Referenced by cache(), mapCanvasChanged(), QgsComposerMap(), readXML(), setCacheUpdated(), setNewScale(), setSceneRect(), and writeXML().
PreviewMode QgsComposerMap::mPreviewMode [private] |
Preview style.
Definition at line 168 of file qgscomposermap.h.
Referenced by cache(), paint(), readXML(), and writeXML().
int QgsComposerMap::mNumCachedLayers [private] |
Number of layers when cache was created.
Definition at line 171 of file qgscomposermap.h.
Referenced by readXML(), and writeXML().
bool QgsComposerMap::mDrawing [private] |
set to true if in state of drawing.
Concurrent requests to draw method are returned if set to true
Definition at line 174 of file qgscomposermap.h.
Referenced by draw(), moveContent(), QgsComposerMap(), and readXML().
double QgsComposerMap::mLastScaleFactorX [private] |
Store last scale factor to avoid unnecessary repaints in case preview mode is 'Render'.
Definition at line 177 of file qgscomposermap.h.
Referenced by paint().
QgsRectangle QgsComposerMap::mCachedMapExtent [private] |
Store the last map extent to decide if cache needs to be updatet.
Definition at line 180 of file qgscomposermap.h.
double QgsComposerMap::mXOffset [private] |
Offset in x direction for showing map cache image.
Definition at line 183 of file qgscomposermap.h.
Referenced by paint(), QgsComposerMap(), and setOffset().
double QgsComposerMap::mYOffset [private] |
Offset in y direction for showing map cache image.
Definition at line 185 of file qgscomposermap.h.
Referenced by paint(), QgsComposerMap(), and setOffset().
int QgsComposerMap::mCurrentComposerId [static, private] |
For the generation of new unique ids.
Definition at line 188 of file qgscomposermap.h.
Referenced by QgsComposerMap().
1.5.1