QGIS API Documentation
2.0.1-Dufour
|
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) |
void | repaint () |
Signals | |
void | rotationChanged (double newRotation) |
Is emitted on rotation change to notify north arrow pictures. | |
void | itemChanged () |
Used e.g. | |
void | sizeChanged () |
Emitted if the rectangle 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 () |
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) |
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. | |
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) | |
void | updateCursor (const QPointF &itemPos) |
Update mouse cursor at (item) position. | |
double | rotation () const |
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 | 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. | |
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. | |
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 | mRotation |
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 45 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 68 of file qgscomposeritem.cpp.
References init().
|
virtual |
Definition at line 114 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 221 of file qgscomposeritem.cpp.
References QgsMapRenderer::getCompositionMode(), mBackground, mFrame, mItemPositionLocked, mLastUsedPositionMode, mLastValidViewScaleFactor, mRotation, mTemplateUuid, mUuid, positionLock(), setBackgroundColor(), setBlendMode(), setId(), 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 139 of file qgscomposeritem.cpp.
References QgsMapRenderer::getBlendModeEnum(), mBackground, mBlendMode, mFrame, mId, mItemPositionLocked, mLastUsedPositionMode, mLastValidViewScaleFactor, mRotation, 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 235 of file qgscomposeritem.h.
|
protected |
Returns angle of the line from p1 to p2 (clockwise, starting at N)
Definition at line 1036 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 205 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 348 of file qgscomposeritem.cpp.
References QgsComposition::beginCommand(), and mComposition.
Referenced by QgsComposerView::wheelEvent().
|
inlinevirtual |
Reimplemented in QgsComposerFrame.
Definition at line 241 of file qgscomposeritem.h.
Referenced by mouseReleaseEvent(), and QgsComposition::removeComposerItem().
|
inline |
Returns the item's composition blending mode.
Definition at line 215 of file qgscomposeritem.h.
Referenced by setBlendMode(), QgsComposerMap::setGridBlendMode(), and QgsComposerMap::setOverviewBlendMode().
void QgsComposerItem::cancelCommand | ( | ) |
Definition at line 364 of file qgscomposeritem.cpp.
References QgsComposition::cancelCommand(), and mComposition.
|
protected |
Changes the rectangle of an item depending on current mouse action (resize or move)
currentPosition | current position of mouse cursor |
mouseMoveStartPos | cursor position at the start of the current mouse action |
originalItem | Item position at the start of the mouse action |
dx | x-Change of mouse cursor |
dy | y-Change of mouse cursor |
changeItem | Item to change size (can be the same as originalItem or a differen one) |
Definition at line 571 of file qgscomposeritem.cpp.
References QgsComposition::alignItem(), QgsComposition::alignmentSnap(), QgsComposition::alignPos(), deleteAlignItems(), deleteHAlignSnapItem(), deleteVAlignSnapItem(), hAlignSnapItem(), mComposition, mCurrentMouseMoveAction, MoveItem, NoAction, QgsComposition::numPages(), QgsComposition::paperHeight(), QgsComposition::paperWidth(), ResizeDown, ResizeLeft, ResizeLeftDown, ResizeLeftUp, ResizeRight, ResizeRightDown, ResizeRightUp, ResizeUp, setSceneRect(), QgsComposition::snapPointToGrid(), QgsComposition::spaceBetweenPages(), updateItem(), and vAlignSnapItem().
Referenced by mouseMoveEvent(), and mouseReleaseEvent().
|
inline |
Definition at line 238 of file qgscomposeritem.h.
Referenced by QgsComposerMap::QgsComposerMap(), and QgsComposerAttributeTable::readXML().
|
inline |
Definition at line 239 of file qgscomposeritem.h.
|
protected |
Calculates corner point after rotation and scaling.
Definition at line 1189 of file qgscomposeritem.cpp.
References M_PI, and mRotation.
Referenced by imageSizeConsideringRotation().
|
protected |
Finds out the appropriate cursor for the current mouse position in the widget (e.g.
move in the middle, resize at border)
Definition at line 476 of file qgscomposeritem.cpp.
References mouseMoveActionForPosition(), MoveItem, NoAction, ResizeDown, ResizeLeft, ResizeLeftDown, ResizeLeftUp, ResizeRight, ResizeRightDown, ResizeRightUp, and ResizeUp.
Referenced by hoverMoveEvent(), and updateCursor().
|
protected |
Definition at line 1317 of file qgscomposeritem.cpp.
References deleteHAlignSnapItem(), and deleteVAlignSnapItem().
Referenced by changeItemRectangle(), mousePressEvent(), mouseReleaseEvent(), and ~QgsComposerItem().
|
protected |
Definition at line 1297 of file qgscomposeritem.cpp.
References mHAlignSnapItem.
Referenced by changeItemRectangle(), and deleteAlignItems().
|
protected |
Definition at line 1307 of file qgscomposeritem.cpp.
References mVAlignSnapItem.
Referenced by changeItemRectangle(), and deleteAlignItems().
|
protected |
Draws arrowhead.
Definition at line 958 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerArrow::drawHardcodedMarker().
|
protectedvirtual |
Draw background.
Reimplemented in QgsComposerShape.
Definition at line 882 of file qgscomposeritem.cpp.
References mBackground.
Referenced by QgsComposerFrame::paint(), QgsPaperItem::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 794 of file qgscomposeritem.cpp.
References mFrame.
Referenced by QgsComposerFrame::paint(), QgsComposerTable::paint(), QgsComposerLabel::paint(), QgsComposerPicture::paint(), QgsComposerArrow::paint(), QgsComposerScaleBar::paint(), QgsComposerMap::paint(), and QgsComposerLegend::paintAndDetermineSize().
|
protectedvirtual |
Draw selection boxes around item.
Definition at line 754 of file qgscomposeritem.cpp.
References QgsApplication::activeThemePath(), QgsApplication::defaultThemePath(), lockSymbolSize(), mComposition, mItemPositionLocked, QgsComposition::plotStyle(), QgsComposition::Preview, and rectHandlerBorderTolerance().
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 932 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 944 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 228 of file qgscomposeritem.h.
Referenced by setEffectsEnabled().
void QgsComposerItem::endCommand | ( | ) |
Finish current command and push it onto the undo stack.
Definition at line 356 of file qgscomposeritem.cpp.
References QgsComposition::endCommand(), and mComposition.
|
inlinevirtual |
Reimplemented in QgsComposerFrame.
Definition at line 248 of file qgscomposeritem.h.
Referenced by mouseReleaseEvent(), and QgsComposition::removeComposerItem().
double QgsComposerItem::fontAscentMillimeters | ( | const QFont & | font | ) | const |
Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Definition at line 1009 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 1016 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 1002 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsComposerMap::drawCoordinateAnnotation(), and QgsComposerLegend::drawSymbolItem().
|
protected |
Return horizontal align snap item.
Creates a new graphics line if 0
Definition at line 1273 of file qgscomposeritem.cpp.
References mHAlignSnapItem.
Referenced by changeItemRectangle().
|
inline |
Whether this item has a Background or not.
Definition at line 191 of file qgscomposeritem.h.
Referenced by QgsComposerMap::cache().
|
inline |
Whether this item has a frame or not.
Definition at line 175 of file qgscomposeritem.h.
|
protected |
Returns the zoom factor of the graphics view.
Definition at line 1054 of file qgscomposeritem.cpp.
References mLastValidViewScaleFactor.
Referenced by QgsComposerMap::cache(), QgsComposerArrow::drawSVGMarker(), lockSymbolSize(), QgsComposerMap::paint(), and rectHandlerBorderTolerance().
|
protectedvirtual |
Definition at line 920 of file qgscomposeritem.cpp.
References cursorForPosition().
|
inline |
Get item's id (which is not necessarly unique)
Reimplemented in QgsComposerMap.
Definition at line 301 of file qgscomposeritem.h.
Referenced by 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 1125 of file qgscomposeritem.cpp.
References cornerPointOnRotatedAndScaledRect(), mRotation, QgsSymbolLayerV2Utils::pointOnLineWithDistance(), and qgsDoubleNear().
Referenced by QgsComposerPicture::setSceneRect(), QgsComposerShape::setSceneRect(), and QgsComposerLabel::setSceneRect().
|
private |
Definition at line 94 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(), 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::setNewScale(), QgsComposerScaleBar::setNumSegments(), QgsComposerScaleBar::setNumSegmentsLeft(), QgsComposerScaleBar::setNumUnitsPerSegment(), QgsComposerPicture::setPictureFile(), QgsComposerMap::setPreviewMode(), QgsComposerPicture::setSceneRect(), QgsComposerMap::setSceneRect(), QgsComposerScaleBar::setStyle(), QgsComposerLabel::setText(), QgsComposerScaleBar::setUnits(), QgsComposerScaleBar::updateSegmentSize(), and QgsComposerMap::zoomContent().
|
inline |
Returns item's last used position mode.
Definition at line 146 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 1091 of file qgscomposeritem.cpp.
References horizontalViewScaleFactor().
Referenced by drawSelectionBoxes().
|
protected |
Finds out which mouse move action to choose depending on the cursor position inside the widget.
Definition at line 502 of file qgscomposeritem.cpp.
References mItemPositionLocked, MoveItem, NoAction, rectHandlerBorderTolerance(), ResizeDown, ResizeLeft, ResizeLeftDown, ResizeLeftUp, ResizeRight, ResizeRightDown, ResizeRightUp, and ResizeUp.
Referenced by cursorForPosition(), and mousePressEvent().
|
protectedvirtual |
Definition at line 372 of file qgscomposeritem.cpp.
References changeItemRectangle(), mBoundingResizeRectangle, mItemPositionLocked, mLastMouseEventPos, and mMouseMoveStartPos.
|
protectedvirtual |
Definition at line 394 of file qgscomposeritem.cpp.
References deleteAlignItems(), mBoundingResizeRectangle, mCurrentMouseMoveAction, mItemPositionLocked, mLastMouseEventPos, mMouseMoveStartPos, and mouseMoveActionForPosition().
|
protectedvirtual |
Definition at line 434 of file qgscomposeritem.cpp.
References beginItemCommand(), changeItemRectangle(), deleteAlignItems(), endItemCommand(), mBoundingResizeRectangle, mCurrentMouseMoveAction, MathUtils::min(), mItemPositionLocked, mMouseMoveStartPos, MoveItem, and tr.
void QgsComposerItem::move | ( | double | dx, |
double | dy | ||
) |
Moves item in canvas coordinates.
Definition at line 805 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 1023 of file qgscomposeritem.cpp.
Referenced by scaledFontPixelSize().
|
inline |
Returns position lock for mouse drags (true means locked)
Definition at line 288 of file qgscomposeritem.h.
Referenced by _readXML(), and QgsComposerView::mousePressEvent().
|
virtual |
read state from project
Definition at line 135 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, QgsComposerPicture, QgsComposerShape, QgsComposerItemGroup, QgsComposerAttributeTable, QgsPaperItem, 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 1073 of file qgscomposeritem.cpp.
References horizontalViewScaleFactor().
Referenced by drawSelectionBoxes(), and mouseMoveActionForPosition().
|
inlinevirtual |
Reimplemented in QgsComposerItemGroup.
Definition at line 236 of file qgscomposeritem.h.
|
virtual |
delete settings from project file
Definition at line 137 of file qgscomposeritem.cpp.
|
slot |
Definition at line 1323 of file qgscomposeritem.cpp.
Referenced by QgsComposerItemCommand::restoreState(), QgsComposerAttributeTable::setComposerMap(), and QgsComposerMap::setOverviewFrameMap().
|
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 1263 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerMap::mapPolygon(), QgsComposerMap::mapToItemCoords(), sizeChangedByRotation(), and QgsComposerMap::transformShift().
|
inline |
Definition at line 294 of file qgscomposeritem.h.
Referenced by QgsComposerMap::drawCoordinateAnnotation(), and QgsComposerPicture::setRotationMap().
|
signal |
Is emitted on rotation change to notify north arrow pictures.
Referenced by QgsComposerPicture::readXML(), QgsComposerMap::setMapRotation(), setRotation(), and QgsComposerPicture::setRotationMap().
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 1028 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.
void QgsComposerItem::setBackgroundColor | ( | const QColor & | backgroundColor | ) |
Sets the background color for this item.
backgroundColor | new background color |
Definition at line 893 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 199 of file qgscomposeritem.h.
void QgsComposerItem::setBlendMode | ( | QPainter::CompositionMode | blendMode | ) |
Sets the item's composition blending mode.
Definition at line 899 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 913 of file qgscomposeritem.cpp.
References effectsEnabled(), mEffect, and mEffectsEnabled.
Referenced by QgsComposition::setUseAdvancedEffects().
|
inline |
Set whether this item has a frame drawn around it or not.
drawFrame | draw frame |
Definition at line 183 of file qgscomposeritem.h.
Referenced by QgsComposerShape::QgsComposerShape().
|
virtual |
Set item's id (which is not necessarly unique)
Definition at line 1328 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 812 of file qgscomposeritem.cpp.
Referenced by QgsComposition::addItemsFromXML().
void QgsComposerItem::setItemPosition | ( | double | x, |
double | y, | ||
double | width, | ||
double | height, | ||
ItemPositionMode | itemPoint = UpperLeft |
||
) |
Sets item position and width / height in one go.
Definition at line 819 of file qgscomposeritem.cpp.
References LowerLeft, LowerMiddle, LowerRight, Middle, MiddleLeft, MiddleRight, mLastUsedPositionMode, setSceneRect(), UpperMiddle, and UpperRight.
|
inline |
Locks / unlocks the item position for mouse drags.
Definition at line 284 of file qgscomposeritem.h.
Referenced by QgsComposerView::mousePressEvent().
|
virtualslot |
Definition at line 1111 of file qgscomposeritem.cpp.
References mRotation, and rotationChanged().
Referenced by QgsComposerMap::setMapRotation().
|
virtual |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit.
Reimplemented in QgsComposerMap, QgsComposerLabel, QgsComposerAttributeTable, QgsComposerShape, QgsComposerPicture, QgsComposerArrow, and QgsComposerItemGroup.
Definition at line 850 of file qgscomposeritem.cpp.
References sizeChanged().
Referenced by _readXML(), QgsComposerTable::adaptItemFrame(), QgsComposerLegend::adjustBoxSize(), QgsComposerScaleBar::adjustBoxSize(), changeItemRectangle(), QgsComposerView::mousePressEvent(), move(), QgsComposerLegend::paintAndDetermineSize(), and setItemPosition().
|
virtual |
Set selected, selected item should be highlighted.
Definition at line 126 of file qgscomposeritem.cpp.
References QgsDebugMsg.
Referenced by QgsComposition::addComposerArrow(), QgsComposition::addComposerHtmlFrame(), QgsComposition::addComposerLabel(), QgsComposition::addComposerLegend(), QgsComposition::addComposerMap(), QgsComposition::addComposerPicture(), QgsComposition::addComposerScaleBar(), QgsComposition::addComposerShape(), QgsComposition::addComposerTable(), QgsComposerItemGroup::addItem(), QgsComposerView::groupItems(), QgsComposerView::mousePressEvent(), and QgsComposition::sendItemAddedSignal().
void QgsComposerItem::setTransparency | ( | int | transparency | ) |
Sets the item's transparency.
Definition at line 906 of file qgscomposeritem.cpp.
References mTransparency, and transparency().
Referenced by _readXML().
|
signal |
Emitted if the rectangle changes.
Referenced by setSceneRect().
|
protected |
Calculates width / height of the bounding box of a rotated rectangle (mRotation)
Definition at line 1226 of file qgscomposeritem.cpp.
References mRotation, and rotate().
Referenced by QgsComposerLabel::adjustSizeToText(), QgsComposerShape::setRotation(), QgsComposerPicture::setRotation(), and QgsComposerLabel::setRotation().
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 995 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 221 of file qgscomposeritem.h.
Referenced by setTransparency().
|
inlinevirtual |
return correct graphics item type.
Added in v1.7
Reimplemented in QgsComposerScaleBar, QgsComposerMap, QgsComposerAttributeTable, QgsComposerLegend, QgsComposerShape, QgsComposerArrow, QgsComposerFrame, QgsComposerPicture, QgsComposerLabel, QgsComposerTable, QgsPaperItem, QgsComposerItemGroup, and QgsComposerTextTable.
Definition at line 105 of file qgscomposeritem.h.
Referenced by QgsComposition::nearestSnapLine(), QgsComposition::removeComposerItem(), and QgsComposition::writeXML().
void QgsComposerItem::updateCursor | ( | const QPointF & | itemPos | ) |
Update mouse cursor at (item) position.
Definition at line 1106 of file qgscomposeritem.cpp.
References cursorForPosition().
Referenced by QgsComposerView::mousePressEvent().
|
inlinevirtual |
Updates item, with the possibility to do custom update for subclasses.
Reimplemented in QgsComposerMap.
Definition at line 297 of file qgscomposeritem.h.
Referenced by changeItemRectangle().
|
inline |
Get item identification name.
Definition at line 310 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 1285 of file qgscomposeritem.cpp.
References mVAlignSnapItem.
Referenced by changeItemRectangle().
|
virtual |
stores state in project
Definition at line 133 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, QgsComposerPicture, QgsComposerAttributeTable, QgsComposerShape, QgsComposerItemGroup, QgsPaperItem, 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 451 of file qgscomposeritem.h.
|
protected |
True if item background needs to be painted.
Definition at line 334 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerShape::drawBackground(), and drawBackground().
|
protected |
Background color.
Definition at line 336 of file qgscomposeritem.h.
Referenced by setBackgroundColor().
|
protected |
Composition blend mode for item.
Definition at line 349 of file qgscomposeritem.h.
Referenced by _writeXML(), and setBlendMode().
|
protected |
Rectangle used during move and resize actions.
Definition at line 327 of file qgscomposeritem.h.
Referenced by mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), and ~QgsComposerItem().
|
protected |
Definition at line 318 of file qgscomposeritem.h.
Referenced by QgsComposerMap::assignFreeId(), beginCommand(), QgsComposerFrame::beginItemCommand(), cancelCommand(), changeItemRectangle(), QgsComposerLabel::displayText(), QgsComposerMap::draw(), QgsComposerItemGroup::drawFrame(), QgsComposerMap::drawGridLine(), QgsComposerMap::drawOverviewMapExtent(), drawSelectionBoxes(), QgsComposerArrow::drawSVGMarker(), endCommand(), QgsComposerFrame::endItemCommand(), QgsComposerLabel::htmlUnitsToMM(), init(), QgsComposerLegend::layerIdList(), QgsPaperItem::paint(), QgsComposerLabel::paint(), QgsComposerMap::paint(), QgsComposerMap::QgsComposerMap(), QgsComposerItemGroup::readXML(), QgsComposerPicture::readXML(), QgsComposerLegend::readXML(), QgsComposerScaleBar::readXML(), QgsComposerMap::setOverviewFrameMap(), QgsComposerPicture::setRotationMap(), ~QgsComposerItem(), and QgsComposerItemGroup::~QgsComposerItemGroup().
|
protected |
Definition at line 320 of file qgscomposeritem.h.
Referenced by changeItemRectangle(), mousePressEvent(), and mouseReleaseEvent().
|
protected |
Definition at line 351 of file qgscomposeritem.h.
Referenced by init(), setBlendMode(), setEffectsEnabled(), and ~QgsComposerItem().
|
protected |
Definition at line 350 of file qgscomposeritem.h.
Referenced by setEffectsEnabled().
|
protected |
True if item fram needs to be painted.
Definition at line 332 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerItemGroup::drawFrame(), QgsComposerShape::drawFrame(), and drawFrame().
|
protected |
Definition at line 328 of file qgscomposeritem.h.
Referenced by deleteHAlignSnapItem(), and hAlignSnapItem().
|
private |
Definition at line 443 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 340 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), drawSelectionBoxes(), mouseMoveActionForPosition(), mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().
|
protected |
Position of the last mouse move event (in scene coordinates)
Definition at line 324 of file qgscomposeritem.h.
Referenced by mouseMoveEvent(), and mousePressEvent().
|
protected |
The item's position mode.
Definition at line 358 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 343 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerMap::cache(), horizontalViewScaleFactor(), and QgsComposerMap::paint().
|
protected |
Start point of the last mouse move action (in scene coordinates)
Definition at line 322 of file qgscomposeritem.h.
Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().
|
protected |
Item rotation in degrees, clockwise.
Definition at line 346 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), cornerPointOnRotatedAndScaledRect(), QgsComposerShape::drawShape(), imageSizeConsideringRotation(), QgsComposerLabel::itemShiftAdjustSize(), QgsComposerMap::mapPolygon(), QgsComposerMap::mapToItemCoords(), QgsComposerLabel::paint(), QgsComposerPicture::paint(), QgsComposerMap::paint(), QgsComposerMap::requestedExtent(), setRotation(), QgsComposerPicture::setRotationMap(), sizeChangedByRotation(), QgsComposerMap::transformShift(), QgsComposerMap::xGridLines(), and QgsComposerMap::yGridLines().
|
private |
Definition at line 447 of file qgscomposeritem.h.
Referenced by _readXML(), and QgsComposerItemGroup::readXML().
|
protected |
Item transparency.
Definition at line 354 of file qgscomposeritem.h.
Referenced by _writeXML(), and setTransparency().
|
private |
Definition at line 445 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), and QgsComposerItemGroup::readXML().
|
protected |
Definition at line 329 of file qgscomposeritem.h.
Referenced by deleteVAlignSnapItem(), and vAlignSnapItem().