QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
QgsComposerItem Class Reference

A item that forms part of a map composition. More...

#include <qgscomposeritem.h>

Inheritance diagram for QgsComposerItem:
Inheritance graph
[legend]
Collaboration diagram for QgsComposerItem:
Collaboration graph
[legend]

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 QgsCompositioncomposition () const
QgsCompositioncomposition ()
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

QgsCompositionmComposition
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
QgsComposerEffectmEffect
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

Detailed Description

A item that forms part of a map composition.

Definition at line 36 of file qgscomposeritem.h.

Member Enumeration Documentation

Enumerator:
UpperLeft 
UpperMiddle 
UpperRight 
MiddleLeft 
Middle 
MiddleRight 
LowerLeft 
LowerMiddle 
LowerRight 

Definition at line 77 of file qgscomposeritem.h.

Enumerator:
ComposerItem 
ComposerArrow 
ComposerItemGroup 
ComposerLabel 
ComposerLegend 
ComposerMap 
ComposerPaper 
ComposerPicture 
ComposerScaleBar 
ComposerShape 
ComposerTable 
ComposerAttributeTable 
ComposerTextTable 
ComposerFrame 

Definition at line 41 of file qgscomposeritem.h.

Describes the action (move or resize in different directon) to be done during mouse move.

Enumerator:
MoveItem 
ResizeUp 
ResizeDown 
ResizeLeft 
ResizeRight 
ResizeLeftUp 
ResizeRightUp 
ResizeLeftDown 
ResizeRightDown 
NoAction 

Definition at line 63 of file qgscomposeritem.h.

Constructor & Destructor Documentation

QgsComposerItem::QgsComposerItem ( QgsComposition composition,
bool  manageZValue = true 
)

Constructor.

Parameters
compositionparent composition
manageZValuetrue 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.

Parameters
xx coordinate of item
yy coordinate of item
widthwidth of item
heightheight of item
compositionparent composition
manageZValuetrue if the z-Value of this object should be managed by mComposition

Definition at line 72 of file qgscomposeritem.cpp.

References init().

QgsComposerItem::~QgsComposerItem ( )
virtual

Member Function Documentation

bool QgsComposerItem::_readXML ( const QDomElement &  itemElem,
const QDomDocument &  doc 
)
bool QgsComposerItem::_writeXML ( QDomElement &  itemElem,
QDomDocument &  doc 
) const
virtual void QgsComposerItem::addItem ( QgsComposerItem item)
inlinevirtual

Composite operations for item groups do nothing per default.

Reimplemented in QgsComposerItemGroup.

Definition at line 267 of file qgscomposeritem.h.

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 695 of file qgscomposeritem.cpp.

References M_PI.

Referenced by QgsComposerArrow::drawHardcodedMarker(), and QgsComposerArrow::drawSVGMarker().

QColor QgsComposerItem::backgroundColor ( ) const
inline

Gets the background color for this item.

Returns
background color
Note
introduced in 2.0

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.

Parameters
commandTextcommand title
ccontext 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().

virtual void QgsComposerItem::beginItemCommand ( const QString &  text)
inlinevirtual

Reimplemented in QgsComposerFrame.

Definition at line 273 of file qgscomposeritem.h.

Referenced by QgsComposition::removeComposerItem().

QPainter::CompositionMode QgsComposerItem::blendMode ( ) const
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.

const QgsComposition* QgsComposerItem::composition ( ) const
inline
QgsComposition* QgsComposerItem::composition ( )
inline

Definition at line 271 of file qgscomposeritem.h.

bool QgsComposerItem::cornerPointOnRotatedAndScaledRect ( double &  x,
double &  y,
double  width,
double  height,
double  rotation 
) const
protected

Calculates corner point after rotation and scaling.

Definition at line 950 of file qgscomposeritem.cpp.

References M_PI.

Referenced by cornerPointOnRotatedAndScaledRect(), and imageSizeConsideringRotation().

bool QgsComposerItem::cornerPointOnRotatedAndScaledRect ( double &  x,
double &  y,
double  width,
double  height 
) const
protected

Calculates corner point after rotation and scaling.

Deprecated:
Use bool cornerPointOnRotatedAndScaledRect( double& x, double& y, double width, double height, double rotation ) instead

Reimplemented in QgsComposerMap, and QgsComposerPicture.

Definition at line 944 of file qgscomposeritem.cpp.

References cornerPointOnRotatedAndScaledRect(), and mItemRotation.

