#include <qgscomposeritem.h>
Public Types | |
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. | |
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 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. | |
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. | |
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 | 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 | 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 | 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 |
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. | |
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. | |
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. | |
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. |
Definition at line 33 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 39 of file qgscomposeritem.h.
UpperLeft | |
UpperMiddle | |
UpperRight | |
MiddleLeft | |
Middle | |
MiddleRight | |
LowerLeft | |
LowerMiddle | |
LowerRight |
Definition at line 53 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 42 of file qgscomposeritem.cpp.
References QgsComposition::addItemToZList(), and mComposition.
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 QgsComposition::addItemToZList(), and mComposition.
QgsComposerItem::~QgsComposerItem | ( | ) | [virtual] |
Definition at line 98 of file qgscomposeritem.cpp.
References mBoundingResizeRectangle, mComposition, and QgsComposition::removeItemFromZList().
void QgsComposerItem::setSelected | ( | bool | s | ) | [virtual] |
Set selected, selected item should be highlighted.
Definition at line 108 of file qgscomposeritem.cpp.
References QgsDebugMsg.
Referenced by QgsComposerView::addComposerArrow(), QgsComposerView::addComposerLabel(), QgsComposerView::addComposerLegend(), QgsComposerView::addComposerMap(), QgsComposerView::addComposerPicture(), QgsComposerView::addComposerScaleBar(), QgsComposerView::addComposerShape(), QgsComposerView::addComposerTable(), QgsComposerItemGroup::addItem(), QgsComposerView::groupItems(), and QgsComposerView::mousePressEvent().
virtual bool QgsComposerItem::selected | ( | void | ) | [inline, virtual] |
bool QgsComposerItem::writeSettings | ( | void | ) | [virtual] |
bool QgsComposerItem::readSettings | ( | void | ) | [virtual] |
bool QgsComposerItem::removeSettings | ( | void | ) | [virtual] |
void QgsComposerItem::move | ( | double | dx, | |
double | dy | |||
) |
Moves item in canvas coordinates.
Definition at line 622 of file qgscomposeritem.cpp.
References setSceneRect().
virtual void QgsComposerItem::moveContent | ( | double | dx, | |
double | dy | |||
) | [inline, virtual] |
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 101 of file qgscomposeritem.h.
Referenced by QgsComposerView::mouseReleaseEvent().
virtual void QgsComposerItem::zoomContent | ( | int | delta, | |
double | x, | |||
double | y | |||
) | [inline, virtual] |
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 107 of file qgscomposeritem.h.
Referenced by QgsComposerView::wheelEvent().
void QgsComposerItem::setItemPosition | ( | double | x, | |
double | y, | |||
ItemPositionMode | itemPoint = UpperLeft | |||
) |
Moves the item to a new position (in canvas coordinates).
Definition at line 629 of file qgscomposeritem.cpp.
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 636 of file qgscomposeritem.cpp.
References LowerLeft, LowerMiddle, LowerRight, Middle, MiddleLeft, MiddleRight, setSceneRect(), UpperMiddle, and UpperRight.
void QgsComposerItem::setSceneRect | ( | const QRectF & | rectangle | ) | [virtual] |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit.
Reimplemented in QgsComposerArrow, QgsComposerAttributeTable, QgsComposerItemGroup, QgsComposerMap, QgsComposerPicture, and QgsComposerShape.
Definition at line 664 of file qgscomposeritem.cpp.
Referenced by _readXML(), QgsComposerTable::adaptItemFrame(), QgsComposerArrow::adaptItemSceneRect(), QgsComposerItemGroup::addItem(), QgsComposerScaleBar::adjustBoxSize(), QgsComposerLegend::adjustBoxSize(), QgsComposerLabel::adjustSizeToText(), changeItemRectangle(), QgsComposerView::mousePressEvent(), move(), QgsComposerLegend::paintAndDetermineSize(), setItemPosition(), QgsComposerShape::setRotation(), QgsComposerPicture::setRotation(), QgsComposerShape::setSceneRect(), QgsComposerPicture::setSceneRect(), QgsComposerMap::setSceneRect(), QgsComposerItemGroup::setSceneRect(), and QgsComposerAttributeTable::setSceneRect().
virtual bool QgsComposerItem::writeXML | ( | QDomElement & | elem, | |
QDomDocument & | doc | |||
) | const [pure virtual] |
stores state in Dom element
elem | is Dom element corresponding to 'Composer' tag | |
doc | is the Dom document |
Implemented in QgsComposerArrow, QgsComposerAttributeTable, QgsComposerItemGroup, QgsComposerLabel, QgsComposerLegend, QgsComposerMap, QgsComposerPicture, QgsComposerScaleBar, QgsComposerShape, QgsComposerTable, QgsComposerTextTable, and QgsPaperItem.
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 121 of file qgscomposeritem.cpp.
References mFrame, mItemPositionLocked, mLastValidViewScaleFactor, and mRotation.
Referenced by QgsComposerTable::tableWriteXML(), QgsComposerTextTable::writeXML(), QgsComposerShape::writeXML(), QgsComposerScaleBar::writeXML(), QgsComposerPicture::writeXML(), QgsComposerMap::writeXML(), QgsComposerLegend::writeXML(), QgsComposerLabel::writeXML(), and QgsComposerArrow::writeXML().
virtual bool QgsComposerItem::readXML | ( | const QDomElement & | itemElem, | |
const QDomDocument & | doc | |||
) | [pure virtual] |
sets state from Dom document
itemElem | is Dom node corresponding to item tag | |
doc | is Dom document |
Implemented in QgsComposerArrow, QgsComposerAttributeTable, QgsComposerItemGroup, QgsComposerLabel, QgsComposerLegend, QgsComposerMap, QgsComposerPicture, QgsComposerScaleBar, QgsComposerShape, QgsComposerTable, QgsComposerTextTable, and QgsPaperItem.
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 185 of file qgscomposeritem.cpp.
References frame(), mFrame, mItemPositionLocked, mLastValidViewScaleFactor, mRotation, positionLock(), and setSceneRect().
Referenced by QgsComposerShape::readXML(), QgsComposerScaleBar::readXML(), QgsComposerPicture::readXML(), QgsComposerMap::readXML(), QgsComposerLegend::readXML(), QgsComposerLabel::readXML(), QgsComposerArrow::readXML(), and QgsComposerTable::tableReadXML().
bool QgsComposerItem::frame | ( | ) | const [inline] |
void QgsComposerItem::setFrame | ( | bool | drawFrame | ) | [inline] |
Definition at line 141 of file qgscomposeritem.h.
virtual void QgsComposerItem::addItem | ( | QgsComposerItem * | item | ) | [inline, virtual] |
Composite operations for item groups do nothing per default.
Reimplemented in QgsComposerItemGroup.
Definition at line 144 of file qgscomposeritem.h.
virtual void QgsComposerItem::removeItems | ( | ) | [inline, virtual] |
const QgsComposition* QgsComposerItem::composition | ( | ) | const [inline] |
Definition at line 147 of file qgscomposeritem.h.
Referenced by QgsComposerAttributeTable::readXML().
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 arount the Qt font bug)
Definition at line 713 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsNumericScaleBarStyle::draw(), QgsComposerMap::drawAnnotation(), QgsComposerLegend::drawGroupItem(), QgsScaleBarStyle::drawLabels(), QgsComposerLegend::drawLayerChildItems(), QgsComposerLegend::drawLayerItem(), QgsComposerTable::paint(), QgsComposerLabel::paint(), and QgsComposerLegend::paintAndDetermineSize().
void QgsComposerItem::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.
Definition at line 726 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
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 777 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsComposerLabel::adjustSizeToText(), QgsScaleBarStyle::calculateBoxSize(), QgsNumericScaleBarStyle::calculateBoxSize(), QgsComposerTable::calculateMaxColumnWidths(), QgsComposerMap::drawCoordinateAnnotation(), QgsComposerLegend::drawGroupItem(), QgsScaleBarStyle::drawLabels(), QgsComposerLegend::drawLayerChildItems(), QgsComposerLegend::drawLayerItem(), QgsComposerMap::maxExtension(), QgsComposerScaleBar::paint(), and QgsComposerLegend::paintAndDetermineSize().
double QgsComposerItem::fontAscentMillimeters | ( | const QFont & | font | ) | const |
Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Definition at line 784 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().
Referenced by QgsComposerTable::adaptItemFrame(), QgsComposerLabel::adjustSizeToText(), QgsScaleBarStyle::calculateBoxSize(), QgsNumericScaleBarStyle::calculateBoxSize(), QgsTicksScaleBarStyle::draw(), QgsSingleBoxScaleBarStyle::draw(), QgsNumericScaleBarStyle::draw(), QgsDoubleBoxScaleBarStyle::draw(), QgsComposerMap::drawCoordinateAnnotation(), QgsComposerLegend::drawGroupItem(), QgsComposerTable::drawHorizontalGridLines(), QgsScaleBarStyle::drawLabels(), QgsComposerLegend::drawLayerChildItems(), QgsComposerLegend::drawLayerItem(), QgsComposerMap::maxExtension(), QgsComposerTable::paint(), QgsComposerLegend::paintAndDetermineSize(), and QgsComposerAttributeTable::setSceneRect().
double QgsComposerItem::pixelFontSize | ( | double | pointSize | ) | const |
Calculates font to from point size to pixel size.
Definition at line 791 of file qgscomposeritem.cpp.
Referenced by scaledFontPixelSize().
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 796 of file qgscomposeritem.cpp.
References FONT_WORKAROUND_SCALE, and pixelFontSize().
Referenced by drawText(), fontAscentMillimeters(), and textWidthMillimeters().
void QgsComposerItem::setPositionLock | ( | bool | lock | ) | [inline] |
Locks / unlocks the item position for mouse drags.
Definition at line 173 of file qgscomposeritem.h.
Referenced by QgsComposerView::mousePressEvent().
bool QgsComposerItem::positionLock | ( | ) | const [inline] |
Returns position lock for mouse drags (true means locked).
Definition at line 177 of file qgscomposeritem.h.
Referenced by _readXML(), and QgsComposerView::mousePressEvent().
void QgsComposerItem::updateCursor | ( | const QPointF & | itemPos | ) |
Update mouse cursor at (item) position.
Definition at line 874 of file qgscomposeritem.cpp.
References cursorForPosition().
Referenced by QgsComposerView::mousePressEvent().
double QgsComposerItem::rotation | ( | ) | const [inline] |
Definition at line 183 of file qgscomposeritem.h.
Referenced by QgsComposerMap::drawCoordinateAnnotation(), and QgsComposerPicture::setRotationMap().
void QgsComposerItem::setRotation | ( | double | r | ) | [virtual, slot] |
Reimplemented in QgsComposerPicture, and QgsComposerShape.
Definition at line 879 of file qgscomposeritem.cpp.
References mRotation, and rotationChanged().
Referenced by QgsComposerMap::setMapRotation(), QgsComposerShape::setRotation(), and QgsComposerPicture::setRotation().
void QgsComposerItem::repaint | ( | ) | [slot] |
Definition at line 1070 of file qgscomposeritem.cpp.
Referenced by QgsComposerAttributeTable::setComposerMap().
void QgsComposerItem::mouseMoveEvent | ( | QGraphicsSceneMouseEvent * | event | ) | [protected, virtual] |
Definition at line 278 of file qgscomposeritem.cpp.
References changeItemRectangle(), mBoundingResizeRectangle, mItemPositionLocked, mLastMouseEventPos, and mMouseMoveStartPos.
void QgsComposerItem::mousePressEvent | ( | QGraphicsSceneMouseEvent * | event | ) | [protected, virtual] |
Definition at line 295 of file qgscomposeritem.cpp.
References mBoundingResizeRectangle, mCurrentMouseMoveAction, mItemPositionLocked, mLastMouseEventPos, mMouseMoveStartPos, and mouseMoveActionForPosition().
void QgsComposerItem::mouseReleaseEvent | ( | QGraphicsSceneMouseEvent * | event | ) | [protected, virtual] |
Definition at line 328 of file qgscomposeritem.cpp.
References changeItemRectangle(), mBoundingResizeRectangle, mCurrentMouseMoveAction, MathUtils::min(), mItemPositionLocked, mMouseMoveStartPos, and MoveItem.
void QgsComposerItem::hoverMoveEvent | ( | QGraphicsSceneHoverEvent * | event | ) | [protected, virtual] |
Qt::CursorShape QgsComposerItem::cursorForPosition | ( | const QPointF & | itemCoordPos | ) | [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 361 of file qgscomposeritem.cpp.
References mouseMoveActionForPosition(), MoveItem, NoAction, ResizeDown, ResizeLeftDown, ResizeLeftUp, ResizeRightDown, ResizeRightUp, and ResizeUp.
Referenced by hoverMoveEvent(), and updateCursor().
QgsComposerItem::MouseMoveAction QgsComposerItem::mouseMoveActionForPosition | ( | const QPointF & | itemCoordPos | ) | [protected] |
Finds out which mouse move action to choose depending on the cursor position inside the widget.
Definition at line 391 of file qgscomposeritem.cpp.
References mItemPositionLocked, MoveItem, NoAction, rectHandlerBorderTolerance(), ResizeDown, ResizeLeft, ResizeLeftDown, ResizeLeftUp, ResizeRight, ResizeRightDown, ResizeRightUp, and ResizeUp.
Referenced by cursorForPosition(), and mousePressEvent().
void QgsComposerItem::changeItemRectangle | ( | const QPointF & | currentPosition, | |
const QPointF & | mouseMoveStartPos, | |||
const QGraphicsRectItem * | originalItem, | |||
double | dx, | |||
double | dy, | |||
QGraphicsRectItem * | changeItem | |||
) | [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 460 of file qgscomposeritem.cpp.
References mComposition, mCurrentMouseMoveAction, MoveItem, NoAction, ResizeDown, ResizeLeft, ResizeLeftDown, ResizeLeftUp, ResizeRight, ResizeRightDown, ResizeRightUp, ResizeUp, setSceneRect(), and QgsComposition::snapPointToGrid().
Referenced by mouseMoveEvent(), and mouseReleaseEvent().
void QgsComposerItem::drawSelectionBoxes | ( | QPainter * | p | ) | [protected, virtual] |
Draw selection boxes around item.
Definition at line 571 of file qgscomposeritem.cpp.
References QgsApplication::activeThemePath(), QgsApplication::defaultThemePath(), lockSymbolSize(), mComposition, mItemPositionLocked, QgsComposition::plotStyle(), QgsComposition::Preview, and rectHandlerBorderTolerance().
Referenced by QgsComposerTable::paint(), QgsComposerShape::paint(), QgsComposerScaleBar::paint(), QgsComposerPicture::paint(), QgsComposerMap::paint(), QgsComposerLabel::paint(), QgsComposerItemGroup::paint(), QgsComposerArrow::paint(), and QgsComposerLegend::paintAndDetermineSize().
void QgsComposerItem::drawFrame | ( | QPainter * | p | ) | [protected, virtual] |
Draw black frame around item.
Reimplemented in QgsComposerItemGroup.
Definition at line 611 of file qgscomposeritem.cpp.
References mFrame.
Referenced by QgsComposerTable::paint(), QgsComposerShape::paint(), QgsComposerScaleBar::paint(), QgsComposerPicture::paint(), QgsComposerMap::paint(), QgsComposerLabel::paint(), QgsComposerArrow::paint(), and QgsComposerLegend::paintAndDetermineSize().
void QgsComposerItem::drawBackground | ( | QPainter * | p | ) | [protected, virtual] |
Draw background.
Definition at line 694 of file qgscomposeritem.cpp.
Referenced by QgsPaperItem::paint(), QgsComposerTable::paint(), QgsComposerShape::paint(), QgsComposerScaleBar::paint(), QgsComposerPicture::paint(), QgsComposerMap::paint(), QgsComposerLabel::paint(), QgsComposerArrow::paint(), and QgsComposerLegend::paintAndDetermineSize().
void QgsComposerItem::drawArrowHead | ( | QPainter * | p, | |
double | x, | |||
double | y, | |||
double | angle, | |||
double | arrowHeadWidth | |||
) | const [protected] |
Draws arrowhead.
Definition at line 740 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerArrow::drawHardcodedMarker().
double QgsComposerItem::angle | ( | const QPointF & | p1, | |
const QPointF & | p2 | |||
) | const [protected] |
Returns angle of the line from p1 to p2 (clockwise, starting at N).
Definition at line 804 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerArrow::drawHardcodedMarker(), and QgsComposerArrow::drawSVGMarker().
double QgsComposerItem::rectHandlerBorderTolerance | ( | ) | const [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 841 of file qgscomposeritem.cpp.
References horizontalViewScaleFactor().
Referenced by drawSelectionBoxes(), and mouseMoveActionForPosition().
double QgsComposerItem::lockSymbolSize | ( | ) | const [protected] |
Returns the size of the lock symbol depending on the composer zoom level and the item size.
Definition at line 859 of file qgscomposeritem.cpp.
References horizontalViewScaleFactor().
Referenced by drawSelectionBoxes().
double QgsComposerItem::horizontalViewScaleFactor | ( | ) | const [protected] |
Returns the zoom factor of the graphics view.
Definition at line 822 of file qgscomposeritem.cpp.
References mLastValidViewScaleFactor.
Referenced by QgsComposerMap::cache(), QgsComposerArrow::drawSVGMarker(), lockSymbolSize(), QgsComposerPicture::paint(), QgsComposerMap::paint(), and rectHandlerBorderTolerance().
bool QgsComposerItem::imageSizeConsideringRotation | ( | double & | width, | |
double & | height | |||
) | const [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 893 of file qgscomposeritem.cpp.
References cornerPointOnRotatedAndScaledRect(), mRotation, and pointOnLineWithDistance().
Referenced by QgsComposerShape::setSceneRect(), and QgsComposerPicture::setSceneRect().
bool QgsComposerItem::cornerPointOnRotatedAndScaledRect | ( | double & | x, | |
double & | y, | |||
double | width, | |||
double | height | |||
) | const [protected] |
Calculates corner point after rotation and scaling.
Definition at line 977 of file qgscomposeritem.cpp.
References M_PI, and mRotation.
Referenced by imageSizeConsideringRotation().
QPointF QgsComposerItem::pointOnLineWithDistance | ( | const QPointF & | startPoint, | |
const QPointF & | directionPoint, | |||
double | distance | |||
) | const [protected] |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point.
Reimplemented in QgsComposerShape.
Definition at line 1014 of file qgscomposeritem.cpp.
Referenced by QgsComposerMap::drawGrid(), and imageSizeConsideringRotation().
void QgsComposerItem::sizeChangedByRotation | ( | double & | width, | |
double & | height | |||
) | [protected] |
Calculates width / height of the bounding box of a rotated rectangle (mRotation).
Definition at line 1023 of file qgscomposeritem.cpp.
References mRotation, and rotate().
Referenced by QgsComposerShape::setRotation(), and QgsComposerPicture::setRotation().
void QgsComposerItem::rotate | ( | double | angle, | |
double & | x, | |||
double & | y | |||
) | const [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 1060 of file qgscomposeritem.cpp.
References M_PI.
Referenced by QgsComposerMap::mapPolygon(), QgsComposerMap::mapToItemCoords(), sizeChangedByRotation(), and QgsComposerMap::transformShift().
void QgsComposerItem::rotationChanged | ( | double | newRotation | ) | [signal] |
Is emitted on rotation change to notify north arrow pictures.
Referenced by QgsComposerPicture::readXML(), QgsComposerMap::setMapRotation(), setRotation(), and QgsComposerPicture::setRotationMap().
QgsComposition* QgsComposerItem::mComposition [protected] |
Definition at line 191 of file qgscomposeritem.h.
Referenced by changeItemRectangle(), QgsComposerItemGroup::drawFrame(), drawSelectionBoxes(), QgsComposerArrow::drawSVGMarker(), QgsComposerLegend::layerIdList(), QgsPaperItem::paint(), QgsComposerPicture::paint(), QgsComposerMap::paint(), QgsComposerItem(), QgsComposerMap::QgsComposerMap(), QgsComposerScaleBar::readXML(), QgsComposerPicture::readXML(), QgsComposerPicture::setRotationMap(), and ~QgsComposerItem().
Definition at line 193 of file qgscomposeritem.h.
Referenced by changeItemRectangle(), mousePressEvent(), and mouseReleaseEvent().
QPointF QgsComposerItem::mMouseMoveStartPos [protected] |
Start point of the last mouse move action (in scene coordinates).
Definition at line 195 of file qgscomposeritem.h.
Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().
QPointF QgsComposerItem::mLastMouseEventPos [protected] |
Position of the last mouse move event (in scene coordinates).
Definition at line 197 of file qgscomposeritem.h.
Referenced by mouseMoveEvent(), and mousePressEvent().
QGraphicsRectItem* QgsComposerItem::mBoundingResizeRectangle [protected] |
Rectangle used during move and resize actions.
Definition at line 200 of file qgscomposeritem.h.
Referenced by mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), and ~QgsComposerItem().
bool QgsComposerItem::mFrame [protected] |
True if item fram needs to be painted.
Definition at line 203 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerItemGroup::drawFrame(), and drawFrame().
bool QgsComposerItem::mItemPositionLocked [protected] |
True if item position and size cannot be changed with mouse move.
Definition at line 207 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), drawSelectionBoxes(), mouseMoveActionForPosition(), mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().
double QgsComposerItem::mLastValidViewScaleFactor [mutable, protected] |
Backup to restore item appearance if no view scale factor is available.
Definition at line 210 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), QgsComposerMap::cache(), horizontalViewScaleFactor(), and QgsComposerMap::paint().
double QgsComposerItem::mRotation [protected] |
Item rotation in degrees, clockwise.
Definition at line 213 of file qgscomposeritem.h.
Referenced by _readXML(), _writeXML(), cornerPointOnRotatedAndScaledRect(), imageSizeConsideringRotation(), QgsComposerMap::mapPolygon(), QgsComposerMap::mapToItemCoords(), QgsComposerShape::paint(), QgsComposerPicture::paint(), QgsComposerMap::paint(), QgsComposerMap::requestedExtent(), setRotation(), QgsComposerPicture::setRotationMap(), sizeChangedByRotation(), QgsComposerMap::transformShift(), QgsComposerMap::xGridLines(), and QgsComposerMap::yGridLines().