Quantum GIS API Documentation
1.7.5-Wroclaw
|
A composer items that draws common shapes (ellipse, triangle, rectangle) More...
#include <qgscomposershape.h>
Public Types | |
enum | Shape { Ellipse, Rectangle, Triangle } |
![]() | |
enum | ItemType { ComposerItem = UserType + 100, ComposerArrow, ComposerItemGroup, ComposerLabel, ComposerLegend, ComposerMap, ComposerPaper, ComposerPicture, ComposerScaleBar, ComposerShape, ComposerTable, ComposerAttributeTable, ComposerTextTable } |
enum | MouseMoveAction { MoveItem, ResizeUp, ResizeDown, ResizeLeft, ResizeRight, ResizeLeftUp, ResizeRightUp, ResizeLeftDown, ResizeRightDown, NoAction } |
Describes the action (move or resize in different directon) to be done during mouse move. More... | |
enum | ItemPositionMode { UpperLeft, UpperMiddle, UpperRight, MiddleLeft, Middle, MiddleRight, LowerLeft, LowerMiddle, LowerRight } |
Public Slots | |
virtual void | setRotation (double r) |
Sets item rotation and resizes item bounds such that the shape always has the same size. | |
![]() | |
void | repaint () |
Public Member Functions | |
QgsComposerShape (QgsComposition *composition) | |
QgsComposerShape (qreal x, qreal y, qreal width, qreal height, QgsComposition *composition) | |
~QgsComposerShape () | |
virtual int | type () const |
return correct graphics item type. | |
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) |
Reimplementation of QCanvasItem::paint - draw on canvas. | |
bool | writeXML (QDomElement &elem, QDomDocument &doc) const |
stores state in Dom element | |
bool | readXML (const QDomElement &itemElem, const QDomDocument &doc) |
sets state from Dom document | |
void | setLineWidth (double width) |
double | lineWidth () const |
void | setOutlineColor (const QColor &color) |
QColor | outlineColor () const |
void | setFillColor (const QColor &color) |
QColor | fillColor () const |
QgsComposerShape::Shape | shapeType () const |
void | setShapeType (QgsComposerShape::Shape s) |
bool | transparentFill () const |
void | setTransparentFill (bool transparent) |
void | setSceneRect (const QRectF &rectangle) |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit. | |
![]() | |
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. | |
bool | _writeXML (QDomElement &itemElem, QDomDocument &doc) const |
Writes parameter that are not subclass specific in document. | |
bool | _readXML (const QDomElement &itemElem, const QDomDocument &doc) |
Reads parameter that are not subclass specific in document. | |
bool | frame () const |
void | setFrame (bool drawFrame) |
virtual void | addItem (QgsComposerItem *item) |
Composite operations for item groups do nothing per default. | |
virtual void | removeItems () |
const QgsComposition * | composition () const |
void | beginCommand (const QString &commandText, QgsComposerMergeCommand::Context c=QgsComposerMergeCommand::Unknown) |
Starts new composer undo command. | |
void | endCommand () |
Finish current command and push it onto the undo stack. | |
void | cancelCommand () |
void | drawText (QPainter *p, double x, double y, const QString &text, const QFont &font) const |
Draws Text. | |
void | drawText (QPainter *p, const QRectF &rect, const QString &text, const QFont &font, Qt::AlignmentFlag halignement=Qt::AlignLeft, Qt::AlignmentFlag valignement=Qt::AlignTop) const |
Like the above, but with a rectangle for multiline text. | |
double | textWidthMillimeters (const QFont &font, const QString &text) const |
Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. | |
double | fontHeightCharacterMM (const QFont &font, const QChar &c) const |
Returns the font height of a character in millimeters. | |
double | fontAscentMillimeters (const QFont &font) const |
Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. | |
double | pixelFontSize (double pointSize) const |
Calculates font to from point size to pixel size. | |
QFont | scaledFontPixelSize (const QFont &font) const |
Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE. | |
void | setPositionLock (bool lock) |
Locks / unlocks the item position for mouse drags. | |
bool | positionLock () const |
Returns position lock for mouse drags (true means locked) | |
void | updateCursor (const QPointF &itemPos) |
Update mouse cursor at (item) position. | |
double | rotation () const |
Private Member Functions | |
void | initGraphicsSettings () |
Apply default graphics settings. | |
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. |
Private Attributes | |
Shape | mShape |
Ellipse, rectangle or triangle. | |
QPen | mPen |
Shape outline. | |
QBrush | mBrush |
Shape fill. | |
double | mShapeWidth |
double | mShapeHeight |
Additional Inherited Members | |
![]() | |
void | rotationChanged (double newRotation) |
Is emitted on rotation change to notify north arrow pictures. | |
void | itemChanged () |
Used e.g. | |
![]() | |
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. | |
![]() | |
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. |
A composer items that draws common shapes (ellipse, triangle, rectangle)
Definition at line 24 of file qgscomposershape.h.
Definition at line 29 of file qgscomposershape.h.
QgsComposerShape::QgsComposerShape | ( | QgsComposition * | composition | ) |
Definition at line 21 of file qgscomposershape.cpp.
References initGraphicsSettings().
QgsComposerShape::QgsComposerShape | ( | qreal | x, |
qreal | y, | ||
qreal | width, | ||
qreal | height, | ||
QgsComposition * | composition | ||
) |
Definition at line 26 of file qgscomposershape.cpp.
References initGraphicsSettings(), mShapeHeight, mShapeWidth, and setSceneRect().
QgsComposerShape::~QgsComposerShape | ( | ) |
Definition at line 34 of file qgscomposershape.cpp.
QColor QgsComposerShape::fillColor | ( | ) | const |
Definition at line 187 of file qgscomposershape.cpp.
References mBrush.
|
private |
Apply default graphics settings.
Definition at line 209 of file qgscomposershape.cpp.
Referenced by QgsComposerShape().
double QgsComposerShape::lineWidth | ( | ) | const |
Definition at line 167 of file qgscomposershape.cpp.
References mPen.
QColor QgsComposerShape::outlineColor | ( | ) | const |
Definition at line 177 of file qgscomposershape.cpp.
References mPen.
void QgsComposerShape::paint | ( | QPainter * | painter, |
const QStyleOptionGraphicsItem * | itemStyle, | ||
QWidget * | pWidget | ||
) |
Reimplementation of QCanvasItem::paint - draw on canvas.
Definition at line 39 of file qgscomposershape.cpp.
References QgsComposerItem::drawBackground(), QgsComposerItem::drawFrame(), QgsComposerItem::drawSelectionBoxes(), Ellipse, mBrush, mPen, QgsComposerItem::mRotation, mShape, mShapeHeight, mShapeWidth, Rectangle, and Triangle.
|
private |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point.
Reimplemented from QgsComposerItem.
|
virtual |
sets state from Dom document
itemElem | is Dom node corresponding to item tag |
doc | is Dom document |
Implements QgsComposerItem.
Definition at line 108 of file qgscomposershape.cpp.
References QgsComposerItem::_readXML(), QgsComposerItem::itemChanged(), mBrush, mPen, mShape, mShapeHeight, and mShapeWidth.
void QgsComposerShape::setFillColor | ( | const QColor & | color | ) |
Definition at line 182 of file qgscomposershape.cpp.
References mBrush.
void QgsComposerShape::setLineWidth | ( | double | width | ) |
Definition at line 162 of file qgscomposershape.cpp.
References mPen.
void QgsComposerShape::setOutlineColor | ( | const QColor & | color | ) |
Definition at line 172 of file qgscomposershape.cpp.
References mPen.
|
virtualslot |
Sets item rotation and resizes item bounds such that the shape always has the same size.
Reimplemented from QgsComposerItem.
Definition at line 222 of file qgscomposershape.cpp.
References mShapeHeight, mShapeWidth, setSceneRect(), and QgsComposerItem::sizeChangedByRotation().
|
virtual |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit.
Also, the shape is scaled
Reimplemented from QgsComposerItem.
Definition at line 237 of file qgscomposershape.cpp.
References QgsComposerItem::imageSizeConsideringRotation(), mShapeHeight, and mShapeWidth.
Referenced by QgsComposerShape(), and setRotation().
|
inline |
Definition at line 66 of file qgscomposershape.h.
void QgsComposerShape::setTransparentFill | ( | bool | transparent | ) |
Definition at line 197 of file qgscomposershape.cpp.
References mBrush.
|
inline |
Definition at line 65 of file qgscomposershape.h.
bool QgsComposerShape::transparentFill | ( | ) | const |
Definition at line 192 of file qgscomposershape.cpp.
References mBrush.
|
inlinevirtual |
return correct graphics item type.
Added in v1.7
Reimplemented from QgsComposerItem.
Definition at line 41 of file qgscomposershape.h.
References QgsComposerItem::ComposerShape.
|
virtual |
stores state in Dom element
elem | is Dom element corresponding to 'Composer' tag |
doc | write template file |
Implements QgsComposerItem.
Definition at line 84 of file qgscomposershape.cpp.
References QgsComposerItem::_writeXML(), mBrush, mPen, mShape, mShapeHeight, and mShapeWidth.
|
private |
Shape fill.
Definition at line 85 of file qgscomposershape.h.
Referenced by fillColor(), initGraphicsSettings(), paint(), readXML(), setFillColor(), setTransparentFill(), transparentFill(), and writeXML().
|
private |
Shape outline.
Definition at line 83 of file qgscomposershape.h.
Referenced by initGraphicsSettings(), lineWidth(), outlineColor(), paint(), readXML(), setLineWidth(), setOutlineColor(), and writeXML().
|
private |
Ellipse, rectangle or triangle.
Definition at line 81 of file qgscomposershape.h.
Referenced by paint(), readXML(), and writeXML().
|
private |
Definition at line 87 of file qgscomposershape.h.
Referenced by paint(), QgsComposerShape(), readXML(), setRotation(), setSceneRect(), and writeXML().
|
private |
Definition at line 86 of file qgscomposershape.h.
Referenced by paint(), QgsComposerShape(), readXML(), setRotation(), setSceneRect(), and writeXML().