void QgsComposerItem::deleteAlignItems ( )
protected

Definition at line 1084 of file qgscomposeritem.cpp.

References deleteHAlignSnapItem(), and deleteVAlignSnapItem().

Referenced by ~QgsComposerItem().

void QgsComposerItem::deleteHAlignSnapItem ( )
protected

Definition at line 1064 of file qgscomposeritem.cpp.

References mHAlignSnapItem.

Referenced by deleteAlignItems().

void QgsComposerItem::deleteVAlignSnapItem ( )
protected

Definition at line 1074 of file qgscomposeritem.cpp.

References mVAlignSnapItem.

Referenced by deleteAlignItems().

void QgsComposerItem::drawArrowHead ( QPainter *  p,
double  x,
double  y,
double  angle,
double  arrowHeadWidth 
) const
protected

Draws arrowhead.

Definition at line 617 of file qgscomposeritem.cpp.

References M_PI.

Referenced by QgsComposerArrow::drawHardcodedMarker().

void QgsComposerItem::drawBackground ( QPainter *  p)
protectedvirtual
void QgsComposerItem::drawFrame ( QPainter *  p)
protectedvirtual
void QgsComposerItem::drawSelectionBoxes ( QPainter *  p)
protectedvirtual
void QgsComposerItem::drawText ( QPainter *  p,
double  x,
double  y,
const QString &  text,
const QFont &  font 
) const
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().

bool QgsComposerItem::effectsEnabled ( ) const
inline

Returns true if effects (eg blend modes) are enabled for the item.

Note
introduced in 2.0

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.

virtual void QgsComposerItem::endItemCommand ( )
inlinevirtual

Reimplemented in QgsComposerFrame.

Definition at line 280 of file qgscomposeritem.h.

Referenced by QgsComposition::removeComposerItem().

double QgsComposerItem::estimatedFrameBleed ( ) const
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

Note
introduced in 2.2

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
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.

Note
this method was added in version 1.7

Definition at line 661 of file qgscomposeritem.cpp.

References FONT_WORKAROUND_SCALE, and scaledFontPixelSize().

Referenced by QgsComposerMap::drawCoordinateAnnotation(), and QgsComposerLegend::drawSymbolItem().

void QgsComposerItem::frameChanged ( )
signal

Emitted if the item's frame style changes.

Note
: this function was introduced in version 2.2

Referenced by QgsComposerShape::refreshSymbol(), setFrameEnabled(), setFrameOutlineWidth(), and QgsComposerShape::setShapeStyleSymbol().

QGraphicsLineItem * QgsComposerItem::hAlignSnapItem ( )
protected

Return horizontal align snap item.

Creates a new graphics line if 0

Definition at line 1040 of file qgscomposeritem.cpp.

References mHAlignSnapItem.

bool QgsComposerItem::hasBackground ( ) const
inline

Whether this item has a Background or not.

Returns
true if there is a Background around this item, otherwise false.
Note
introduced since 2.0
See Also
hasBackground

Definition at line 223 of file qgscomposeritem.h.

Referenced by QgsComposerMap::cache(), and QgsComposerShape::readXML().

bool QgsComposerItem::hasFrame ( ) const
inline

Whether this item has a frame or not.

Returns
true if there is a frame around this item, otherwise false.
Note
introduced since 1.8
See Also
hasFrame

Definition at line 182 of file qgscomposeritem.h.

Referenced by estimatedFrameBleed(), and QgsComposerShape::readXML().

double QgsComposerItem::horizontalViewScaleFactor ( ) const
protected

Returns the zoom factor of the graphics view.

Returns
the factor or -1 in case of error (e.g. graphic view does not exist)
Note
: this function was introduced in version 1.2

Definition at line 713 of file qgscomposeritem.cpp.

References mLastValidViewScaleFactor.

Referenced by QgsComposerMap::cache(), QgsComposerShape::drawShapeUsingSymbol(), QgsComposerArrow::drawSVGMarker(), lockSymbolSize(), QgsPaperItem::paint(), and rectHandlerBorderTolerance().

QString QgsComposerItem::id ( ) const
inline

Get item's id (which is not necessarly unique)

Note
this method was added in version 1.7

Reimplemented in QgsComposerMap.

Definition at line 337 of file qgscomposeritem.h.

Referenced by QgsComposerMap::draw(), QgsComposition::getComposerItemById(), and setId().

bool QgsComposerItem::imageSizeConsideringRotation ( double &  width,
double &  height,
double  rotation 
) 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 880 of file qgscomposeritem.cpp.

