QGIS API Documentation
2.2.0-Valmiera
|
A item that forms part of a map composition. More...
#include <qgscomposeritem.h>
Public Types | |
enum | ItemType { ComposerItem = UserType + 100, ComposerArrow, ComposerItemGroup, ComposerLabel, ComposerLegend, ComposerMap, ComposerPaper, ComposerPicture, ComposerScaleBar, ComposerShape, ComposerTable, ComposerAttributeTable, ComposerTextTable, ComposerFrame } |
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 | |
virtual void | setRotation (double r) |
Sets the item rotation. | |
virtual void | setItemRotation (double r, bool adjustPosition=false) |
Sets the item rotation. | |
void | repaint () |
Signals | |
void | itemRotationChanged (double newRotation) |
Is emitted on item rotation change. | |
void | itemChanged () |
Used e.g. | |
void | sizeChanged () |
Emitted if the rectangle changes. | |
void | frameChanged () |
Emitted if the item's frame style changes. |
Public Member Functions | |
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 int | type () const |
return correct graphics item type. | |
virtual void | setSelected (bool s) |
Set selected, selected item should be highlighted. | |
virtual bool | selected () const |
Is selected. | |
virtual bool | writeSettings () |
stores state in project | |
virtual bool | readSettings () |
read state from project | |
virtual bool | removeSettings () |
delete settings from project file | |
void | move (double dx, double dy) |
Moves item in canvas coordinates. | |
virtual void | moveContent (double dx, double dy) |
Move Content of item. | |
virtual void | zoomContent (int delta, double x, double y) |
Zoom content of item. | |
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, bool posIncludesFrame=false) |
Sets item position and width / height in one go. | |
ItemPositionMode | lastUsedPositionMode () |
Returns item's last used position mode. | |
virtual void | setSceneRect (const QRectF &rectangle) |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit. | |
virtual bool | writeXML (QDomElement &elem, QDomDocument &doc) const =0 |
stores state in Dom element | |
bool | _writeXML (QDomElement &itemElem, QDomDocument &doc) const |
Writes parameter that are not subclass specific in document. | |
virtual bool | readXML (const QDomElement &itemElem, const QDomDocument &doc)=0 |
sets state from Dom document | |
bool | _readXML (const QDomElement &itemElem, const QDomDocument &doc) |
Reads parameter that are not subclass specific in document. | |
bool | hasFrame () const |
Whether this item has a frame or not. | |
void | setFrameEnabled (bool drawFrame) |
Set whether this item has a frame drawn around it or not. | |
virtual void | setFrameOutlineWidth (double outlineWidth) |
Sets frame outline width. | |
virtual double | estimatedFrameBleed () const |
Returns the estimated amount the item's frame bleeds outside the item's actual rectangle. | |
virtual QRectF | rectWithFrame () const |
Returns the item's rectangular bounds, including any bleed caused by the item's frame. | |
bool | hasBackground () const |
Whether this item has a Background or not. | |
void | setBackgroundEnabled (bool drawBackground) |
Set whether this item has a Background drawn around it or not. | |
QColor | backgroundColor () const |
Gets the background color for this item. | |
void | setBackgroundColor (const QColor &backgroundColor) |
Sets the background color for this item. | |
QPainter::CompositionMode | blendMode () const |
Returns the item's composition blending mode. | |
void | setBlendMode (QPainter::CompositionMode blendMode) |
Sets the item's composition blending mode. | |
int | transparency () const |
Returns the item's transparency. | |
void | setTransparency (int transparency) |
Sets the item's transparency. | |
bool | effectsEnabled () const |
Returns true if effects (eg blend modes) are enabled for the item. | |
void | setEffectsEnabled (bool effectsEnabled) |
Sets whether effects (eg blend modes) are enabled for the item. | |
virtual void | addItem (QgsComposerItem *item) |
Composite operations for item groups do nothing per default. | |
virtual void | removeItems () |
const QgsComposition * | composition () const |
QgsComposition * | composition () |
virtual void | beginItemCommand (const QString &text) |
void | beginCommand (const QString &commandText, QgsComposerMergeCommand::Context c=QgsComposerMergeCommand::Unknown) |
Starts new composer undo command. | |
virtual void | endItemCommand () |
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 halignment=Qt::AlignLeft, Qt::AlignmentFlag valignment=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 | fontDescentMillimeters (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) | |
double | itemRotation () const |
Returns the rotation for the composer item. | |
double | rotation () const |
Returns the rotation for the composer item. | |
virtual void | updateItem () |
Updates item, with the possibility to do custom update for subclasses. | |
QString | id () const |
Get item's id (which is not necessarly unique) | |
virtual void | setId (const QString &id) |
Set item's id (which is not necessarly unique) | |
QString | uuid () const |
Get item identification name. |
Protected Member Functions | |
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, double rotation) const |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation. | |
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. | |
QRectF | largestRotatedRectWithinBounds (QRectF originalRect, QRectF boundsRect, double rotation) const |
Calculates the largest scaled version of originalRect which fits within boundsRect, when it is rotated by a specified amount. | |
bool | cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height, double rotation) const |
Calculates corner point after rotation and scaling. | |
bool | cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height) const |
Calculates corner point after rotation and scaling. | |
void | sizeChangedByRotation (double &width, double &height, double rotation) |
Calculates width / height of the bounding box of a rotated rectangle. | |
void | sizeChangedByRotation (double &width, double &height) |
Calculates width / height of the bounding box of a rotated rectangle. | |
void | rotate (double angle, double &x, double &y) const |
Rotates a point / vector. | |
QGraphicsLineItem * | hAlignSnapItem () |
Return horizontal align snap item. | |
void | deleteHAlignSnapItem () |
QGraphicsLineItem * | vAlignSnapItem () |
Return vertical align snap item. | |
void | deleteVAlignSnapItem () |
void | deleteAlignItems () |
Protected Attributes | |
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. | |
QGraphicsLineItem * | mHAlignSnapItem |
QGraphicsLineItem * | mVAlignSnapItem |
bool | mFrame |
True if item fram needs to be painted. | |
bool | mBackground |
True if item background needs to be painted. | |
QColor | mBackgroundColor |
Background color. | |
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 | mItemRotation |
Item rotation in degrees, clockwise. | |
QPainter::CompositionMode | mBlendMode |
Composition blend mode for item. | |
bool | mEffectsEnabled |
QgsComposerEffect * | mEffect |
int | mTransparency |
Item transparency. | |
ItemPositionMode | mLastUsedPositionMode |
The item's position mode. |
Private Member Functions | |
void | init (bool manageZValue) |
Private Attributes | |
QString | mId |
QString | mUuid |
QString | mTemplateUuid |
Friends | |
class | QgsComposerItemGroup |
A item that forms part of a map composition.
Definition at line 36 of file qgscomposeritem.h.
UpperLeft | |
UpperMiddle | |
UpperRight | |
MiddleLeft | |
Middle | |
MiddleRight | |
LowerLeft | |
LowerMiddle | |
LowerRight |
Definition at line 77 of file qgscomposeritem.h.
Definition at line 41 of file qgscomposeritem.h.
Describes the action (move or resize in different directon) to be done during mouse move.
MoveItem | |
ResizeUp | |
ResizeDown | |
ResizeLeft | |
ResizeRight | |
ResizeLeftUp | |
ResizeRightUp | |
ResizeLeftDown | |
ResizeRightDown | |
NoAction |
Definition at line 63 of file qgscomposeritem.h.
QgsComposerItem::QgsComposerItem | ( | QgsComposition * | composition, |
bool | manageZValue = true |
||
) |
Constructor.
composition | parent composition |
manageZValue | true if the z-Value of this object should be managed by mComposition |
Definition at line 49 of file qgscomposeritem.cpp.
References init().
QgsComposerItem::QgsComposerItem | ( | qreal | x, |
qreal | y, | ||
qreal | width, | ||
qreal | height, | ||
QgsComposition * | composition, | ||
bool | manageZValue = true |
||
) |
Constructor with box position and composer object.
x | x coordinate of item |
y | y coordinate of item |
width | width of item |
height | height of item |
composition | parent composition |
manageZValue | true if the z-Value of this object should be managed by mComposition |
Definition at line 72 of file qgscomposeritem.cpp.
References init().
|
virtual |
Definition at line 116 of file qgscomposeritem.cpp.
References deleteAlignItems(), mBoundingResizeRectangle, mComposition, mEffect, and QgsComposition::removeItemFromZList().
bool QgsComposerItem::_readXML | ( | const QDomElement & | itemElem, |
const QDomDocument & | doc | ||
) |
Reads parameter that are not subclass specific in document.
Usually called from readXML methods of subclasses
Definition at line 223 of file qgscomposeritem.cpp.
References QgsMapRenderer::getCompositionMode(), mBackground, mFrame, mLastUsedPositionMode, mLastValidViewScaleFactor, mTemplateUuid, mUuid, positionLock(), setBackgroundColor(), setBlendMode(), setId(), setItemRotation(), setPositionLock(), setSceneRect(), setTransparency(), and UpperLeft.
Referenced by QgsComposerFrame::readXML(), QgsComposerItemGroup::readXML(), QgsComposerShape::readXML(), QgsComposerPicture::readXML(), QgsComposerArrow::readXML(), QgsComposerLabel::readXML(), QgsComposerLegend::readXML(), QgsComposerScaleBar::readXML(), QgsComposerMap::readXML(), and QgsComposerTable::tableReadXML().
bool QgsComposerItem::_writeXML | ( | QDomElement & | itemElem, |
QDomDocument & | doc | ||
) | const |
Writes parameter that are not subclass specific in document.
Usually called from writeXML methods of subclasses
Definition at line 141 of file qgscomposeritem.cpp.
References QgsMapRenderer::getBlendModeEnum(), mBackground, mBlendMode, mFrame, mId, mItemPositionLocked, mItemRotation, mLastUsedPositionMode, mLastValidViewScaleFactor, mTransparency, and mUuid.
Referenced by QgsComposerTable::tableWriteXML(), QgsComposerTextTable::writeXML(), QgsComposerFrame::writeXML(), QgsComposerItemGroup::writeXML(), QgsComposerShape::writeXML(), QgsComposerPicture::writeXML(), QgsComposerArrow::writeXML(), QgsComposerLabel::writeXML(), QgsComposerLegend::writeXML(), QgsComposerScaleBar::writeXML(), and QgsComposerMap::writeXML().
|
inlinevirtual |
Composite operations for item groups do nothing per default.
Reimplemented in QgsComposerItemGroup.
Definition at line 267 of file qgscomposeritem.h.
|
protected |
Returns angle of the line from p1 to p2 (clockwise, starting at N)
Definition at line 695 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerArrow::drawHardcodedMarker(), and QgsComposerArrow::drawSVGMarker().
|
inline |
Gets the background color for this item.
Definition at line 237 of file qgscomposeritem.h.
Referenced by QgsComposerMap::cache(), and setBackgroundColor().
void QgsComposerItem::beginCommand | ( | const QString & | commandText, |
QgsComposerMergeCommand::Context | c = QgsComposerMergeCommand::Unknown |
||
) |
Starts new composer undo command.
commandText | command title |
c | context for mergeable commands (unknown for non-mergeable commands |
Definition at line 389 of file qgscomposeritem.cpp.
References QgsComposition::beginCommand(), and mComposition.
Referenced by QgsComposerView::wheelEvent().
|
inlinevirtual |
Reimplemented in QgsComposerFrame.
Definition at line 273 of file qgscomposeritem.h.
Referenced by QgsComposition::removeComposerItem().
|
inline |
Returns the item's composition blending mode.
Definition at line 247 of file qgscomposeritem.h.
Referenced by setBlendMode(), QgsComposerMap::setGridBlendMode(), and QgsComposerMap::setOverviewBlendMode().
void QgsComposerItem::cancelCommand | ( | ) |
Definition at line 405 of file qgscomposeritem.cpp.
References QgsComposition::cancelCommand(), and mComposition.
|
inline |
Definition at line 270 of file qgscomposeritem.h.
Referenced by QgsComposerMap::QgsComposerMap(), and QgsComposerAttributeTable::readXML().
|
inline |
Definition at line 271 of file qgscomposeritem.h.
|
protected |
Calculates corner point after rotation and scaling.
Definition at line 950 of file qgscomposeritem.cpp.
References M_PI.
Referenced by cornerPointOnRotatedAndScaledRect(), and imageSizeConsideringRotation().
|
protected |
Calculates corner point after rotation and scaling.
Reimplemented in QgsComposerMap, and QgsComposerPicture.
Definition at line 944 of file qgscomposeritem.cpp.
References cornerPointOnRotatedAndScaledRect(), and mItemRotation.
|
protected |
Definition at line 1084 of file qgscomposeritem.cpp.
References deleteHAlignSnapItem(), and deleteVAlignSnapItem().
Referenced by ~QgsComposerItem().
|
protected |
Definition at line 1064 of file qgscomposeritem.cpp.
References mHAlignSnapItem.
Referenced by deleteAlignItems().
|
protected |
Definition at line 1074 of file qgscomposeritem.cpp.
References mVAlignSnapItem.
Referenced by deleteAlignItems().
|
protected |
Draws arrowhead.
Definition at line 617 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerArrow::drawHardcodedMarker().
|
protectedvirtual |
Draw background.
Reimplemented in QgsComposerShape.
Definition at line 553 of file qgscomposeritem.cpp.
References mBackground.
Referenced by QgsComposerFrame::paint(), QgsComposerTable::paint(), QgsComposerLabel::paint(), QgsComposerPicture::paint(), QgsComposerArrow::paint(), QgsComposerScaleBar::paint(), QgsComposerMap::paint(), and QgsComposerLegend::paintAndDetermineSize().
|
protectedvirtual |
Draw black frame around item.
Reimplemented in QgsComposerShape, and QgsComposerItemGroup.
Definition at line 443 of file qgscomposeritem.cpp.
References mFrame.
Referenced by QgsComposerFrame::paint(), QgsComposerTable::paint(), QgsComposerLabel::paint(), QgsComposerPicture::paint(), QgsComposerArrow::paint(), QgsComposerScaleBar::paint(), QgsComposerMap::paint(), QgsComposerLegend::paintAndDetermineSize(), and setFrameEnabled().
|
protectedvirtual |
Draw selection boxes around item.
Definition at line 413 of file qgscomposeritem.cpp.
References QgsApplication::activeThemePath(), QgsApplication::defaultThemePath(), lockSymbolSize(), mComposition, mItemPositionLocked, QgsComposition::plotStyle(), and QgsComposition::Preview.
Referenced by QgsComposerFrame::paint(), QgsComposerTable::paint(), QgsComposerLabel::paint(), QgsComposerItemGroup::paint(), QgsComposerPicture::paint(), QgsComposerArrow::paint(), QgsComposerShape::paint(), QgsComposerScaleBar::paint(), QgsComposerMap::paint(), and QgsComposerLegend::paintAndDetermineSize().
void QgsComposerItem::drawText | ( | QPainter * | p, |
double | x, | ||
double | y, | ||
const QString & | text, | ||
const QFont & | font | ||
) | const |
Draws Text.
Takes care about all the composer specific issues (calculation to pixel, scaling of font and painter to work around the Qt font bug)
Definition at line 591 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsNumericScaleBarStyle::draw(), QgsComposerMap::drawAnnotation(), QgsComposerLegend::drawGroupItemTitle(), QgsScaleBarStyle::drawLabels(), QgsComposerLegend::drawLayerItemTitle(), QgsComposerLegend::drawSymbolItem(), QgsComposerLegend::drawTitle(), QgsComposerTable::paint(), and QgsComposerLabel::paint().
void QgsComposerItem::drawText | ( | QPainter * | p, |
const QRectF & | rect, | ||
const QString & | text, | ||
const QFont & | font, | ||
Qt::AlignmentFlag | halignment = Qt::AlignLeft , |
||
Qt::AlignmentFlag | valignment = Qt::AlignTop |
||
) | const |
Like the above, but with a rectangle for multiline text.
Definition at line 603 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
|
inline |
Returns true if effects (eg blend modes) are enabled for the item.
Definition at line 260 of file qgscomposeritem.h.
Referenced by setEffectsEnabled().
void QgsComposerItem::endCommand | ( | ) |
Finish current command and push it onto the undo stack.
Definition at line 397 of file qgscomposeritem.cpp.
References QgsComposition::endCommand(), and mComposition.
|
inlinevirtual |
Reimplemented in QgsComposerFrame.
Definition at line 280 of file qgscomposeritem.h.
Referenced by QgsComposition::removeComposerItem().
|
virtual |
Returns the estimated amount the item's frame bleeds outside the item's actual rectangle.
For instance, if the item has a 2mm frame outline, then 1mm of this frame is drawn outside the item's rect. In this case the return value will be 1.0
Reimplemented in QgsComposerShape.
Definition at line 373 of file qgscomposeritem.cpp.
References hasFrame().
Referenced by rectWithFrame(), and setItemPosition().
double QgsComposerItem::fontAscentMillimeters | ( | const QFont & | font | ) | const |
Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Definition at line 668 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsComposerTable::adaptItemFrame(), QgsComposerLabel::adjustSizeToText(), QgsNumericScaleBarStyle::calculateBoxSize(), QgsScaleBarStyle::calculateBoxSize(), QgsDoubleBoxScaleBarStyle::draw(), QgsSingleBoxScaleBarStyle::draw(), QgsTicksScaleBarStyle::draw(), QgsComposerLegend::drawGroupItemTitle(), QgsComposerTable::drawHorizontalGridLines(), QgsScaleBarStyle::drawLabels(), QgsComposerLegend::drawLayerItemTitle(), QgsComposerLegend::drawTitle(), QgsComposerMap::maxExtension(), QgsComposerTable::paint(), and QgsComposerAttributeTable::setSceneRect().
double QgsComposerItem::fontDescentMillimeters | ( | const QFont & | font | ) | const |
Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Definition at line 675 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsComposerLegend::drawTitle().
double QgsComposerItem::fontHeightCharacterMM | ( | const QFont & | font, |
const QChar & | c | ||
) | const |
Returns the font height of a character in millimeters.
Definition at line 661 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsComposerMap::drawCoordinateAnnotation(), and QgsComposerLegend::drawSymbolItem().
|
signal |
Emitted if the item's frame style changes.
Referenced by QgsComposerShape::refreshSymbol(), setFrameEnabled(), setFrameOutlineWidth(), and QgsComposerShape::setShapeStyleSymbol().
|
protected |
Return horizontal align snap item.
Creates a new graphics line if 0
Definition at line 1040 of file qgscomposeritem.cpp.
References mHAlignSnapItem.
|
inline |
Whether this item has a Background or not.
Definition at line 223 of file qgscomposeritem.h.
Referenced by QgsComposerMap::cache(), and QgsComposerShape::readXML().
|
inline |
Whether this item has a frame or not.
Definition at line 182 of file qgscomposeritem.h.
Referenced by estimatedFrameBleed(), and QgsComposerShape::readXML().
|
protected |
Returns the zoom factor of the graphics view.
Definition at line 713 of file qgscomposeritem.cpp.
References mLastValidViewScaleFactor.
Referenced by QgsComposerMap::cache(), QgsComposerShape::drawShapeUsingSymbol(), QgsComposerArrow::drawSVGMarker(), lockSymbolSize(), QgsPaperItem::paint(), and rectHandlerBorderTolerance().
|
inline |
Get item's id (which is not necessarly unique)
Reimplemented in QgsComposerMap.
Definition at line 337 of file qgscomposeritem.h.
Referenced by QgsComposerMap::draw(), QgsComposition::getComposerItemById(), and setId().
|
protected |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation.
Definition at line 880 of file qgscomposeritem.cpp.
References cornerPointOnRotatedAndScaledRect(), QgsSymbolLayerV2Utils::pointOnLineWithDistance(), and qgsDoubleNear().
Referenced by imageSizeConsideringRotation().
|
protected |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation.
Reimplemented in QgsComposerMap, and QgsComposerPicture.
Definition at line 803 of file qgscomposeritem.cpp.
References imageSizeConsideringRotation(), and mItemRotation.
|
private |
Definition at line 96 of file qgscomposeritem.cpp.
References QgsComposition::addItemToZList(), mComposition, and mEffect.
Referenced by QgsComposerItem().
|
signal |
Used e.g.
by the item widgets to update the gui elements
Referenced by QgsComposerScaleBar::applyDefaultSettings(), QgsComposerScaleBar::applyDefaultSize(), QgsComposerMap::moveContent(), QgsComposerMap::overviewExtentChanged(), QgsComposerAttributeTable::readXML(), QgsComposerShape::readXML(), QgsComposerPicture::readXML(), QgsComposerArrow::readXML(), QgsComposerLabel::readXML(), QgsComposerLegend::readXML(), QgsComposerMap::readXML(), QgsComposerScaleBar::setAlignment(), QgsComposerScaleBar::setBoxContentSpace(), QgsComposerScaleBar::setComposerMap(), QgsComposerScaleBar::setFont(), QgsComposerMap::setMapRotation(), QgsComposerMap::setNewAtlasFeatureExtent(), QgsComposerMap::setNewScale(), QgsComposerScaleBar::setNumSegments(), QgsComposerScaleBar::setNumSegmentsLeft(), QgsComposerScaleBar::setNumUnitsPerSegment(), QgsComposerPicture::setPictureFile(), QgsComposerMap::setPreviewMode(), QgsComposerPicture::setSceneRect(), QgsComposerMap::setSceneRect(), QgsComposerScaleBar::setStyle(), QgsComposerLabel::setText(), QgsComposerScaleBar::setUnits(), QgsComposerMap::toggleAtlasPreview(), QgsComposerScaleBar::updateSegmentSize(), and QgsComposerMap::zoomContent().
|
inline |
Returns the rotation for the composer item.
Definition at line 324 of file qgscomposeritem.h.
Referenced by QgsComposerItemGroup::addItem().
|
signal |
Is emitted on item rotation change.
Referenced by setItemRotation().
|
protected |
Calculates the largest scaled version of originalRect which fits within boundsRect, when it is rotated by a specified amount.
originalRect | QRectF to be rotated and scaled |
boundsRect | QRectF specifying the bounds which the rotated and scaled rectangle must fit within |
rotation | the rotation in degrees to be applied to the rectangle |
Definition at line 809 of file qgscomposeritem.cpp.
References M_DEG2RAD.
Referenced by QgsComposerPicture::setPictureRotation(), and QgsComposerPicture::setSceneRect().
|
inline |
Returns item's last used position mode.
Definition at line 153 of file qgscomposeritem.h.
|
protected |
Returns the size of the lock symbol depending on the composer zoom level and the item size.
Definition at line 750 of file qgscomposeritem.cpp.
References horizontalViewScaleFactor().
Referenced by drawSelectionBoxes().
void QgsComposerItem::move | ( | double | dx, |
double | dy | ||
) |
Moves item in canvas coordinates.
Definition at line 459 of file qgscomposeritem.cpp.
References setSceneRect().
Referenced by QgsComposition::addItemsFromXML(), and QgsComposerScaleBar::correctXPositionAlignment().
|
inlinevirtual |
Move Content of item.
Does nothing per default (but implemented in composer map)
dx | move in x-direction (canvas coordinates) |
dy | move in y-direction(canvas coordinates) |
Reimplemented in QgsComposerMap.
Definition at line 128 of file qgscomposeritem.h.
Referenced by QgsComposerView::mouseReleaseEvent().
double QgsComposerItem::pixelFontSize | ( | double | pointSize | ) | const |
Calculates font to from point size to pixel size.
Definition at line 682 of file qgscomposeritem.cpp.
Referenced by scaledFontPixelSize().
|
inline |
Returns position lock for mouse drags (true means locked)
Definition at line 320 of file qgscomposeritem.h.
Referenced by _readXML(), QgsComposerView::endMarqueeSelect(), QgsComposerView::mousePressEvent(), QgsComposerView::selectAll(), QgsComposerView::selectInvert(), and QgsComposition::unlockAllItems().
|
virtual |
read state from project
Definition at line 137 of file qgscomposeritem.cpp.
|
pure virtual |
sets state from Dom document
itemElem | is Dom node corresponding to item tag |
doc | is Dom document |
Implemented in QgsComposerMap, QgsComposerScaleBar, QgsComposerLegend, QgsComposerLabel, QgsComposerArrow, QgsPaperItem, QgsComposerPicture, QgsComposerShape, QgsComposerItemGroup, QgsComposerAttributeTable, QgsComposerTable, QgsComposerFrame, and QgsComposerTextTable.
Referenced by QgsComposerItemCommand::restoreState().
|
protected |
Returns the current (zoom level dependent) tolerance to decide if mouse position is close enough to the item border for resizing.
Definition at line 732 of file qgscomposeritem.cpp.
References horizontalViewScaleFactor().
|
virtual |
Returns the item's rectangular bounds, including any bleed caused by the item's frame.
The bounds are returned in the item's coordinate system (see Qt's QGraphicsItem docs for more details about QGraphicsItem coordinate systems). The results differ from Qt's rect() function, as rect() makes no allowances for the portion of outlines which are drawn outside of the item.
Definition at line 383 of file qgscomposeritem.cpp.
References estimatedFrameBleed().
Referenced by QgsComposerMouseHandles::collectAlignCoordinates().
|
inlinevirtual |
Reimplemented in QgsComposerItemGroup.
Definition at line 268 of file qgscomposeritem.h.
|
virtual |
delete settings from project file
Definition at line 139 of file qgscomposeritem.cpp.
|
slot |
Definition at line 1090 of file qgscomposeritem.cpp.
Referenced by QgsComposerItemCommand::restoreState(), and QgsComposerAttributeTable::setComposerMap().
|
protected |
Rotates a point / vector.
angle | rotation angle in degrees, counterclockwise |
x | in/out: x coordinate before / after the rotation |
y | in/out: y cooreinate before / after the rotation |
Definition at line 1030 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerMap::mapPolygon(), QgsComposerMap::mapToItemCoords(), sizeChangedByRotation(), and QgsComposerMap::transformShift().
|
inline |
Returns the rotation for the composer item.
Reimplemented in QgsComposerMap, and QgsComposerPicture.
Definition at line 330 of file qgscomposeritem.h.
QFont QgsComposerItem::scaledFontPixelSize | ( | const QFont & | font | ) | const |
Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE.
Definition at line 687 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and pixelFontSize().
Referenced by drawText(), fontAscentMillimeters(), fontDescentMillimeters(), fontHeightCharacterMM(), and textWidthMillimeters().
|
inlinevirtual |
Is selected.
Definition at line 111 of file qgscomposeritem.h.
Referenced by QgsComposerMouseHandles::collectAlignCoordinates(), QgsComposerMouseHandles::mouseActionForPosition(), QgsComposerView::mousePressEvent(), QgsComposerView::selectInvert(), and QgsComposerMouseHandles::selectionChanged().
void QgsComposerItem::setBackgroundColor | ( | const QColor & | backgroundColor | ) |
Sets the background color for this item.
backgroundColor | new background color |
Definition at line 564 of file qgscomposeritem.cpp.
References backgroundColor(), and mBackgroundColor.
Referenced by _readXML().
|
inline |
Set whether this item has a Background drawn around it or not.
drawBackground | draw Background |
Definition at line 231 of file qgscomposeritem.h.
void QgsComposerItem::setBlendMode | ( | QPainter::CompositionMode | blendMode | ) |
Sets the item's composition blending mode.
Definition at line 570 of file qgscomposeritem.cpp.
References blendMode(), mBlendMode, mEffect, and QgsComposerEffect::setCompositionMode().
Referenced by _readXML().
void QgsComposerItem::setEffectsEnabled | ( | bool | effectsEnabled | ) |
Sets whether effects (eg blend modes) are enabled for the item.
Definition at line 584 of file qgscomposeritem.cpp.
References effectsEnabled(), mEffect, and mEffectsEnabled.
Referenced by QgsComposition::setUseAdvancedEffects().
void QgsComposerItem::setFrameEnabled | ( | bool | drawFrame | ) |
Set whether this item has a frame drawn around it or not.
drawFrame | draw frame |
Definition at line 354 of file qgscomposeritem.cpp.
References drawFrame(), frameChanged(), and mFrame.
Referenced by QgsComposerShape::QgsComposerShape(), and QgsComposerShape::setUseSymbolV2().
|
virtual |
Sets frame outline width.
outlineWidth | new width for outline frame |
Reimplemented in QgsComposerMap.
Definition at line 360 of file qgscomposeritem.cpp.
References frameChanged(), and outlineWidth.
|
virtual |
Set item's id (which is not necessarly unique)
Definition at line 1095 of file qgscomposeritem.cpp.
Referenced by _readXML().
void QgsComposerItem::setItemPosition | ( | double | x, |
double | y, | ||
ItemPositionMode | itemPoint = UpperLeft |
||
) |
Moves the item to a new position (in canvas coordinates)
Definition at line 465 of file qgscomposeritem.cpp.
Referenced by QgsComposition::addItemsFromXML().
void QgsComposerItem::setItemPosition | ( | double | x, |
double | y, | ||
double | width, | ||
double | height, | ||
ItemPositionMode | itemPoint = UpperLeft , |
||
bool | posIncludesFrame = false |
||
) |
Sets item position and width / height in one go.
x | item position x |
y | item position y |
width | item width |
height | item height |
itemPoint | item position mode |
posIncludesFrame | set to true if the position and size arguments include the item's frame border |
Definition at line 472 of file qgscomposeritem.cpp.
References estimatedFrameBleed(), LowerLeft, LowerMiddle, LowerRight, Middle, MiddleLeft, MiddleRight, mItemRotation, mLastUsedPositionMode, setSceneRect(), UpperMiddle, and UpperRight.
|
virtualslot |
Sets the item rotation.
r | item rotation in degrees |
adjustPosition | set to true if item should be shifted so that rotation occurs around item center. If false, rotation occurs around item origin |
Definition at line 772 of file qgscomposeritem.cpp.
References itemRotationChanged(), mItemRotation, setRotation(), and sizeChanged().
Referenced by _readXML(), QgsComposerItemGroup::addItem(), QgsComposerShape::readXML(), QgsComposerLabel::readXML(), and setRotation().
void QgsComposerItem::setPositionLock | ( | bool | lock | ) |
Locks / unlocks the item position for mouse drags.
Definition at line 454 of file qgscomposeritem.cpp.
References mItemPositionLocked.
Referenced by _readXML(), QgsComposerView::mousePressEvent(), and QgsComposition::unlockAllItems().
|
virtualslot |
Sets the item rotation.
Reimplemented in QgsComposerMap.
Definition at line 765 of file qgscomposeritem.cpp.
References setItemRotation().
Referenced by setItemRotation().
|
virtual |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit.
Reimplemented in QgsComposerMap, QgsComposerAttributeTable, QgsPaperItem, QgsComposerPicture, QgsComposerArrow, and QgsComposerItemGroup.
Definition at line 525 of file qgscomposeritem.cpp.
References sizeChanged().
Referenced by _readXML(), QgsComposerTable::adaptItemFrame(), QgsComposerLegend::adjustBoxSize(), QgsComposerScaleBar::adjustBoxSize(), QgsComposerLabel::adjustSizeToText(), QgsComposerView::mousePressEvent(), move(), QgsComposerLegend::paintAndDetermineSize(), QgsComposerShape::QgsComposerShape(), and setItemPosition().
|
virtual |
Set selected, selected item should be highlighted.
Definition at line 128 of file qgscomposeritem.cpp.
References QgsDebugMsg.
Referenced by QgsComposerItemGroup::addItem(), QgsComposition::addItemsFromXML(), QgsComposerView::addShape(), QgsComposerView::endMarqueeSelect(), QgsComposerView::groupItems(), QgsComposerView::mousePressEvent(), QgsComposerView::mouseReleaseEvent(), QgsComposerView::selectAll(), QgsComposerView::selectInvert(), QgsComposition::selectNextByZOrder(), QgsComposition::sendItemAddedSignal(), and QgsComposition::unlockAllItems().
void QgsComposerItem::setTransparency | ( | int | transparency | ) |
Sets the item's transparency.
Definition at line 577 of file qgscomposeritem.cpp.
References mTransparency, and transparency().
Referenced by _readXML().
|
signal |
Emitted if the rectangle changes.
Referenced by setItemRotation(), and setSceneRect().
|
protected |
Calculates width / height of the bounding box of a rotated rectangle.
Definition at line 993 of file qgscomposeritem.cpp.
References rotate().
Referenced by sizeChangedByRotation().
|
protected |
Calculates width / height of the bounding box of a rotated rectangle.
Reimplemented in QgsComposerMap, and QgsComposerPicture.
Definition at line 987 of file qgscomposeritem.cpp.
References mItemRotation, and sizeChangedByRotation().
double QgsComposerItem::textWidthMillimeters | ( | const QFont & | font, |
const QString & | text | ||
) | const |
Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Definition at line 654 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsComposerLabel::adjustSizeToText(), QgsNumericScaleBarStyle::calculateBoxSize(), QgsScaleBarStyle::calculateBoxSize(), QgsComposerTable::calculateMaxColumnWidths(), QgsComposerMap::drawCoordinateAnnotation(), QgsComposerLegend::drawGroupItemTitle(), QgsScaleBarStyle::drawLabels(), QgsComposerLegend::drawLayerItemTitle(), QgsComposerLegend::drawSymbolItem(), QgsComposerLegend::drawTitle(), QgsComposerMap::maxExtension(), and QgsComposerScaleBar::paint().
|
inline |
Returns the item's transparency.
Definition at line 253 of file qgscomposeritem.h.
Referenced by setTransparency().
|
inlinevirtual |
return correct graphics item type.
Added in v1.7
Reimplemented in QgsComposerScaleBar, QgsComposerMap, QgsComposerAttributeTable, QgsPaperItem, QgsComposerShape, QgsComposerLegend, QgsComposerArrow, QgsComposerFrame, QgsComposerPicture, QgsComposerLabel, QgsComposerTable, QgsComposerItemGroup, and QgsComposerTextTable.
Definition at line 105 of file qgscomposeritem.h.
Referenced by QgsComposition::nearestSnapLine(), QgsComposition::refreshZList(), QgsComposition::removeComposerItem(), and QgsComposition::writeXML().
|
inlinevirtual |
Updates item, with the possibility to do custom update for subclasses.
Reimplemented in QgsComposerMap.
Definition at line 333 of file qgscomposeritem.h.
|
inline |
Get item identification name.
Definition at line 346 of file qgscomposeritem.h.
Referenced by QgsComposition::getComposerItemByUuid(), and QgsComposerItemGroup::readXML().
|
protected |
Return vertical align snap item.
Creates a new graphics line if 0
Definition at line 1052 of file qgscomposeritem.cpp.
References mVAlignSnapItem.
|
virtual |
stores state in project
Definition at line 135 of file qgscomposeritem.cpp.
|
pure virtual |
stores state in Dom element
elem | is Dom element corresponding to 'Composer' tag |
doc | is the Dom document |
Implemented in QgsComposerMap, QgsComposerScaleBar, QgsComposerLegend, QgsComposerLabel, QgsComposerArrow, QgsPaperItem, QgsComposerPicture, QgsComposerShape, QgsComposerAttributeTable, QgsComposerItemGroup, QgsComposerTable, QgsComposerFrame, and QgsComposerTextTable.
Referenced by QgsComposerItemCommand::saveState(), and QgsComposition::writeXML().
|
inlinevirtual |
Zoom content of item.
Does nothing per default (but implemented in composer map)
delta | value from wheel event that describes magnitude and direction (positive /negative number) |
x | x-position of mouse cursor (in item coordinates) |
y | y-position of mouse cursor (in item coordinates) |
Reimplemented in QgsComposerMap.
Definition at line 134 of file qgscomposeritem.h.
|
friend |
Definition at line 505 of file qgscomposeritem.h.
|
protected |
True if item background needs to be painted.
Definition at line 382 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerShape::drawBackground(), and drawBackground().
|
protected |
Background color.
Definition at line 384 of file qgscomposeritem.h.
Referenced by QgsComposerMap::QgsComposerMap(), and setBackgroundColor().
|
protected |
Composition blend mode for item.
Definition at line 397 of file qgscomposeritem.h.
Referenced by _writeXML(), and setBlendMode().
|
protected |
Rectangle used during move and resize actions.
Definition at line 375 of file qgscomposeritem.h.
Referenced by ~QgsComposerItem().
|
protected |
Definition at line 366 of file qgscomposeritem.h.
Referenced by QgsComposerMap::assignFreeId(), beginCommand(), QgsComposerFrame::beginItemCommand(), QgsPaperItem::calculatePageMargin(), cancelCommand(), QgsComposerMap::currentMapExtent(), QgsComposerLabel::displayText(), QgsComposerMap::draw(), QgsComposerItemGroup::drawFrame(), QgsComposerMap::drawGridLine(), QgsComposerMap::drawOverviewMapExtent(), drawSelectionBoxes(), QgsComposerShape::drawShapeUsingSymbol(), QgsComposerArrow::drawSVGMarker(), endCommand(), QgsComposerFrame::endItemCommand(), QgsComposerLabel::htmlUnitsToMM(), init(), QgsPaperItem::initialize(), QgsComposerLegend::layerIdList(), QgsComposerMap::layersToRender(), QgsComposerMap::overviewExtentChanged(), QgsComposerLabel::paint(), QgsPaperItem::paint(), QgsComposerMap::paint(), QgsComposerLabel::QgsComposerLabel(), QgsComposerMap::QgsComposerMap(), QgsComposerItemGroup::readXML(), QgsComposerPicture::readXML(), QgsComposerLegend::readXML(), QgsComposerScaleBar::readXML(), QgsComposerMap::setOverviewFrameMap(), QgsComposerPicture::setRotationMap(), ~QgsComposerItem(), and QgsComposerItemGroup::~QgsComposerItemGroup().
|
protected |
Definition at line 368 of file qgscomposeritem.h.
|
protected |
Definition at line 399 of file qgscomposeritem.h.
Referenced by init(), setBlendMode(), setEffectsEnabled(), and ~QgsComposerItem().
|
protected |
Definition at line 398 of file qgscomposeritem.h.
Referenced by setEffectsEnabled().
|
protected |
True if item fram needs to be painted.
Definition at line 380 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerItemGroup::drawFrame(), QgsComposerShape::drawFrame(), drawFrame(), QgsComposerMap::maxExtension(), and setFrameEnabled().
|
protected |
Definition at line 376 of file qgscomposeritem.h.
Referenced by deleteHAlignSnapItem(), and hAlignSnapItem().
|
private |
Definition at line 497 of file qgscomposeritem.h.
Referenced by _writeXML(), QgsComposerMap::id(), and setId().
|
protected |
True if item position and size cannot be changed with mouse move.
Definition at line 388 of file qgscomposeritem.h.
Referenced by _writeXML(), drawSelectionBoxes(), and setPositionLock().
|
protected |
Item rotation in degrees, clockwise.
Definition at line 394 of file qgscomposeritem.h.
Referenced by _writeXML(), cornerPointOnRotatedAndScaledRect(), imageSizeConsideringRotation(), QgsComposerLabel::itemShiftAdjustSize(), setItemPosition(), setItemRotation(), and sizeChangedByRotation().
|
protected |
Position of the last mouse move event (in scene coordinates)
Definition at line 372 of file qgscomposeritem.h.
|
protected |
The item's position mode.
Definition at line 406 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), and setItemPosition().
|
mutableprotected |
Backup to restore item appearance if no view scale factor is available.
Definition at line 391 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerMap::cache(), and horizontalViewScaleFactor().
|
protected |
Start point of the last mouse move action (in scene coordinates)
Definition at line 370 of file qgscomposeritem.h.
|
private |
Definition at line 501 of file qgscomposeritem.h.
Referenced by _readXML(), and QgsComposerItemGroup::readXML().
|
protected |
Item transparency.
Definition at line 402 of file qgscomposeritem.h.
Referenced by _writeXML(), and setTransparency().
|
private |
Definition at line 499 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), and QgsComposerItemGroup::readXML().
|
protected |
Definition at line 377 of file qgscomposeritem.h.
Referenced by deleteVAlignSnapItem(), and vAlignSnapItem().