Quantum GIS API Documentation
1.7.4
|
Object representing map window. More...
#include <qgscomposermap.h>
Public Types | |
enum | PreviewMode { Cache = 0, Render, Rectangle } |
Preview style. More... | |
enum | GridStyle { Solid = 0, Cross } |
enum | GridAnnotationPosition { InsideMapFrame = 0, OutsideMapFrame } |
enum | GridAnnotationDirection { Horizontal = 0, Vertical, HorizontalAndVertical, BoundaryDirection } |
Public Slots | |
void | updateCachedImage () |
Called if map canvas has changed. | |
void | renderModeUpdateCachedImage () |
Call updateCachedImage if item is in render mode. | |
Signals | |
void | extentChanged () |
Public Member Functions | |
QgsComposerMap (QgsComposition *composition, int x, int y, int width, int height) | |
Constructor. | |
QgsComposerMap (QgsComposition *composition) | |
Constructor. | |
~QgsComposerMap () | |
virtual int | type () const |
return correct graphics item type. | |
void | draw (QPainter *painter, const QgsRectangle &extent, const QSize &size, int dpi) |
This function is deprecated. | |
void | draw (QPainter *painter, const QgsRectangle &extent, const QSizeF &size, double dpi) |
Draw to paint device. | |
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) |
Reimplementation of QCanvasItem::paint - draw on canvas. | |
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) |
bool | keepLayerSet () const |
Getter for flag that determines if the stored layer set should be used or the current layer set of the qgis mapcanvas. | |
void | setKeepLayerSet (bool enabled) |
Setter for flag that determines if the stored layer set should be used or the current layer set of the qgis mapcanvas. | |
QStringList | layerSet () const |
Getter for stored layer set that is used if mKeepLayerSet is true. | |
void | setLayerSet (const QStringList &layerSet) |
Setter for stored layer set that is used if mKeepLayerSet is true. | |
void | storeCurrentLayerSet () |
Stores the current layer set of the qgis mapcanvas in mLayerSet. | |
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 | |
void | setGridEnabled (bool enabled) |
Enables a coordinate grid that is shown on top of this composermap. | |
bool | gridEnabled () const |
void | setGridStyle (GridStyle style) |
Sets coordinate grid style to solid or cross. | |
GridStyle | gridStyle () const |
void | setGridIntervalX (double interval) |
Sets coordinate interval in x-direction for composergrid. | |
double | gridIntervalX () const |
void | setGridIntervalY (double interval) |
Sets coordinate interval in y-direction for composergrid. | |
double | gridIntervalY () const |
void | setGridOffsetX (double offset) |
Sets x-coordinate offset for composer grid. | |
double | gridOffsetX () const |
void | setGridOffsetY (double offset) |
Sets y-coordinate offset for composer grid. | |
double | gridOffsetY () const |
void | setGridPen (const QPen &p) |
Sets the pen to draw composer grid. | |
QPen | gridPen () const |
void | setGridPenWidth (double w) |
Sets with of grid pen. | |
void | setGridPenColor (const QColor &c) |
Sets the color of the grid pen. | |
void | setGridAnnotationFont (const QFont &f) |
Sets font for grid annotations. | |
QFont | gridAnnotationFont () const |
void | setGridAnnotationPrecision (int p) |
Sets coordinate precision for grid annotations. | |
int | gridAnnotationPrecision () const |
void | setShowGridAnnotation (bool show) |
Sets flag if grid annotation should be shown. | |
bool | showGridAnnotation () const |
void | setGridAnnotationPosition (GridAnnotationPosition p) |
Sets position of grid annotations. | |
GridAnnotationPosition | gridAnnotationPosition () const |
void | setAnnotationFrameDistance (double d) |
Sets distance between map frame and annotations. | |
double | annotationFrameDistance () const |
void | setGridAnnotationDirection (GridAnnotationDirection d) |
Sets grid annotation direction. | |
GridAnnotationDirection | gridAnnotationDirection () const |
QRectF | boundingRect () const |
In case of annotations, the bounding rectangle can be larger than the map item rectangle. | |
void | updateBoundingRect () |
Updates the bounding rect of this item. | |
void | setCrossLength (double l) |
Sets length of the cros segments (if grid style is cross) | |
double | crossLength () |
void | setMapRotation (double r) |
void | setMapCanvas (QGraphicsView *canvas) |
Sets canvas pointer (necessary to query and draw map canvas items) | |
void | setDrawCanvasItems (bool b) |
bool | drawCanvasItems () const |
double | mapUnitsToMM () const |
Returns the conversion factor map units -> mm. | |
Private Types | |
enum | Border { Left, Right, Bottom, Top } |
Enum for different frame borders. More... | |
Private Member Functions | |
void | connectUpdateSlot () |
Establishes signal/slot connection for update in case of layer change. | |
void | syncLayerSet () |
Removes layer ids from mLayerSet that are no longer present in the qgis main map. | |
void | drawGrid (QPainter *p) |
Draws the map grid. | |
void | drawCoordinateAnnotations (QPainter *p, const QList< QPair< double, QLineF > > &hLines, const QList< QPair< double, QLineF > > &vLines) |
Draw coordinates for mGridAnnotationType Coordinate. | |
void | drawCoordinateAnnotation (QPainter *p, const QPointF &pos, QString annotationString) |
void | drawAnnotation (QPainter *p, const QPointF &pos, int rotation, const QString &annotationText) |
Draws a single annotation. | |
int | xGridLines (QList< QPair< double, QLineF > > &lines) const |
Returns the grid lines with associated coordinate value. | |
int | yGridLines (QList< QPair< double, QLineF > > &lines) const |
Returns the grid lines for the y-coordinates. | |
QgsRectangle | transformedExtent () const |
Returns extent that considers mOffsetX / mOffsetY (during content move) | |
QPolygonF | transformedMapPolygon () const |
Returns extent that considers rotation and shift with mOffsetX / mOffsetY. | |
double | maxExtension () const |
void | mapPolygon (QPolygonF &poly) const |
Returns the polygon of the map extent. | |
void | requestedExtent (QgsRectangle &extent) const |
Calculates the extent to request and the yShift of the top-left point in case of rotation. | |
void | transformShift (double &xShift, double &yShift) const |
Scales a composer map shift (in MM) and rotates it by mRotation. | |
QPointF | mapToItemCoords (const QPointF &mapCoords) const |
Transforms map coordinates to item coordinates (considering rotation and move offset) | |
Border | borderForLineCoord (const QPointF &p) const |
Returns the item border of a point (in item coordinates) | |
void | drawCanvasItems (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle) |
void | drawCanvasItem (QGraphicsItem *item, QPainter *painter, const QStyleOptionGraphicsItem *itemStyle) |
QPointF | composerMapPosForItem (const QGraphicsItem *item) const |
Private Attributes | |
QgsMapRenderer * | mMapRenderer |
int | mId |
Unique identifier. | |
QgsRectangle | mExtent |
QImage | mCacheImage |
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 | mXOffset |
Offset in x direction for showing map cache image. | |
double | mYOffset |
Offset in y direction for showing map cache image. | |
bool | mKeepLayerSet |
Flag if layers to be displayed should be read from qgis canvas (true) or from stored list in mLayerSet (false) | |
QStringList | mLayerSet |
Stored layer list (used if layer live-link mKeepLayerSet is disabled) | |
bool | mGridEnabled |
True if coordinate grid has to be displayed. | |
GridStyle | mGridStyle |
Solid or crosses. | |
double | mGridIntervalX |
Grid line interval in x-direction (map units) | |
double | mGridIntervalY |
Grid line interval in y-direction (map units) | |
double | mGridOffsetX |
Grid line offset in x-direction. | |
double | mGridOffsetY |
Grid line offset in y-direction. | |
QPen | mGridPen |
Grid line pen. | |
QFont | mGridAnnotationFont |
Font for grid line annotation. | |
int | mGridAnnotationPrecision |
Digits after the dot. | |
bool | mShowGridAnnotation |
True if coordinate values should be drawn. | |
GridAnnotationPosition | mGridAnnotationPosition |
Annotation position inside or outside of map frame. | |
double | mAnnotationFrameDistance |
Distance between map frame and annotation. | |
GridAnnotationDirection | mGridAnnotationDirection |
Annotation can be horizontal / vertical or different for axes. | |
QRectF | mCurrentRectangle |
Current bounding rectangle. | |
double | mCrossLength |
The length of the cross sides for mGridStyle Cross. | |
QGraphicsView * | mMapCanvas |
bool | mDrawCanvasItems |
True if annotation items, rubber band, etc. |
Object representing map window.
Definition at line 38 of file qgscomposermap.h.
enum QgsComposerMap::Border [private] |
Enum for different frame borders.
Definition at line 279 of file qgscomposermap.h.
Definition at line 72 of file qgscomposermap.h.
Definition at line 66 of file qgscomposermap.h.
Definition at line 60 of file qgscomposermap.h.
QgsComposerMap::QgsComposerMap | ( | QgsComposition * | composition, |
int | x, | ||
int | y, | ||
int | width, | ||
int | height | ||
) |
Constructor.
Definition at line 42 of file qgscomposermap.cpp.
References QgsComposition::composerMapItems(), QgsComposerItem::composition(), connectUpdateSlot(), QgsMapRenderer::extent(), QgsComposition::mapRenderer(), mCacheUpdated, QgsComposerItem::mComposition, mCurrentRectangle, mDrawing, mExtent, mGridPen, mId, mMapRenderer, mPreviewMode, mXOffset, mYOffset, Rectangle, and setSceneRect().
QgsComposerMap::QgsComposerMap | ( | QgsComposition * | composition | ) |
Constructor.
Settings are read from project.
Definition at line 87 of file qgscomposermap.cpp.
References QgsComposition::composerMapItems(), QgsComposerItem::composition(), connectUpdateSlot(), QgsComposition::mapRenderer(), QgsComposerItem::mComposition, mCurrentRectangle, mGridPen, mId, mMapRenderer, mPreviewMode, mXOffset, mYOffset, and Rectangle.
Definition at line 109 of file qgscomposermap.cpp.
double QgsComposerMap::annotationFrameDistance | ( | ) | const [inline] |
Definition at line 236 of file qgscomposermap.h.
QgsComposerMap::Border QgsComposerMap::borderForLineCoord | ( | const QPointF & | p | ) | const [private] |
Returns the item border of a point (in item coordinates)
Definition at line 1446 of file qgscomposermap.cpp.
References Bottom, Left, Right, and Top.
Referenced by drawCoordinateAnnotation().
QRectF QgsComposerMap::boundingRect | ( | ) | const |
In case of annotations, the bounding rectangle can be larger than the map item rectangle.
Definition at line 1256 of file qgscomposermap.cpp.
References mCurrentRectangle.
void QgsComposerMap::cache | ( | void | ) |
Create cache image.
Definition at line 183 of file qgscomposermap.cpp.
References draw(), QgsRectangle::height(), QgsComposerItem::horizontalViewScaleFactor(), mapUnitsToMM(), mCacheImage, mCacheUpdated, mDrawing, mExtent, QgsComposerItem::mLastValidViewScaleFactor, mPreviewMode, Rectangle, requestedExtent(), QgsRectangle::width(), QgsRectangle::xMinimum(), and QgsRectangle::yMinimum().
Referenced by QgsComposerView::addComposerMap(), moveContent(), setNewScale(), setSceneRect(), updateCachedImage(), and zoomContent().
QPointF QgsComposerMap::composerMapPosForItem | ( | const QGraphicsItem * | item | ) | const [private] |
Definition at line 1574 of file qgscomposermap.cpp.
References QgsMapRenderer::extent(), QgsRectangle::height(), mapToItemCoords(), mExtent, mMapCanvas, mMapRenderer, QgsRectangle::width(), QgsRectangle::xMinimum(), and QgsRectangle::yMaximum().
Referenced by drawCanvasItem().
void QgsComposerMap::connectUpdateSlot | ( | ) | [private] |
Establishes signal/slot connection for update in case of layer change.
Definition at line 587 of file qgscomposermap.cpp.
References QgsMapLayerRegistry::instance(), and updateCachedImage().
Referenced by QgsComposerMap().
bool QgsComposerMap::containsWMSLayer | ( | ) | const |
True if composer map renders a WMS layer.
Definition at line 553 of file qgscomposermap.cpp.
References QgsRasterLayer::dataProvider(), QgsMapLayerRegistry::instance(), QgsMapRenderer::layerSet(), QgsMapLayerRegistry::mapLayer(), mMapRenderer, and QgsDataProvider::name().
double QgsComposerMap::crossLength | ( | ) | [inline] |
Definition at line 253 of file qgscomposermap.h.
void QgsComposerMap::draw | ( | QPainter * | painter, |
const QgsRectangle & | extent, | ||
const QSize & | size, | ||
int | dpi | ||
) |
This function is deprecated.
Definition at line 113 of file qgscomposermap.cpp.
void QgsComposerMap::draw | ( | QPainter * | painter, |
const QgsRectangle & | extent, | ||
const QSizeF & | size, | ||
double | dpi | ||
) |
Draw to paint device.
painter | painter |
extent | map extent |
size | size in scene coordinates |
dpi | scene dpi |
Definition at line 120 of file qgscomposermap.cpp.
References QgsLabelingEngineInterface::clone(), QgsMapRenderer::destinationCrs(), QgsMapRenderer::hasCrsTransformEnabled(), QgsMapRenderer::labelingEngine(), QgsMapRenderer::layerSet(), mKeepLayerSet, mLayerSet, mMapRenderer, QgsMapRenderer::render(), QgsMapRenderer::rendererContext(), scale(), QgsMapRenderer::scale(), QgsMapRenderer::setDestinationCrs(), QgsRenderContext::setDrawEditingInformation(), QgsMapRenderer::setExtent(), QgsRenderContext::setForceVectorOutput(), QgsMapRenderer::setLabelingEngine(), QgsMapRenderer::setLayerSet(), QgsMapRenderer::setOutputSize(), QgsMapRenderer::setProjectionsEnabled(), QgsRenderContext::setRenderingStopped(), and QgsMapRenderer::setScale().
void QgsComposerMap::drawAnnotation | ( | QPainter * | p, |
const QPointF & | pos, | ||
int | rotation, | ||
const QString & | annotationText | ||
) | [private] |
Draws a single annotation.
p | drawing painter |
pos | item coordinates where to draw |
rotation | text rotation |
annotationText | the text to draw |
Definition at line 1101 of file qgscomposermap.cpp.
References QgsComposerItem::drawText(), and mGridAnnotationFont.
Referenced by drawCoordinateAnnotation().
void QgsComposerMap::drawCanvasItem | ( | QGraphicsItem * | item, |
QPainter * | painter, | ||
const QStyleOptionGraphicsItem * | itemStyle | ||
) | [private] |
Definition at line 1529 of file qgscomposermap.cpp.
References composerMapPosForItem(), QgsMapRenderer::extent(), mExtent, mMapCanvas, and mMapRenderer.
Referenced by drawCanvasItems().
bool QgsComposerMap::drawCanvasItems | ( | ) | const [inline] |
Definition at line 261 of file qgscomposermap.h.
Referenced by paint().
void QgsComposerMap::drawCanvasItems | ( | QPainter * | painter, |
const QStyleOptionGraphicsItem * | itemStyle | ||
) | [private] |
Definition at line 1466 of file qgscomposermap.cpp.
References drawCanvasItem(), mDrawCanvasItems, and mMapCanvas.
void QgsComposerMap::drawCoordinateAnnotation | ( | QPainter * | p, |
const QPointF & | pos, | ||
QString | annotationString | ||
) | [private] |
Definition at line 961 of file qgscomposermap.cpp.
References borderForLineCoord(), Bottom, BoundaryDirection, drawAnnotation(), QgsComposerItem::fontHeightCharacterMM(), Horizontal, InsideMapFrame, Left, mAnnotationFrameDistance, mGridAnnotationDirection, mGridAnnotationFont, mGridAnnotationPosition, Right, QgsComposerItem::rotation(), QgsComposerItem::textWidthMillimeters(), and Vertical.
Referenced by drawCoordinateAnnotations().
void QgsComposerMap::drawCoordinateAnnotations | ( | QPainter * | p, |
const QList< QPair< double, QLineF > > & | hLines, | ||
const QList< QPair< double, QLineF > > & | vLines | ||
) | [private] |
Draw coordinates for mGridAnnotationType Coordinate.
p | drawing painter |
hLines | horizontal coordinate lines in item coordinates |
vLines | vertical coordinate lines in item coordinates |
Definition at line 935 of file qgscomposermap.cpp.
References drawCoordinateAnnotation(), and mGridAnnotationPrecision.
Referenced by drawGrid().
void QgsComposerMap::drawGrid | ( | QPainter * | p | ) | [private] |
Draws the map grid.
Definition at line 850 of file qgscomposermap.cpp.
References drawCoordinateAnnotations(), mCrossLength, mGridPen, mGridStyle, mShowGridAnnotation, QgsComposerItem::pointOnLineWithDistance(), Solid, xGridLines(), and yGridLines().
Referenced by paint().
QgsRectangle QgsComposerMap::extent | ( | ) | const [inline] |
Definition at line 150 of file qgscomposermap.h.
Referenced by QgsComposerScaleBar::applyDefaultSize(), QgsComposerAttributeTable::getFeatureAttributes(), QgsComposerScaleBar::refreshSegmentMillimeters(), and setNewExtent().
void QgsComposerMap::extentChanged | ( | ) | [signal] |
Referenced by moveContent(), setNewScale(), setSceneRect(), and zoomContent().
GridAnnotationDirection QgsComposerMap::gridAnnotationDirection | ( | ) | const [inline] |
Definition at line 241 of file qgscomposermap.h.
QFont QgsComposerMap::gridAnnotationFont | ( | ) | const [inline] |
Definition at line 216 of file qgscomposermap.h.
GridAnnotationPosition QgsComposerMap::gridAnnotationPosition | ( | ) | const [inline] |
Definition at line 231 of file qgscomposermap.h.
int QgsComposerMap::gridAnnotationPrecision | ( | ) | const [inline] |
Definition at line 221 of file qgscomposermap.h.
bool QgsComposerMap::gridEnabled | ( | ) | const [inline] |
Definition at line 175 of file qgscomposermap.h.
double QgsComposerMap::gridIntervalX | ( | ) | const [inline] |
Definition at line 185 of file qgscomposermap.h.
double QgsComposerMap::gridIntervalY | ( | ) | const [inline] |
Definition at line 190 of file qgscomposermap.h.
double QgsComposerMap::gridOffsetX | ( | ) | const [inline] |
Definition at line 195 of file qgscomposermap.h.
double QgsComposerMap::gridOffsetY | ( | ) | const [inline] |
Definition at line 200 of file qgscomposermap.h.
QPen QgsComposerMap::gridPen | ( | ) | const [inline] |
Definition at line 205 of file qgscomposermap.h.
GridStyle QgsComposerMap::gridStyle | ( | ) | const [inline] |
Definition at line 180 of file qgscomposermap.h.
int QgsComposerMap::id | ( | ) | const [inline] |
Get identification number.
Definition at line 97 of file qgscomposermap.h.
Referenced by QgsComposition::getComposerMapById(), QgsComposerPicture::rotationMap(), QgsComposerAttributeTable::writeXML(), QgsComposerPicture::writeXML(), QgsComposerLegend::writeXML(), and QgsComposerScaleBar::writeXML().
bool QgsComposerMap::isDrawing | ( | ) | const [inline] |
True if a draw is already in progress.
Definition at line 100 of file qgscomposermap.h.
Referenced by QgsComposerView::keyPressEvent(), and QgsComposerAttributeTable::paint().
bool QgsComposerMap::keepLayerSet | ( | ) | const [inline] |
Getter for flag that determines if the stored layer set should be used or the current layer set of the qgis mapcanvas.
Definition at line 133 of file qgscomposermap.h.
QStringList QgsComposerMap::layerSet | ( | ) | const [inline] |
Getter for stored layer set that is used if mKeepLayerSet is true.
Definition at line 140 of file qgscomposermap.h.
Referenced by readXML().
void QgsComposerMap::mapPolygon | ( | QPolygonF & | poly | ) | const [private] |
Returns the polygon of the map extent.
If rotation == 0, the result is the same as mExtent
poly | out: the result polygon with the four corner points. The points are clockwise, starting at the top-left point |
Definition at line 1344 of file qgscomposermap.cpp.
References mExtent, QgsComposerItem::mRotation, QgsComposerItem::rotate(), QgsPoint::x(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsPoint::y(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by requestedExtent(), transformedMapPolygon(), xGridLines(), and yGridLines().
const QgsMapRenderer* QgsComposerMap::mapRenderer | ( | ) | const [inline] |
Definition at line 152 of file qgscomposermap.h.
QPointF QgsComposerMap::mapToItemCoords | ( | const QPointF & | mapCoords | ) | const [private] |
Transforms map coordinates to item coordinates (considering rotation and move offset)
Definition at line 1425 of file qgscomposermap.cpp.
References QgsComposerItem::mRotation, QgsComposerItem::rotate(), transformedExtent(), transformedMapPolygon(), QgsPoint::x(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsPoint::y(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by composerMapPosForItem(), xGridLines(), and yGridLines().
double QgsComposerMap::mapUnitsToMM | ( | ) | const |
Returns the conversion factor map units -> mm.
Definition at line 1403 of file qgscomposermap.cpp.
References mExtent, and QgsRectangle::width().
Referenced by cache(), QgsComposerLegend::drawSymbolV2(), paint(), and transformShift().
double QgsComposerMap::maxExtension | ( | ) | const [private] |
Definition at line 1301 of file qgscomposermap.cpp.
References QgsComposerItem::fontAscentMillimeters(), mAnnotationFrameDistance, mGridAnnotationFont, mGridAnnotationPosition, mGridAnnotationPrecision, mGridEnabled, mShowGridAnnotation, OutsideMapFrame, QgsComposerItem::textWidthMillimeters(), xGridLines(), and yGridLines().
Referenced by updateBoundingRect().
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 400 of file qgscomposermap.cpp.
References cache(), extentChanged(), QgsComposerItem::itemChanged(), mDrawing, mExtent, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), transformShift(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
void QgsComposerMap::paint | ( | QPainter * | painter, |
const QStyleOptionGraphicsItem * | itemStyle, | ||
QWidget * | pWidget | ||
) |
Reimplementation of QCanvasItem::paint - draw on canvas.
Definition at line 236 of file qgscomposermap.cpp.
References draw(), QgsComposerItem::drawBackground(), drawCanvasItems(), QgsComposerItem::drawFrame(), drawGrid(), QgsComposerItem::drawSelectionBoxes(), QgsRectangle::height(), QgsComposerItem::horizontalViewScaleFactor(), mapUnitsToMM(), mCacheImage, QgsComposerItem::mComposition, mDrawing, mExtent, mGridEnabled, QgsComposerItem::mLastValidViewScaleFactor, mPreviewMode, QgsComposerItem::mRotation, mXOffset, mYOffset, QgsComposition::plotStyle(), QgsComposition::Postscript, QgsComposition::Preview, QgsComposition::Print, Rectangle, requestedExtent(), scale(), QgsRectangle::width(), QgsPoint::x(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsPoint::y(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
PreviewMode QgsComposerMap::previewMode | ( | ) | [inline] |
Definition at line 128 of file qgscomposermap.h.
Referenced by readXML().
bool QgsComposerMap::readXML | ( | const QDomElement & | itemElem, |
const QDomDocument & | doc | ||
) | [virtual] |
sets state from Dom document
itemElem | is Dom node corresponding to 'ComposerMap' tag |
doc | is Dom document |
Implements QgsComposerItem.
Definition at line 690 of file qgscomposermap.cpp.
References QgsComposerItem::_readXML(), Cache, QgsComposerItem::itemChanged(), layerSet(), mAnnotationFrameDistance, mCacheUpdated, mCrossLength, mDrawCanvasItems, mDrawing, mExtent, mGridAnnotationDirection, mGridAnnotationFont, mGridAnnotationPosition, mGridAnnotationPrecision, mGridEnabled, mGridIntervalX, mGridIntervalY, mGridOffsetX, mGridOffsetY, mGridPen, mGridStyle, mId, mKeepLayerSet, mLayerSet, mNumCachedLayers, mPreviewMode, mShowGridAnnotation, previewMode(), Rectangle, Render, and updateBoundingRect().
void QgsComposerMap::renderModeUpdateCachedImage | ( | ) | [slot] |
Call updateCachedImage if item is in render mode.
Definition at line 371 of file qgscomposermap.cpp.
References mPreviewMode, Render, and updateCachedImage().
void QgsComposerMap::requestedExtent | ( | QgsRectangle & | extent | ) | const [private] |
Calculates the extent to request and the yShift of the top-left point in case of rotation.
Definition at line 1385 of file qgscomposermap.cpp.
References mapPolygon(), mExtent, QgsComposerItem::mRotation, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), and QgsRectangle::setYMinimum().
void QgsComposerMap::resize | ( | double | dx, |
double | dy | ||
) |
resizes an item in x- and y direction (canvas coordinates)
Definition at line 392 of file qgscomposermap.cpp.
References setSceneRect().
double QgsComposerMap::scale | ( | void | ) | const |
Scale.
Definition at line 384 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::setAnnotationFrameDistance | ( | double | d | ) | [inline] |
Sets distance between map frame and annotations.
Definition at line 235 of file qgscomposermap.h.
void QgsComposerMap::setCacheUpdated | ( | bool | u = false | ) |
Definition at line 379 of file qgscomposermap.cpp.
References mCacheUpdated.
void QgsComposerMap::setCrossLength | ( | double | l | ) | [inline] |
Sets length of the cros segments (if grid style is cross)
Definition at line 252 of file qgscomposermap.h.
void QgsComposerMap::setDrawCanvasItems | ( | bool | b | ) | [inline] |
Definition at line 260 of file qgscomposermap.h.
void QgsComposerMap::setGridAnnotationDirection | ( | GridAnnotationDirection | d | ) | [inline] |
Sets grid annotation direction.
Can be horizontal, vertical, direction of axis and horizontal and vertical
Definition at line 240 of file qgscomposermap.h.
void QgsComposerMap::setGridAnnotationFont | ( | const QFont & | f | ) | [inline] |
Sets font for grid annotations.
Definition at line 215 of file qgscomposermap.h.
void QgsComposerMap::setGridAnnotationPosition | ( | GridAnnotationPosition | p | ) | [inline] |
Sets position of grid annotations.
Possibilities are inside or outside of the map frame
Definition at line 230 of file qgscomposermap.h.
void QgsComposerMap::setGridAnnotationPrecision | ( | int | p | ) | [inline] |
Sets coordinate precision for grid annotations.
Definition at line 220 of file qgscomposermap.h.
void QgsComposerMap::setGridEnabled | ( | bool | enabled | ) | [inline] |
Enables a coordinate grid that is shown on top of this composermap.
Definition at line 174 of file qgscomposermap.h.
void QgsComposerMap::setGridIntervalX | ( | double | interval | ) | [inline] |
Sets coordinate interval in x-direction for composergrid.
Definition at line 184 of file qgscomposermap.h.
void QgsComposerMap::setGridIntervalY | ( | double | interval | ) | [inline] |
Sets coordinate interval in y-direction for composergrid.
Definition at line 189 of file qgscomposermap.h.
void QgsComposerMap::setGridOffsetX | ( | double | offset | ) | [inline] |
Sets x-coordinate offset for composer grid.
Definition at line 194 of file qgscomposermap.h.
void QgsComposerMap::setGridOffsetY | ( | double | offset | ) | [inline] |
Sets y-coordinate offset for composer grid.
Definition at line 199 of file qgscomposermap.h.
void QgsComposerMap::setGridPen | ( | const QPen & | p | ) | [inline] |
Sets the pen to draw composer grid.
Definition at line 204 of file qgscomposermap.h.
void QgsComposerMap::setGridPenColor | ( | const QColor & | c | ) |
Sets the color of the grid pen.
Definition at line 1251 of file qgscomposermap.cpp.
References mGridPen.
void QgsComposerMap::setGridPenWidth | ( | double | w | ) |
Sets with of grid pen.
Definition at line 1246 of file qgscomposermap.cpp.
References mGridPen.
void QgsComposerMap::setGridStyle | ( | GridStyle | style | ) | [inline] |
Sets coordinate grid style to solid or cross.
Definition at line 179 of file qgscomposermap.h.
void QgsComposerMap::setKeepLayerSet | ( | bool | enabled | ) | [inline] |
Setter for flag that determines if the stored layer set should be used or the current layer set of the qgis mapcanvas.
Definition at line 136 of file qgscomposermap.h.
void QgsComposerMap::setLayerSet | ( | const QStringList & | layerSet | ) | [inline] |
Setter for stored layer set that is used if mKeepLayerSet is true.
Definition at line 143 of file qgscomposermap.h.
void QgsComposerMap::setMapCanvas | ( | QGraphicsView * | canvas | ) | [inline] |
Sets canvas pointer (necessary to query and draw map canvas items)
Definition at line 258 of file qgscomposermap.h.
void QgsComposerMap::setMapRotation | ( | double | r | ) |
Definition at line 547 of file qgscomposermap.cpp.
References QgsComposerItem::rotationChanged(), and QgsComposerItem::setRotation().
void QgsComposerMap::setNewExtent | ( | const QgsRectangle & | extent | ) |
Sets new Extent and changes width, height (and implicitely also scale)
Definition at line 507 of file qgscomposermap.cpp.
References extent(), QgsRectangle::height(), mExtent, setSceneRect(), and QgsRectangle::width().
void QgsComposerMap::setNewScale | ( | double | scaleDenominator | ) |
Sets new scale and changes only mExtent.
Definition at line 523 of file qgscomposermap.cpp.
References cache(), extentChanged(), QgsComposerItem::itemChanged(), mCacheUpdated, mExtent, QgsRectangle::scale(), and scale().
void QgsComposerMap::setOffset | ( | double | xOffset, |
double | yOffset | ||
) |
Sets offset values to shift image (useful for live updates when moving item content)
Definition at line 541 of file qgscomposermap.cpp.
References mXOffset, and mYOffset.
Referenced by QgsComposerView::mouseMoveEvent(), and QgsComposerView::mouseReleaseEvent().
void QgsComposerMap::setPreviewMode | ( | PreviewMode | m | ) | [inline] |
Definition at line 129 of file qgscomposermap.h.
Referenced by QgsComposerView::addComposerMap().
void QgsComposerMap::setSceneRect | ( | const QRectF & | rectangle | ) | [virtual] |
Sets new scene rectangle bounds and recalculates hight and extent.
Reimplemented from QgsComposerItem.
Definition at line 484 of file qgscomposermap.cpp.
References cache(), extentChanged(), QgsComposerItem::itemChanged(), mCacheUpdated, mExtent, mPreviewMode, Rectangle, updateBoundingRect(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), and QgsRectangle::yMinimum().
Referenced by QgsComposerMap(), resize(), and setNewExtent().
void QgsComposerMap::setShowGridAnnotation | ( | bool | show | ) | [inline] |
Sets flag if grid annotation should be shown.
Definition at line 225 of file qgscomposermap.h.
bool QgsComposerMap::showGridAnnotation | ( | ) | const [inline] |
Definition at line 226 of file qgscomposermap.h.
void QgsComposerMap::storeCurrentLayerSet | ( | ) |
Stores the current layer set of the qgis mapcanvas in mLayerSet.
Definition at line 815 of file qgscomposermap.cpp.
References QgsMapRenderer::layerSet(), mLayerSet, and mMapRenderer.
void QgsComposerMap::syncLayerSet | ( | ) | [private] |
Removes layer ids from mLayerSet that are no longer present in the qgis main map.
Definition at line 823 of file qgscomposermap.cpp.
References QgsMapLayerRegistry::instance(), QgsMapRenderer::layerSet(), QgsMapLayerRegistry::mapLayers(), mKeepLayerSet, mLayerSet, and mMapRenderer.
Referenced by updateCachedImage().
QgsRectangle QgsComposerMap::transformedExtent | ( | ) | const [private] |
Returns extent that considers mOffsetX / mOffsetY (during content move)
Definition at line 1276 of file qgscomposermap.cpp.
References mExtent, mXOffset, mYOffset, transformShift(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by mapToItemCoords().
QPolygonF QgsComposerMap::transformedMapPolygon | ( | ) | const [private] |
Returns extent that considers rotation and shift with mOffsetX / mOffsetY.
Definition at line 1284 of file qgscomposermap.cpp.
References mapPolygon(), mXOffset, mYOffset, and transformShift().
Referenced by mapToItemCoords(), xGridLines(), and yGridLines().
void QgsComposerMap::transformShift | ( | double & | xShift, |
double & | yShift | ||
) | const [private] |
Scales a composer map shift (in MM) and rotates it by mRotation.
xShift | in: shift in x direction (in item units), out: xShift in map units |
yShift | in: shift in y direction (in item units), out: yShift in map units |
Definition at line 1413 of file qgscomposermap.cpp.
References mapUnitsToMM(), QgsComposerItem::mRotation, and QgsComposerItem::rotate().
Referenced by moveContent(), transformedExtent(), and transformedMapPolygon().
virtual int QgsComposerMap::type | ( | ) | const [inline, virtual] |
return correct graphics item type.
Added in v1.7
Reimplemented from QgsComposerItem.
Definition at line 50 of file qgscomposermap.h.
References QgsComposerItem::ComposerMap.
void QgsComposerMap::updateBoundingRect | ( | ) |
Updates the bounding rect of this item.
Call this function before doing any changes related to annotation out of the map rectangle
Definition at line 1261 of file qgscomposermap.cpp.
References maxExtension(), and mCurrentRectangle.
Referenced by readXML(), and setSceneRect().
void QgsComposerMap::updateCachedImage | ( | void | ) | [slot] |
Called if map canvas has changed.
Definition at line 358 of file qgscomposermap.cpp.
References cache(), mCacheUpdated, mKeepLayerSet, and syncLayerSet().
Referenced by connectUpdateSlot(), and renderModeUpdateCachedImage().
bool QgsComposerMap::writeXML | ( | QDomElement & | elem, |
QDomDocument & | doc | ||
) | const [virtual] |
stores state in Dom node
elem | is Dom element corresponding to 'Composer' tag |
doc | Dom document |
Implements QgsComposerItem.
Definition at line 598 of file qgscomposermap.cpp.
References QgsComposerItem::_writeXML(), Cache, mAnnotationFrameDistance, mCrossLength, mDrawCanvasItems, mExtent, mGridAnnotationDirection, mGridAnnotationFont, mGridAnnotationPosition, mGridAnnotationPrecision, mGridEnabled, mGridIntervalX, mGridIntervalY, mGridOffsetX, mGridOffsetY, mGridPen, mGridStyle, mId, mKeepLayerSet, mLayerSet, mPreviewMode, mShowGridAnnotation, Render, QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
int QgsComposerMap::xGridLines | ( | QList< QPair< double, QLineF > > & | lines | ) | const [private] |
Returns the grid lines with associated coordinate value.
Definition at line 1111 of file qgscomposermap.cpp.
References doubleNear(), mapPolygon(), mapToItemCoords(), mGridIntervalY, mGridOffsetY, QgsComposerItem::mRotation, and transformedMapPolygon().
Referenced by drawGrid(), and maxExtension().
int QgsComposerMap::yGridLines | ( | QList< QPair< double, QLineF > > & | lines | ) | const [private] |
Returns the grid lines for the y-coordinates.
Not vertical in case of rotation
Definition at line 1180 of file qgscomposermap.cpp.
References doubleNear(), mapPolygon(), mapToItemCoords(), mGridIntervalX, mGridOffsetX, QgsComposerItem::mRotation, and transformedMapPolygon().
Referenced by drawGrid(), and maxExtension().
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 416 of file qgscomposermap.cpp.
References cache(), extentChanged(), QgsComposerItem::itemChanged(), mDrawing, mExtent, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
double QgsComposerMap::mAnnotationFrameDistance [private] |
Distance between map frame and annotation.
Definition at line 354 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
QImage QgsComposerMap::mCacheImage [private] |
Definition at line 300 of file qgscomposermap.h.
bool QgsComposerMap::mCacheUpdated [private] |
Definition at line 303 of file qgscomposermap.h.
Referenced by cache(), QgsComposerMap(), readXML(), setCacheUpdated(), setNewScale(), setSceneRect(), and updateCachedImage().
double QgsComposerMap::mCrossLength [private] |
The length of the cross sides for mGridStyle Cross.
Definition at line 360 of file qgscomposermap.h.
Referenced by drawGrid(), readXML(), and writeXML().
QRectF QgsComposerMap::mCurrentRectangle [private] |
Current bounding rectangle.
This is used to check if notification to the graphics scene is necessary
Definition at line 358 of file qgscomposermap.h.
Referenced by boundingRect(), QgsComposerMap(), and updateBoundingRect().
bool QgsComposerMap::mDrawCanvasItems [private] |
True if annotation items, rubber band, etc.
from the main canvas should be displayed
Definition at line 363 of file qgscomposermap.h.
Referenced by drawCanvasItems(), 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 312 of file qgscomposermap.h.
Referenced by cache(), moveContent(), paint(), QgsComposerMap(), readXML(), and zoomContent().
QgsRectangle QgsComposerMap::mExtent [private] |
Definition at line 297 of file qgscomposermap.h.
Referenced by cache(), composerMapPosForItem(), drawCanvasItem(), mapPolygon(), mapUnitsToMM(), moveContent(), paint(), QgsComposerMap(), readXML(), requestedExtent(), scale(), setNewExtent(), setNewScale(), setSceneRect(), transformedExtent(), writeXML(), and zoomContent().
Annotation can be horizontal / vertical or different for axes.
Definition at line 356 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), readXML(), and writeXML().
QFont QgsComposerMap::mGridAnnotationFont [private] |
Font for grid line annotation.
Definition at line 346 of file qgscomposermap.h.
Referenced by drawAnnotation(), drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
Annotation position inside or outside of map frame.
Definition at line 352 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
int QgsComposerMap::mGridAnnotationPrecision [private] |
Digits after the dot.
Definition at line 348 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotations(), maxExtension(), readXML(), and writeXML().
bool QgsComposerMap::mGridEnabled [private] |
True if coordinate grid has to be displayed.
Definition at line 332 of file qgscomposermap.h.
Referenced by maxExtension(), paint(), readXML(), and writeXML().
double QgsComposerMap::mGridIntervalX [private] |
Grid line interval in x-direction (map units)
Definition at line 336 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and yGridLines().
double QgsComposerMap::mGridIntervalY [private] |
Grid line interval in y-direction (map units)
Definition at line 338 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and xGridLines().
double QgsComposerMap::mGridOffsetX [private] |
Grid line offset in x-direction.
Definition at line 340 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and yGridLines().
double QgsComposerMap::mGridOffsetY [private] |
Grid line offset in y-direction.
Definition at line 342 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and xGridLines().
QPen QgsComposerMap::mGridPen [private] |
Grid line pen.
Definition at line 344 of file qgscomposermap.h.
Referenced by drawGrid(), QgsComposerMap(), readXML(), setGridPenColor(), setGridPenWidth(), and writeXML().
GridStyle QgsComposerMap::mGridStyle [private] |
Solid or crosses.
Definition at line 334 of file qgscomposermap.h.
Referenced by drawGrid(), readXML(), and writeXML().
int QgsComposerMap::mId [private] |
Unique identifier.
Definition at line 292 of file qgscomposermap.h.
Referenced by QgsComposerMap(), readXML(), and writeXML().
bool QgsComposerMap::mKeepLayerSet [private] |
Flag if layers to be displayed should be read from qgis canvas (true) or from stored list in mLayerSet (false)
Definition at line 320 of file qgscomposermap.h.
Referenced by draw(), readXML(), syncLayerSet(), updateCachedImage(), and writeXML().
QStringList QgsComposerMap::mLayerSet [private] |
Stored layer list (used if layer live-link mKeepLayerSet is disabled)
Definition at line 323 of file qgscomposermap.h.
Referenced by draw(), readXML(), storeCurrentLayerSet(), syncLayerSet(), and writeXML().
QGraphicsView* QgsComposerMap::mMapCanvas [private] |
Definition at line 361 of file qgscomposermap.h.
Referenced by composerMapPosForItem(), drawCanvasItem(), and drawCanvasItems().
QgsMapRenderer* QgsComposerMap::mMapRenderer [private] |
Definition at line 289 of file qgscomposermap.h.
Referenced by composerMapPosForItem(), containsWMSLayer(), draw(), drawCanvasItem(), QgsComposerMap(), scale(), storeCurrentLayerSet(), and syncLayerSet().
int QgsComposerMap::mNumCachedLayers [private] |
Number of layers when cache was created.
Definition at line 309 of file qgscomposermap.h.
Referenced by readXML().
PreviewMode QgsComposerMap::mPreviewMode [private] |
Preview style.
Definition at line 306 of file qgscomposermap.h.
Referenced by cache(), paint(), QgsComposerMap(), readXML(), renderModeUpdateCachedImage(), setSceneRect(), and writeXML().
bool QgsComposerMap::mShowGridAnnotation [private] |
True if coordinate values should be drawn.
Definition at line 350 of file qgscomposermap.h.
Referenced by drawGrid(), maxExtension(), readXML(), and writeXML().
double QgsComposerMap::mXOffset [private] |
Offset in x direction for showing map cache image.
Definition at line 315 of file qgscomposermap.h.
Referenced by paint(), QgsComposerMap(), setOffset(), transformedExtent(), and transformedMapPolygon().
double QgsComposerMap::mYOffset [private] |
Offset in y direction for showing map cache image.
Definition at line 317 of file qgscomposermap.h.
Referenced by paint(), QgsComposerMap(), setOffset(), transformedExtent(), and transformedMapPolygon().