References cornerPointOnRotatedAndScaledRect(), QgsSymbolLayerV2Utils::pointOnLineWithDistance(), and qgsDoubleNear().

Referenced by imageSizeConsideringRotation().

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.

Deprecated:
Use bool imageSizeConsideringRotation( double& width, double& height, double rotation ) instead

Reimplemented in QgsComposerMap, and QgsComposerPicture.

Definition at line 803 of file qgscomposeritem.cpp.

References imageSizeConsideringRotation(), and mItemRotation.

void QgsComposerItem::init ( bool  manageZValue)
private

Definition at line 96 of file qgscomposeritem.cpp.

References QgsComposition::addItemToZList(), mComposition, and mEffect.

Referenced by QgsComposerItem().

void QgsComposerItem::itemChanged ( )
signal
double QgsComposerItem::itemRotation ( ) const
inline

Returns the rotation for the composer item.

Note
this method was added in version 2.1

Definition at line 324 of file qgscomposeritem.h.

Referenced by QgsComposerItemGroup::addItem().

void QgsComposerItem::itemRotationChanged ( double  newRotation)
signal

Is emitted on item rotation change.

Referenced by setItemRotation().

QRectF QgsComposerItem::largestRotatedRectWithinBounds ( QRectF  originalRect,
QRectF  boundsRect,
double  rotation 
) const
protected

Calculates the largest scaled version of originalRect which fits within boundsRect, when it is rotated by a specified amount.

Parameters
originalRectQRectF to be rotated and scaled
boundsRectQRectF specifying the bounds which the rotated and scaled rectangle must fit within
rotationthe 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().

ItemPositionMode QgsComposerItem::lastUsedPositionMode ( )
inline

Returns item's last used position mode.

Note
: This property has no effect on actual's item position, which is always the top-left corner.
: this method was added in version 2.0

Definition at line 153 of file qgscomposeritem.h.

double QgsComposerItem::lockSymbolSize ( ) const
protected

Returns the size of the lock symbol depending on the composer zoom level and the item size.

Note
: this function was introduced in version 1.2

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().

virtual void QgsComposerItem::moveContent ( double  dx,
double  dy 
)
inlinevirtual

Move Content of item.

Does nothing per default (but implemented in composer map)

Parameters
dxmove in x-direction (canvas coordinates)
dymove 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().

bool QgsComposerItem::positionLock ( ) const
inline

Returns position lock for mouse drags (true means locked)

Note
this method was added in version 1.2

Definition at line 320 of file qgscomposeritem.h.

Referenced by _readXML(), QgsComposerView::endMarqueeSelect(), QgsComposerView::mousePressEvent(), QgsComposerView::selectAll(), QgsComposerView::selectInvert(), and QgsComposition::unlockAllItems().

bool QgsComposerItem::readSettings ( void  )
virtual

read state from project

Definition at line 137 of file qgscomposeritem.cpp.

virtual bool QgsComposerItem::readXML ( const QDomElement &  itemElem,
const QDomDocument &  doc 
)
pure virtual
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 732 of file qgscomposeritem.cpp.

References horizontalViewScaleFactor().

QRectF QgsComposerItem::rectWithFrame ( ) const
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.

Note
introduced in 2.2
See Also
estimatedFrameBleed

Definition at line 383 of file qgscomposeritem.cpp.

References estimatedFrameBleed().

Referenced by QgsComposerMouseHandles::collectAlignCoordinates().

virtual void QgsComposerItem::removeItems ( )
inlinevirtual

Reimplemented in QgsComposerItemGroup.

Definition at line 268 of file qgscomposeritem.h.

bool QgsComposerItem::removeSettings ( void  )
virtual

delete settings from project file

Definition at line 139 of file qgscomposeritem.cpp.

void QgsComposerItem::repaint ( )
slot
void QgsComposerItem::rotate ( double  angle,
double &  x,
double &  y 
) const
protected

Rotates a point / vector.

Parameters
anglerotation angle in degrees, counterclockwise
xin/out: x coordinate before / after the rotation
yin/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().

double QgsComposerItem::rotation ( ) const
inline

Returns the rotation for the composer item.

Deprecated:
Use itemRotation() instead

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().

virtual bool QgsComposerItem::selected ( ) const
inlinevirtual
void QgsComposerItem::setBackgroundColor ( const QColor &  backgroundColor)

Sets the background color for this item.

Parameters
backgroundColornew background color
Returns
nothing
Note
introduced in 2.0

