Quantum GIS API Documentation
1.8
|
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, double *forceWidthScale=0) |
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 () const |
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 | updateItem () |
Updates item, with the possibility to do custom update for subclasses. | |
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 283 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 238 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 1466 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 1276 of file qgscomposermap.cpp.
References mCurrentRectangle.
void QgsComposerMap::cache | ( | void | ) |
Create cache image.
Definition at line 190 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 QgsComposition::addComposerMap(), moveContent(), setNewScale(), updateCachedImage(), updateItem(), and zoomContent().
QPointF QgsComposerMap::composerMapPosForItem | ( | const QGraphicsItem * | item | ) | const [private] |
Definition at line 1594 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 607 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 573 of file qgscomposermap.cpp.
References QgsRasterLayer::dataProvider(), QgsMapLayerRegistry::instance(), QgsMapRenderer::layerSet(), QgsMapLayerRegistry::mapLayer(), mMapRenderer, and QgsDataProvider::name().
double QgsComposerMap::crossLength | ( | ) | [inline] |
Definition at line 255 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, | ||
double * | forceWidthScale = 0 |
||
) |
Draw to paint device.
painter | painter |
extent | map extent |
size | size in scene coordinates |
dpi | scene dpi |
forceWidthScale | force wysiwyg line widths / marker sizes |
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 1121 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 1549 of file qgscomposermap.cpp.
References composerMapPosForItem(), QgsMapRenderer::extent(), mExtent, mMapCanvas, and mMapRenderer.
Referenced by drawCanvasItems().
bool QgsComposerMap::drawCanvasItems | ( | ) | const [inline] |
Definition at line 265 of file qgscomposermap.h.
Referenced by paint().
void QgsComposerMap::drawCanvasItems | ( | QPainter * | painter, |
const QStyleOptionGraphicsItem * | itemStyle | ||
) | [private] |
Definition at line 1486 of file qgscomposermap.cpp.
References drawCanvasItem(), mDrawCanvasItems, and mMapCanvas.
void QgsComposerMap::drawCoordinateAnnotation | ( | QPainter * | p, |
const QPointF & | pos, | ||
QString | annotationString | ||
) | [private] |
Definition at line 981 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 955 of file qgscomposermap.cpp.
References drawCoordinateAnnotation(), and mGridAnnotationPrecision.
Referenced by drawGrid().
void QgsComposerMap::drawGrid | ( | QPainter * | p | ) | [private] |
Draws the map grid.
Definition at line 870 of file qgscomposermap.cpp.
References drawCoordinateAnnotations(), mCrossLength, mGridPen, mGridStyle, mShowGridAnnotation, QgsSymbolLayerV2Utils::pointOnLineWithDistance(), Solid, xGridLines(), and yGridLines().
Referenced by paint().
QgsRectangle QgsComposerMap::extent | ( | ) | const [inline] |
Definition at line 152 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 243 of file qgscomposermap.h.
QFont QgsComposerMap::gridAnnotationFont | ( | ) | const [inline] |
Definition at line 218 of file qgscomposermap.h.
GridAnnotationPosition QgsComposerMap::gridAnnotationPosition | ( | ) | const [inline] |
Definition at line 233 of file qgscomposermap.h.
int QgsComposerMap::gridAnnotationPrecision | ( | ) | const [inline] |
Definition at line 223 of file qgscomposermap.h.
bool QgsComposerMap::gridEnabled | ( | ) | const [inline] |
Definition at line 177 of file qgscomposermap.h.
double QgsComposerMap::gridIntervalX | ( | ) | const [inline] |
Definition at line 187 of file qgscomposermap.h.
double QgsComposerMap::gridIntervalY | ( | ) | const [inline] |
Definition at line 192 of file qgscomposermap.h.
double QgsComposerMap::gridOffsetX | ( | ) | const [inline] |
Definition at line 197 of file qgscomposermap.h.
double QgsComposerMap::gridOffsetY | ( | ) | const [inline] |
Definition at line 202 of file qgscomposermap.h.
QPen QgsComposerMap::gridPen | ( | ) | const [inline] |
Definition at line 207 of file qgscomposermap.h.
GridStyle QgsComposerMap::gridStyle | ( | ) | const [inline] |
Definition at line 182 of file qgscomposermap.h.
int QgsComposerMap::id | ( | ) | const [inline] |
Get identification number.
Reimplemented from QgsComposerItem.
Definition at line 99 of file qgscomposermap.h.
References QgsComposerItem::mId.
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 102 of file qgscomposermap.h.
Referenced by QgsComposerAttributeTable::paint(), and QgsComposition::removeComposerItem().
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 135 of file qgscomposermap.h.
QStringList QgsComposerMap::layerSet | ( | ) | const [inline] |
Getter for stored layer set that is used if mKeepLayerSet is true.
Definition at line 142 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 1364 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 154 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 1445 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 1423 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 1321 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 407 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 245 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 | ( | ) | const [inline] |
Definition at line 130 of file qgscomposermap.h.
Referenced by QgsComposition::addComposerMap(), QgsComposition::addItemsFromXML(), and 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 710 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().
Referenced by QgsComposition::addItemsFromXML().
void QgsComposerMap::renderModeUpdateCachedImage | ( | ) | [slot] |
Call updateCachedImage if item is in render mode.
Definition at line 377 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 1405 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 398 of file qgscomposermap.cpp.
References setSceneRect(), and updateItem().
double QgsComposerMap::scale | ( | void | ) | const |
Scale.
Definition at line 390 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 237 of file qgscomposermap.h.
void QgsComposerMap::setCacheUpdated | ( | bool | u = false | ) |
Definition at line 385 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 254 of file qgscomposermap.h.
void QgsComposerMap::setDrawCanvasItems | ( | bool | b | ) | [inline] |
Definition at line 264 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 242 of file qgscomposermap.h.
void QgsComposerMap::setGridAnnotationFont | ( | const QFont & | f | ) | [inline] |
Sets font for grid annotations.
Definition at line 217 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 232 of file qgscomposermap.h.
void QgsComposerMap::setGridAnnotationPrecision | ( | int | p | ) | [inline] |
Sets coordinate precision for grid annotations.
Definition at line 222 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 176 of file qgscomposermap.h.
void QgsComposerMap::setGridIntervalX | ( | double | interval | ) | [inline] |
Sets coordinate interval in x-direction for composergrid.
Definition at line 186 of file qgscomposermap.h.
void QgsComposerMap::setGridIntervalY | ( | double | interval | ) | [inline] |
Sets coordinate interval in y-direction for composergrid.
Definition at line 191 of file qgscomposermap.h.
void QgsComposerMap::setGridOffsetX | ( | double | offset | ) | [inline] |
Sets x-coordinate offset for composer grid.
Definition at line 196 of file qgscomposermap.h.
void QgsComposerMap::setGridOffsetY | ( | double | offset | ) | [inline] |
Sets y-coordinate offset for composer grid.
Definition at line 201 of file qgscomposermap.h.
void QgsComposerMap::setGridPen | ( | const QPen & | p | ) | [inline] |
Sets the pen to draw composer grid.
Definition at line 206 of file qgscomposermap.h.
void QgsComposerMap::setGridPenColor | ( | const QColor & | c | ) |
Sets the color of the grid pen.
Definition at line 1271 of file qgscomposermap.cpp.
References mGridPen.
void QgsComposerMap::setGridPenWidth | ( | double | w | ) |
Sets with of grid pen.
Definition at line 1266 of file qgscomposermap.cpp.
References mGridPen.
void QgsComposerMap::setGridStyle | ( | GridStyle | style | ) | [inline] |
Sets coordinate grid style to solid or cross.
Definition at line 181 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 138 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 145 of file qgscomposermap.h.
void QgsComposerMap::setMapCanvas | ( | QGraphicsView * | canvas | ) | [inline] |
Sets canvas pointer (necessary to query and draw map canvas items)
Definition at line 262 of file qgscomposermap.h.
void QgsComposerMap::setMapRotation | ( | double | r | ) |
Definition at line 557 of file qgscomposermap.cpp.
References QgsComposerItem::itemChanged(), 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 510 of file qgscomposermap.cpp.
References extent(), QgsRectangle::height(), mExtent, setSceneRect(), updateItem(), and QgsRectangle::width().
void QgsComposerMap::setNewScale | ( | double | scaleDenominator | ) |
Sets new scale and changes only mExtent.
Definition at line 527 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 551 of file qgscomposermap.cpp.
References mXOffset, and mYOffset.
Referenced by QgsComposerView::mouseMoveEvent(), and QgsComposerView::mouseReleaseEvent().
void QgsComposerMap::setPreviewMode | ( | PreviewMode | m | ) |
Definition at line 545 of file qgscomposermap.cpp.
References QgsComposerItem::itemChanged(), and mPreviewMode.
Referenced by QgsComposition::addComposerMap(), and QgsComposition::addItemsFromXML().
void QgsComposerMap::setSceneRect | ( | const QRectF & | rectangle | ) | [virtual] |
Sets new scene rectangle bounds and recalculates hight and extent.
Reimplemented from QgsComposerItem.
Definition at line 491 of file qgscomposermap.cpp.
References extentChanged(), QgsComposerItem::itemChanged(), mCacheUpdated, mExtent, 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 227 of file qgscomposermap.h.
bool QgsComposerMap::showGridAnnotation | ( | ) | const [inline] |
Definition at line 228 of file qgscomposermap.h.
void QgsComposerMap::storeCurrentLayerSet | ( | ) |
Stores the current layer set of the qgis mapcanvas in mLayerSet.
Definition at line 835 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 843 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 1296 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 1304 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 1433 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 1281 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 369 of file qgscomposermap.cpp.
References cache(), mCacheUpdated, and syncLayerSet().
Referenced by connectUpdateSlot(), and renderModeUpdateCachedImage().
void QgsComposerMap::updateItem | ( | ) | [virtual] |
Updates item, with the possibility to do custom update for subclasses.
Reimplemented from QgsComposerItem.
Definition at line 564 of file qgscomposermap.cpp.
References cache(), mCacheUpdated, mPreviewMode, and Rectangle.
Referenced by resize(), and setNewExtent().
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 618 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 1131 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 1200 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 423 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 358 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
QImage QgsComposerMap::mCacheImage [private] |
Definition at line 304 of file qgscomposermap.h.
bool QgsComposerMap::mCacheUpdated [private] |
Definition at line 307 of file qgscomposermap.h.
Referenced by cache(), QgsComposerMap(), readXML(), setCacheUpdated(), setNewScale(), setSceneRect(), updateCachedImage(), and updateItem().
double QgsComposerMap::mCrossLength [private] |
The length of the cross sides for mGridStyle Cross.
Definition at line 364 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 362 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 367 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 316 of file qgscomposermap.h.
Referenced by cache(), moveContent(), paint(), QgsComposerMap(), readXML(), and zoomContent().
QgsRectangle QgsComposerMap::mExtent [private] |
Definition at line 301 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 360 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), readXML(), and writeXML().
QFont QgsComposerMap::mGridAnnotationFont [private] |
Font for grid line annotation.
Definition at line 350 of file qgscomposermap.h.
Referenced by drawAnnotation(), drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
Annotation position inside or outside of map frame.
Definition at line 356 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
int QgsComposerMap::mGridAnnotationPrecision [private] |
Digits after the dot.
Definition at line 352 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 336 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 340 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 342 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and xGridLines().
double QgsComposerMap::mGridOffsetX [private] |
Grid line offset in x-direction.
Definition at line 344 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and yGridLines().
double QgsComposerMap::mGridOffsetY [private] |
Grid line offset in y-direction.
Definition at line 346 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and xGridLines().
QPen QgsComposerMap::mGridPen [private] |
Grid line pen.
Definition at line 348 of file qgscomposermap.h.
Referenced by drawGrid(), QgsComposerMap(), readXML(), setGridPenColor(), setGridPenWidth(), and writeXML().
GridStyle QgsComposerMap::mGridStyle [private] |
Solid or crosses.
Definition at line 338 of file qgscomposermap.h.
Referenced by drawGrid(), readXML(), and writeXML().
int QgsComposerMap::mId [private] |
Unique identifier.
Reimplemented from QgsComposerItem.
Definition at line 296 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 324 of file qgscomposermap.h.
Referenced by draw(), readXML(), syncLayerSet(), and writeXML().
QStringList QgsComposerMap::mLayerSet [private] |
Stored layer list (used if layer live-link mKeepLayerSet is disabled)
Definition at line 327 of file qgscomposermap.h.
Referenced by draw(), readXML(), storeCurrentLayerSet(), syncLayerSet(), and writeXML().
QGraphicsView* QgsComposerMap::mMapCanvas [private] |
Definition at line 365 of file qgscomposermap.h.
Referenced by composerMapPosForItem(), drawCanvasItem(), and drawCanvasItems().
QgsMapRenderer* QgsComposerMap::mMapRenderer [private] |
Definition at line 293 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 313 of file qgscomposermap.h.
Referenced by readXML().
PreviewMode QgsComposerMap::mPreviewMode [private] |
Preview style.
Definition at line 310 of file qgscomposermap.h.
Referenced by cache(), paint(), QgsComposerMap(), readXML(), renderModeUpdateCachedImage(), setPreviewMode(), updateItem(), and writeXML().
bool QgsComposerMap::mShowGridAnnotation [private] |
True if coordinate values should be drawn.
Definition at line 354 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 319 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 321 of file qgscomposermap.h.
Referenced by paint(), QgsComposerMap(), setOffset(), transformedExtent(), and transformedMapPolygon().