Quantum GIS API Documentation
1.7.5-Wroclaw
|
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 } |
![]() | |
enum | ItemType { ComposerItem = UserType + 100, ComposerArrow, ComposerItemGroup, ComposerLabel, ComposerLegend, ComposerMap, ComposerPaper, ComposerPicture, ComposerScaleBar, ComposerShape, ComposerTable, ComposerAttributeTable, ComposerTextTable } |
enum | MouseMoveAction { MoveItem, ResizeUp, ResizeDown, ResizeLeft, ResizeRight, ResizeLeftUp, ResizeRightUp, ResizeLeftDown, ResizeRightDown, NoAction } |
Describes the action (move or resize in different directon) to be done during mouse move. More... | |
enum | ItemPositionMode { UpperLeft, UpperMiddle, UpperRight, MiddleLeft, Middle, MiddleRight, LowerLeft, LowerMiddle, LowerRight } |
Public Slots | |
void | updateCachedImage () |
Called if map canvas has changed. | |
void | renderModeUpdateCachedImage () |
Call updateCachedImage if item is in render mode. | |
![]() | |
virtual void | setRotation (double r) |
void | repaint () |
Signals | |
void | extentChanged () |
![]() | |
void | rotationChanged (double newRotation) |
Is emitted on rotation change to notify north arrow pictures. | |
void | itemChanged () |
Used e.g. |
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. | |
![]() | |
QgsComposerItem (QgsComposition *composition, bool manageZValue=true) | |
Constructor. | |
QgsComposerItem (qreal x, qreal y, qreal width, qreal height, QgsComposition *composition, bool manageZValue=true) | |
Constructor with box position and composer object. | |
virtual | ~QgsComposerItem () |
virtual void | setSelected (bool s) |
Set selected, selected item should be highlighted. | |
virtual bool | selected (void) |
Is selected. | |
virtual bool | writeSettings (void) |
stores state in project | |
virtual bool | readSettings (void) |
read state from project | |
virtual bool | removeSettings (void) |
delete settings from project file | |
void | move (double dx, double dy) |
Moves item in canvas coordinates. | |
void | setItemPosition (double x, double y, ItemPositionMode itemPoint=UpperLeft) |
Moves the item to a new position (in canvas coordinates) | |
void | setItemPosition (double x, double y, double width, double height, ItemPositionMode itemPoint=UpperLeft) |
Sets item position and width / height in one go. | |
bool | _writeXML (QDomElement &itemElem, QDomDocument &doc) const |
Writes parameter that are not subclass specific in document. | |
bool | _readXML (const QDomElement &itemElem, const QDomDocument &doc) |
Reads parameter that are not subclass specific in document. | |
bool | frame () const |
void | setFrame (bool drawFrame) |
virtual void | addItem (QgsComposerItem *item) |
Composite operations for item groups do nothing per default. | |
virtual void | removeItems () |
const QgsComposition * | composition () const |
void | beginCommand (const QString &commandText, QgsComposerMergeCommand::Context c=QgsComposerMergeCommand::Unknown) |
Starts new composer undo command. | |
void | endCommand () |
Finish current command and push it onto the undo stack. | |
void | cancelCommand () |
void | drawText (QPainter *p, double x, double y, const QString &text, const QFont &font) const |
Draws Text. | |
void | drawText (QPainter *p, const QRectF &rect, const QString &text, const QFont &font, Qt::AlignmentFlag halignement=Qt::AlignLeft, Qt::AlignmentFlag valignement=Qt::AlignTop) const |
Like the above, but with a rectangle for multiline text. | |
double | textWidthMillimeters (const QFont &font, const QString &text) const |
Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. | |
double | fontHeightCharacterMM (const QFont &font, const QChar &c) const |
Returns the font height of a character in millimeters. | |
double | fontAscentMillimeters (const QFont &font) const |
Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. | |
double | pixelFontSize (double pointSize) const |
Calculates font to from point size to pixel size. | |
QFont | scaledFontPixelSize (const QFont &font) const |
Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE. | |
void | setPositionLock (bool lock) |
Locks / unlocks the item position for mouse drags. | |
bool | positionLock () const |
Returns position lock for mouse drags (true means locked) | |
void | updateCursor (const QPointF &itemPos) |
Update mouse cursor at (item) position. | |
double | rotation () const |
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. |
Additional Inherited Members | |
![]() | |
virtual void | mouseMoveEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mousePressEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) |
virtual void | hoverMoveEvent (QGraphicsSceneHoverEvent *event) |
Qt::CursorShape | cursorForPosition (const QPointF &itemCoordPos) |
Finds out the appropriate cursor for the current mouse position in the widget (e.g. | |
QgsComposerItem::MouseMoveAction | mouseMoveActionForPosition (const QPointF &itemCoordPos) |
Finds out which mouse move action to choose depending on the cursor position inside the widget. | |
void | changeItemRectangle (const QPointF ¤tPosition, const QPointF &mouseMoveStartPos, const QGraphicsRectItem *originalItem, double dx, double dy, QGraphicsRectItem *changeItem) |
Changes the rectangle of an item depending on current mouse action (resize or move) | |
virtual void | drawSelectionBoxes (QPainter *p) |
Draw selection boxes around item. | |
virtual void | drawFrame (QPainter *p) |
Draw black frame around item. | |
virtual void | drawBackground (QPainter *p) |
Draw background. | |
void | drawArrowHead (QPainter *p, double x, double y, double angle, double arrowHeadWidth) const |
Draws arrowhead. | |
double | angle (const QPointF &p1, const QPointF &p2) const |
Returns angle of the line from p1 to p2 (clockwise, starting at N) | |
double | rectHandlerBorderTolerance () const |
Returns the current (zoom level dependent) tolerance to decide if mouse position is close enough to the \ item border for resizing. | |
double | lockSymbolSize () const |
Returns the size of the lock symbol depending on the composer zoom level and the item size. | |
double | horizontalViewScaleFactor () const |
Returns the zoom factor of the graphics view. | |
bool | imageSizeConsideringRotation (double &width, double &height) const |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation. | |
bool | cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height) const |
Calculates corner point after rotation and scaling. | |
QPointF | pointOnLineWithDistance (const QPointF &startPoint, const QPointF &directionPoint, double distance) const |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point. | |
void | sizeChangedByRotation (double &width, double &height) |
Calculates width / height of the bounding box of a rotated rectangle (mRotation) | |
void | rotate (double angle, double &x, double &y) const |
Rotates a point / vector. | |
![]() | |
QgsComposition * | mComposition |
QgsComposerItem::MouseMoveAction | mCurrentMouseMoveAction |
QPointF | mMouseMoveStartPos |
Start point of the last mouse move action (in scene coordinates) | |
QPointF | mLastMouseEventPos |
Position of the last mouse move event (in scene coordinates) | |
QGraphicsRectItem * | mBoundingResizeRectangle |
Rectangle used during move and resize actions. | |
bool | mFrame |
True if item fram needs to be painted. | |
bool | mItemPositionLocked |
True if item position and size cannot be changed with mouse move. | |
double | mLastValidViewScaleFactor |
Backup to restore item appearance if no view scale factor is available. | |
double | mRotation |
Item rotation in degrees, clockwise. |
Object representing map window.
Definition at line 38 of file qgscomposermap.h.
|
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.
QgsComposerMap::~QgsComposerMap | ( | ) |
Definition at line 109 of file qgscomposermap.cpp.
|
inline |
Definition at line 236 of file qgscomposermap.h.
|
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().
|
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().
|
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().
|
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().
|
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().
|
private |
Definition at line 1529 of file qgscomposermap.cpp.
References composerMapPosForItem(), QgsMapRenderer::extent(), mExtent, mMapCanvas, and mMapRenderer.
Referenced by drawCanvasItems().
|
inline |
Definition at line 261 of file qgscomposermap.h.
Referenced by paint().
|
private |
Definition at line 1466 of file qgscomposermap.cpp.
References drawCanvasItem(), mDrawCanvasItems, and mMapCanvas.
|
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().
|
private |
Draw coordinates for mGridAnnotationType Coordinate.
@param 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().
|
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().
|
inline |
Definition at line 150 of file qgscomposermap.h.
Referenced by QgsComposerScaleBar::applyDefaultSize(), QgsComposerAttributeTable::getFeatureAttributes(), QgsComposerScaleBar::refreshSegmentMillimeters(), and setNewExtent().
|
signal |
Referenced by moveContent(), setNewScale(), setSceneRect(), and zoomContent().
|
inline |
Definition at line 241 of file qgscomposermap.h.
|
inline |
Definition at line 216 of file qgscomposermap.h.
|
inline |
Definition at line 231 of file qgscomposermap.h.
|
inline |
Definition at line 221 of file qgscomposermap.h.
|
inline |
Definition at line 175 of file qgscomposermap.h.
|
inline |
Definition at line 185 of file qgscomposermap.h.
|
inline |
Definition at line 190 of file qgscomposermap.h.
|
inline |
Definition at line 195 of file qgscomposermap.h.
|
inline |
Definition at line 200 of file qgscomposermap.h.
|
inline |
Definition at line 205 of file qgscomposermap.h.
|
inline |
Definition at line 180 of file qgscomposermap.h.
|
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().
|
inline |
True if a draw is already in progress.
Definition at line 100 of file qgscomposermap.h.
Referenced by QgsComposerView::keyPressEvent(), and QgsComposerAttributeTable::paint().
|
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.
|
inline |
Getter for stored layer set that is used if mKeepLayerSet is true.
Definition at line 140 of file qgscomposermap.h.
Referenced by readXML().
|
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().
|
inline |
Definition at line 152 of file qgscomposermap.h.
|
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().
|
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().
|
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().
|
inline |
Definition at line 128 of file qgscomposermap.h.
Referenced by readXML().
|
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().
|
slot |
Call updateCachedImage if item is in render mode.
Definition at line 371 of file qgscomposermap.cpp.
References mPreviewMode, Render, and updateCachedImage().
|
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().
|
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.
|
inline |
Sets length of the cros segments (if grid style is cross)
Definition at line 252 of file qgscomposermap.h.
|
inline |
Definition at line 260 of file qgscomposermap.h.
|
inline |
Sets grid annotation direction.
Can be horizontal, vertical, direction of axis and horizontal and vertical
Definition at line 240 of file qgscomposermap.h.
|
inline |
Sets font for grid annotations.
Definition at line 215 of file qgscomposermap.h.
|
inline |
Sets position of grid annotations.
Possibilities are inside or outside of the map frame
Definition at line 230 of file qgscomposermap.h.
|
inline |
Sets coordinate precision for grid annotations.
Definition at line 220 of file qgscomposermap.h.
|
inline |
Enables a coordinate grid that is shown on top of this composermap.
Definition at line 174 of file qgscomposermap.h.
|
inline |
Sets coordinate interval in x-direction for composergrid.
Definition at line 184 of file qgscomposermap.h.
|
inline |
Sets coordinate interval in y-direction for composergrid.
Definition at line 189 of file qgscomposermap.h.
|
inline |
Sets x-coordinate offset for composer grid.
Definition at line 194 of file qgscomposermap.h.
|
inline |
Sets y-coordinate offset for composer grid.
Definition at line 199 of file qgscomposermap.h.
|
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.
|
inline |
Sets coordinate grid style to solid or cross.
Definition at line 179 of file qgscomposermap.h.
|
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.
|
inline |
Setter for stored layer set that is used if mKeepLayerSet is true.
Definition at line 143 of file qgscomposermap.h.
|
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().
|
inline |
Definition at line 129 of file qgscomposermap.h.
Referenced by QgsComposerView::addComposerMap().
|
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().
|
inline |
Sets flag if grid annotation should be shown.
Definition at line 225 of file qgscomposermap.h.
|
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.
|
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().
|
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().
|
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().
|
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().
|
inlinevirtual |
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
private |
Distance between map frame and annotation.
Definition at line 354 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
|
private |
Definition at line 300 of file qgscomposermap.h.
|
private |
Definition at line 303 of file qgscomposermap.h.
Referenced by cache(), QgsComposerMap(), readXML(), setCacheUpdated(), setNewScale(), setSceneRect(), and updateCachedImage().
|
private |
The length of the cross sides for mGridStyle Cross.
Definition at line 360 of file qgscomposermap.h.
Referenced by drawGrid(), readXML(), and writeXML().
|
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().
|
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().
|
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().
|
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().
|
private |
Annotation can be horizontal / vertical or different for axes.
Definition at line 356 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), readXML(), and writeXML().
|
private |
Font for grid line annotation.
Definition at line 346 of file qgscomposermap.h.
Referenced by drawAnnotation(), drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
|
private |
Annotation position inside or outside of map frame.
Definition at line 352 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotation(), maxExtension(), readXML(), and writeXML().
|
private |
Digits after the dot.
Definition at line 348 of file qgscomposermap.h.
Referenced by drawCoordinateAnnotations(), maxExtension(), readXML(), and writeXML().
|
private |
True if coordinate grid has to be displayed.
Definition at line 332 of file qgscomposermap.h.
Referenced by maxExtension(), paint(), readXML(), and writeXML().
|
private |
Grid line interval in x-direction (map units)
Definition at line 336 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and yGridLines().
|
private |
Grid line interval in y-direction (map units)
Definition at line 338 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and xGridLines().
|
private |
Grid line offset in x-direction.
Definition at line 340 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and yGridLines().
|
private |
Grid line offset in y-direction.
Definition at line 342 of file qgscomposermap.h.
Referenced by readXML(), writeXML(), and xGridLines().
|
private |
Grid line pen.
Definition at line 344 of file qgscomposermap.h.
Referenced by drawGrid(), QgsComposerMap(), readXML(), setGridPenColor(), setGridPenWidth(), and writeXML().
|
private |
Solid or crosses.
Definition at line 334 of file qgscomposermap.h.
Referenced by drawGrid(), readXML(), and writeXML().
|
private |
Unique identifier.
Definition at line 292 of file qgscomposermap.h.
Referenced by QgsComposerMap(), readXML(), and writeXML().
|
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().
|
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().
|
private |
Definition at line 361 of file qgscomposermap.h.
Referenced by composerMapPosForItem(), drawCanvasItem(), and drawCanvasItems().
|
private |
Definition at line 289 of file qgscomposermap.h.
Referenced by composerMapPosForItem(), containsWMSLayer(), draw(), drawCanvasItem(), QgsComposerMap(), scale(), storeCurrentLayerSet(), and syncLayerSet().
|
private |
Number of layers when cache was created.
Definition at line 309 of file qgscomposermap.h.
Referenced by readXML().
|
private |
Preview style.
Definition at line 306 of file qgscomposermap.h.
Referenced by cache(), paint(), QgsComposerMap(), readXML(), renderModeUpdateCachedImage(), setSceneRect(), and writeXML().
|
private |
True if coordinate values should be drawn.
Definition at line 350 of file qgscomposermap.h.
Referenced by drawGrid(), maxExtension(), readXML(), and writeXML().
|
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().
|
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().