Definition at line 564 of file qgscomposeritem.cpp.

References backgroundColor(), and mBackgroundColor.

Referenced by _readXML().

void QgsComposerItem::setBackgroundEnabled ( bool  drawBackground)
inline

Set whether this item has a Background drawn around it or not.

Parameters
drawBackgrounddraw Background
Returns
nothing
Note
introduced in 2.0
See Also
hasBackground

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.

Note
introduced in 2.0

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.

Parameters
drawFramedraw frame
Returns
nothing
Note
introduced in 1.8
See Also
hasFrame

Definition at line 354 of file qgscomposeritem.cpp.

References drawFrame(), frameChanged(), and mFrame.

Referenced by QgsComposerShape::QgsComposerShape(), and QgsComposerShape::setUseSymbolV2().

void QgsComposerItem::setFrameOutlineWidth ( double  outlineWidth)
virtual

Sets frame outline width.

Parameters
outlineWidthnew width for outline frame
Returns
nothing
Note
introduced in 2.2
See Also
setFrameEnabled

Reimplemented in QgsComposerMap.

Definition at line 360 of file qgscomposeritem.cpp.

References frameChanged(), and outlineWidth.

void QgsComposerItem::setId ( const QString &  id)
virtual

Set item's id (which is not necessarly unique)

Note
this method was added in version 1.7

Definition at line 1095 of file qgscomposeritem.cpp.

References id(), and mId.

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.

Parameters
xitem position x
yitem position y
widthitem width
heightitem height
itemPointitem position mode
posIncludesFrameset to true if the position and size arguments include the item's frame border
Note
: this method was added in version 1.6

Definition at line 472 of file qgscomposeritem.cpp.

References estimatedFrameBleed(), LowerLeft, LowerMiddle, LowerRight, Middle, MiddleLeft, MiddleRight, mItemRotation, mLastUsedPositionMode, setSceneRect(), UpperMiddle, and UpperRight.

void QgsComposerItem::setItemRotation ( double  r,
bool  adjustPosition = false 
)
virtualslot

Sets the item rotation.

Parameters
ritem rotation in degrees
adjustPositionset to true if item should be shifted so that rotation occurs around item center. If false, rotation occurs around item origin
Note
this method was added in version 2.1

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.

Note
this method was added in version 1.2

Definition at line 454 of file qgscomposeritem.cpp.

References mItemPositionLocked.

Referenced by _readXML(), QgsComposerView::mousePressEvent(), and QgsComposition::unlockAllItems().

void QgsComposerItem::setRotation ( double  r)
virtualslot

Sets the item rotation.

Deprecated:
Use setItemRotation( double rotation ) instead

Reimplemented in QgsComposerMap.

Definition at line 765 of file qgscomposeritem.cpp.

References setItemRotation().

Referenced by setItemRotation().

void QgsComposerItem::setSceneRect ( const QRectF &  rectangle)
virtual
void QgsComposerItem::setSelected ( bool  s)
virtual
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().

void QgsComposerItem::sizeChanged ( )
signal

Emitted if the rectangle changes.

Referenced by setItemRotation(), and setSceneRect().

void QgsComposerItem::sizeChangedByRotation ( double &  width,
double &  height,
double  rotation 
)
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().

void QgsComposerItem::sizeChangedByRotation ( double &  width,
double &  height 
)
protected

Calculates width / height of the bounding box of a rotated rectangle.

Deprecated:
Use void sizeChangedByRotation( double& width, double& height, double rotation ) instead

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
int QgsComposerItem::transparency ( ) const
inline

Returns the item's transparency.

Definition at line 253 of file qgscomposeritem.h.

Referenced by setTransparency().

virtual int QgsComposerItem::type ( ) const
inlinevirtual
virtual void QgsComposerItem::updateItem ( )
inlinevirtual

Updates item, with the possibility to do custom update for subclasses.

Reimplemented in QgsComposerMap.

Definition at line 333 of file qgscomposeritem.h.

QString QgsComposerItem::uuid ( ) const
inline

Get item identification name.

Note
this method was added in version 2.0
there is not setter since one can't manually set the id

Definition at line 346 of file qgscomposeritem.h.

Referenced by QgsComposition::getComposerItemByUuid(), and QgsComposerItemGroup::readXML().

QGraphicsLineItem * QgsComposerItem::vAlignSnapItem ( )
protected

Return vertical align snap item.

Creates a new graphics line if 0

Definition at line 1052 of file qgscomposeritem.cpp.

References mVAlignSnapItem.

bool QgsComposerItem::writeSettings ( void  )
virtual

stores state in project

Definition at line 135 of file qgscomposeritem.cpp.

virtual bool QgsComposerItem::writeXML ( QDomElement &  elem,
QDomDocument &  doc 
) const
pure virtual
virtual void QgsComposerItem::zoomContent ( int  delta,
double  x,
double  y 
)
inlinevirtual

Zoom content of item.

Does nothing per default (but implemented in composer map)

Parameters
deltavalue from wheel event that describes magnitude and direction (positive /negative number)
xx-position of mouse cursor (in item coordinates)
yy-position of mouse cursor (in item coordinates)

Reimplemented in QgsComposerMap.

Definition at line 134 of file qgscomposeritem.h.

Friends And Related Function Documentation

friend class QgsComposerItemGroup
friend

Definition at line 505 of file qgscomposeritem.h.

Member Data Documentation

bool QgsComposerItem::mBackground
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().

QColor QgsComposerItem::mBackgroundColor
protected

Background color.

Definition at line 384 of file qgscomposeritem.h.

Referenced by QgsComposerMap::QgsComposerMap(), and setBackgroundColor().

QPainter::CompositionMode QgsComposerItem::mBlendMode
protected

Composition blend mode for item.

Definition at line 397 of file qgscomposeritem.h.

Referenced by _writeXML(), and setBlendMode().

QGraphicsRectItem* QgsComposerItem::mBoundingResizeRectangle
protected

Rectangle used during move and resize actions.

Definition at line 375 of file qgscomposeritem.h.

Referenced by ~QgsComposerItem().

QgsComposition* QgsComposerItem::mComposition
protected
QgsComposerItem::MouseMoveAction QgsComposerItem::mCurrentMouseMoveAction
protected

Definition at line 368 of file qgscomposeritem.h.

QgsComposerEffect* QgsComposerItem::mEffect
protected

Definition at line 399 of file qgscomposeritem.h.

Referenced by init(), setBlendMode(), setEffectsEnabled(), and ~QgsComposerItem().

bool QgsComposerItem::mEffectsEnabled
protected

Definition at line 398 of file qgscomposeritem.h.

Referenced by setEffectsEnabled().

bool QgsComposerItem::mFrame
protected
QGraphicsLineItem* QgsComposerItem::mHAlignSnapItem
protected

Definition at line 376 of file qgscomposeritem.h.

Referenced by deleteHAlignSnapItem(), and hAlignSnapItem().

QString QgsComposerItem::mId
private

Definition at line 497 of file qgscomposeritem.h.

Referenced by _writeXML(), QgsComposerMap::id(), and setId().

bool QgsComposerItem::mItemPositionLocked
protected

True if item position and size cannot be changed with mouse move.

Note
: this member was added in version 1.2

Definition at line 388 of file qgscomposeritem.h.

Referenced by _writeXML(), drawSelectionBoxes(), and setPositionLock().

double QgsComposerItem::mItemRotation
protected
QPointF QgsComposerItem::mLastMouseEventPos
protected

Position of the last mouse move event (in scene coordinates)

Definition at line 372 of file qgscomposeritem.h.

ItemPositionMode QgsComposerItem::mLastUsedPositionMode
protected

The item's position mode.

Note
: this member was added in version 2.0

Definition at line 406 of file qgscomposeritem.h.

Referenced by _readXML(), _writeXML(), and setItemPosition().

double QgsComposerItem::mLastValidViewScaleFactor
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().

QPointF QgsComposerItem::mMouseMoveStartPos
protected

Start point of the last mouse move action (in scene coordinates)

Definition at line 370 of file qgscomposeritem.h.

QString QgsComposerItem::mTemplateUuid
private

Definition at line 501 of file qgscomposeritem.h.

Referenced by _readXML(), and QgsComposerItemGroup::readXML().

int QgsComposerItem::mTransparency
protected

Item transparency.

Definition at line 402 of file qgscomposeritem.h.

Referenced by _writeXML(), and setTransparency().

QString QgsComposerItem::mUuid
private

Definition at line 499 of file qgscomposeritem.h.

Referenced by _readXML(), _writeXML(), and QgsComposerItemGroup::readXML().

QGraphicsLineItem* QgsComposerItem::mVAlignSnapItem
protected

Definition at line 377 of file qgscomposeritem.h.

Referenced by deleteVAlignSnapItem(), and vAlignSnapItem().


The documentation for this class was generated from the following files: