QGIS API Documentation  2.3.0-Master
 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 Referenceabstract

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. More...
 
virtual void setItemRotation (double r, bool adjustPosition=false)
 Sets the item rotation. More...
 
void repaint ()
 

Signals

void itemRotationChanged (double newRotation)
 Is emitted on item rotation change. More...
 
void itemChanged ()
 Used e.g. More...
 
void sizeChanged ()
 Emitted if the rectangle changes. More...
 
void frameChanged ()
 Emitted if the item's frame style changes. More...
 

Public Member Functions

 QgsComposerItem (QgsComposition *composition, bool manageZValue=true)
 Constructor. More...
 
 QgsComposerItem (qreal x, qreal y, qreal width, qreal height, QgsComposition *composition, bool manageZValue=true)
 Constructor with box position and composer object. More...
 
virtual ~QgsComposerItem ()
 
virtual int type () const
 return correct graphics item type. More...
 
virtual void setSelected (bool s)
 Set selected, selected item should be highlighted. More...
 
virtual bool selected () const
 Is selected. More...
 
virtual bool writeSettings ()
 stores state in project More...
 
virtual bool readSettings ()
 read state from project More...
 
virtual bool removeSettings ()
 delete settings from project file More...
 
void move (double dx, double dy)
 Moves item in canvas coordinates. More...
 
virtual void moveContent (double dx, double dy)
 Move Content of item. More...
 
virtual void zoomContent (int delta, double x, double y)
 Zoom content of item. More...
 
void setItemPosition (double x, double y, ItemPositionMode itemPoint=UpperLeft)
 Moves the item to a new position (in canvas coordinates) More...
 
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. More...
 
ItemPositionMode lastUsedPositionMode ()
 Returns item's last used position mode. More...
 
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. More...
 
virtual bool writeXML (QDomElement &elem, QDomDocument &doc) const =0
 stores state in Dom element More...
 
bool _writeXML (QDomElement &itemElem, QDomDocument &doc) const
 Writes parameter that are not subclass specific in document. More...
 
virtual bool readXML (const QDomElement &itemElem, const QDomDocument &doc)=0
 sets state from Dom document More...
 
bool _readXML (const QDomElement &itemElem, const QDomDocument &doc)
 Reads parameter that are not subclass specific in document. More...
 
bool hasFrame () const
 Whether this item has a frame or not. More...
 
void setFrameEnabled (bool drawFrame)
 Set whether this item has a frame drawn around it or not. More...
 
virtual void setFrameOutlineWidth (double outlineWidth)
 Sets frame outline width. More...
 
Qt::PenJoinStyle frameJoinStyle () const
 Returns the join style used for drawing the item's frame. More...
 
void setFrameJoinStyle (Qt::PenJoinStyle style)
 Sets join style used when drawing the item's frame. More...
 
virtual double estimatedFrameBleed () const
 Returns the estimated amount the item's frame bleeds outside the item's actual rectangle. More...
 
virtual QRectF rectWithFrame () const
 Returns the item's rectangular bounds, including any bleed caused by the item's frame. More...
 
bool hasBackground () const
 Whether this item has a Background or not. More...
 
void setBackgroundEnabled (bool drawBackground)
 Set whether this item has a Background drawn around it or not. More...
 
QColor backgroundColor () const
 Gets the background color for this item. More...
 
void setBackgroundColor (const QColor &backgroundColor)
 Sets the background color for this item. More...
 
QPainter::CompositionMode blendMode () const
 Returns the item's composition blending mode. More...
 
void setBlendMode (QPainter::CompositionMode blendMode)
 Sets the item's composition blending mode. More...
 
int transparency () const
 Returns the item's transparency. More...
 
void setTransparency (int transparency)
 Sets the item's transparency. More...
 
bool effectsEnabled () const
 Returns true if effects (eg blend modes) are enabled for the item. More...
 
void setEffectsEnabled (bool effectsEnabled)
 Sets whether effects (eg blend modes) are enabled for the item. More...
 
virtual void addItem (QgsComposerItem *item)
 Composite operations for item groups do nothing per default. More...
 
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. More...
 
virtual void endItemCommand ()
 
void endCommand ()
 Finish current command and push it onto the undo stack. More...
 
void cancelCommand ()
 
void drawText (QPainter *p, double x, double y, const QString &text, const QFont &font) const
 Draws Text. More...
 
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. More...
 
double textWidthMillimeters (const QFont &font, const QString &text) const
 Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. More...
 
double fontHeightCharacterMM (const QFont &font, const QChar &c) const
 Returns the font height of a character in millimeters. More...
 
double fontAscentMillimeters (const QFont &font) const
 Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. More...
 
double fontDescentMillimeters (const QFont &font) const
 Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. More...
 
double pixelFontSize (double pointSize) const
 Calculates font to from point size to pixel size. More...
 
QFont scaledFontPixelSize (const QFont &font) const
 Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE. More...
 
void setPositionLock (bool lock)
 Locks / unlocks the item position for mouse drags. More...
 
bool positionLock () const
 Returns position lock for mouse drags (true means locked) More...
 
double itemRotation () const
 Returns the rotation for the composer item. More...
 
double rotation () const
 Returns the rotation for the composer item. More...
 
virtual void updateItem ()
 Updates item, with the possibility to do custom update for subclasses. More...
 
QString id () const
 Get item's id (which is not necessarly unique) More...
 
virtual void setId (const QString &id)
 Set item's id (which is not necessarly unique) More...
 
QString uuid () const
 Get item identification name. More...
 
virtual int numberExportLayers () const
 Get the number of layers that this item requires for exporting as layers. More...
 
virtual void setCurrentExportLayer (int layerIdx=-1)
 Sets the current layer to draw for exporting. More...
 

Protected Member Functions

virtual void drawSelectionBoxes (QPainter *p)
 Draw selection boxes around item. More...
 
virtual void drawFrame (QPainter *p)
 Draw black frame around item. More...
 
virtual void drawBackground (QPainter *p)
 Draw background. More...
 
void drawArrowHead (QPainter *p, double x, double y, double angle, double arrowHeadWidth) const
 Draws arrowhead. More...
 
double angle (const QPointF &p1, const QPointF &p2) const
 Returns angle of the line from p1 to p2 (clockwise, starting at N) More...
 
double rectHandlerBorderTolerance () const
 Returns the current (zoom level dependent) tolerance to decide if mouse position is close enough to the item border for resizing. More...
 
double lockSymbolSize () const
 Returns the size of the lock symbol depending on the composer zoom level and the item size. More...
 
double horizontalViewScaleFactor () const
 Returns the zoom factor of the graphics view. More...
 
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. More...
 
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. More...
 
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. More...
 
bool cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height, double rotation) const
 Calculates corner point after rotation and scaling. More...
 
bool cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height) const
 Calculates corner point after rotation and scaling. More...
 
void sizeChangedByRotation (double &width, double &height, double rotation)
 Calculates width / height of the bounding box of a rotated rectangle. More...
 
void sizeChangedByRotation (double &width, double &height)
 Calculates width / height of the bounding box of a rotated rectangle. More...
 
void rotate (double angle, double &x, double &y) const
 Rotates a point / vector. More...
 
QGraphicsLineItem * hAlignSnapItem ()
 Return horizontal align snap item. More...
 
void deleteHAlignSnapItem ()
 
QGraphicsLineItem * vAlignSnapItem ()
 Return vertical align snap item. More...
 
void deleteVAlignSnapItem ()
 
void deleteAlignItems ()
 

Protected Attributes

QgsCompositionmComposition
 
QgsComposerItem::MouseMoveAction mCurrentMouseMoveAction
 
QPointF mMouseMoveStartPos
 Start point of the last mouse move action (in scene coordinates) More...
 
QPointF mLastMouseEventPos
 Position of the last mouse move event (in scene coordinates) More...
 
QGraphicsRectItem * mBoundingResizeRectangle
 Rectangle used during move and resize actions. More...
 
QGraphicsLineItem * mHAlignSnapItem
 
QGraphicsLineItem * mVAlignSnapItem
 
bool mFrame
 True if item fram needs to be painted. More...
 
bool mBackground
 True if item background needs to be painted. More...
 
QColor mBackgroundColor
 Background color. More...
 
Qt::PenJoinStyle mFrameJoinStyle
 Frame join style. More...
 
bool mItemPositionLocked
 True if item position and size cannot be changed with mouse move. More...
 
double mLastValidViewScaleFactor
 Backup to restore item appearance if no view scale factor is available. More...
 
double mItemRotation
 Item rotation in degrees, clockwise. More...
 
QPainter::CompositionMode mBlendMode
 Composition blend mode for item. More...
 
bool mEffectsEnabled
 
QgsComposerEffectmEffect
 
int mTransparency
 Item transparency. More...
 
ItemPositionMode mLastUsedPositionMode
 The item's position mode. More...
 
int mCurrentExportLayer
 The layer that needs to be exported. More...
 

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 74 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 283 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 714 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 253 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 408 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 289 of file qgscomposeritem.h.

Referenced by QgsComposition::removeComposerItem().

QPainter::CompositionMode QgsComposerItem::blendMode ( ) const
inline

Returns the item's composition blending mode.

Definition at line 263 of file qgscomposeritem.h.

Referenced by setBlendMode(), QgsComposerMap::setGridBlendMode(), and QgsComposerMap::setOverviewBlendMode().

void QgsComposerItem::cancelCommand ( )

Definition at line 424 of file qgscomposeritem.cpp.

References QgsComposition::cancelCommand(), and mComposition.

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

Definition at line 287 of file qgscomposeritem.h.

bool QgsComposerItem::cornerPointOnRotatedAndScaledRect ( double &  x,
double &  y,
double  width,
double  height,
double  rotation 
) const
protected
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

Definition at line 963 of file qgscomposeritem.cpp.

References cornerPointOnRotatedAndScaledRect(), and mItemRotation.

void QgsComposerItem::deleteAlignItems ( )
protected

Definition at line 1103 of file qgscomposeritem.cpp.

References deleteHAlignSnapItem(), and deleteVAlignSnapItem().

Referenced by ~QgsComposerItem().

void QgsComposerItem::deleteHAlignSnapItem ( )
protected

Definition at line 1083 of file qgscomposeritem.cpp.

References mHAlignSnapItem.

Referenced by deleteAlignItems().

void QgsComposerItem::deleteVAlignSnapItem ( )
protected

Definition at line 1093 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 636 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 622 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 276 of file qgscomposeritem.h.

Referenced by setEffectsEnabled().

void QgsComposerItem::endCommand ( )

Finish current command and push it onto the undo stack.

Definition at line 416 of file qgscomposeritem.cpp.

References QgsComposition::endCommand(), and mComposition.

virtual void QgsComposerItem::endItemCommand ( )
inlinevirtual

Reimplemented in QgsComposerFrame.

Definition at line 296 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 392 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 694 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 680 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::createDefaultShapeStyleSymbol(), QgsComposerShape::refreshSymbol(), setFrameEnabled(), setFrameJoinStyle(), and setFrameOutlineWidth().

Qt::PenJoinStyle QgsComposerItem::frameJoinStyle ( ) const
inline

Returns the join style used for drawing the item's frame.

Returns
Join style for outline frame
Note
introduced in 2.3
See Also
hasFrame
setFrameJoinStyle

Definition at line 206 of file qgscomposeritem.h.

QGraphicsLineItem * QgsComposerItem::hAlignSnapItem ( )
protected

Return horizontal align snap item.

Creates a new graphics line if 0

Definition at line 1059 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 239 of file qgscomposeritem.h.

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

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(), QgsComposerMap::numberExportLayers(), QgsComposerShape::readXML(), and QgsComposerMap::shouldDrawPart().

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

Definition at line 353 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 899 of file qgscomposeritem.cpp.

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

Referenced by QgsComposerPicture::imageSizeConsideringRotation(), QgsComposerMap::imageSizeConsideringRotation(), and 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

Definition at line 822 of file qgscomposeritem.cpp.

References imageSizeConsideringRotation(), and mItemRotation.

void QgsComposerItem::init ( bool  manageZValue)
private

Definition at line 100 of file qgscomposeritem.cpp.

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

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 340 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 828 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 769 of file qgscomposeritem.cpp.

References horizontalViewScaleFactor().

Referenced by drawSelectionBoxes().

void QgsComposerItem::move ( double  dx,
double  dy 
)

Moves item in canvas coordinates.

Definition at line 478 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().

virtual int QgsComposerItem::numberExportLayers ( ) const
inlinevirtual

Get the number of layers that this item requires for exporting as layers.

Returns
0 if this item is to be placed on the same layer as the previous item, 1 if it should be placed on its own layer, and >1 if it requires multiple export layers
Note
this method was added in version 2.4

Reimplemented in QgsComposerMap.

Definition at line 369 of file qgscomposeritem.h.

double QgsComposerItem::pixelFontSize ( double  pointSize) const

Calculates font to from point size to pixel size.

Definition at line 701 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 336 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 141 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 751 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 402 of file qgscomposeritem.cpp.

References estimatedFrameBleed().

Referenced by QgsComposerMouseHandles::collectAlignCoordinates().

virtual void QgsComposerItem::removeItems ( )
inlinevirtual

Reimplemented in QgsComposerItemGroup.

Definition at line 284 of file qgscomposeritem.h.

bool QgsComposerItem::removeSettings ( void  )
virtual

delete settings from project file

Definition at line 143 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 1049 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

Definition at line 346 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 706 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 583 of file qgscomposeritem.cpp.

References backgroundColor(), and mBackgroundColor.

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

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 247 of file qgscomposeritem.h.

void QgsComposerItem::setBlendMode ( QPainter::CompositionMode  blendMode)

Sets the item's composition blending mode.

Definition at line 589 of file qgscomposeritem.cpp.

References blendMode(), mBlendMode, mEffect, and QgsComposerEffect::setCompositionMode().

Referenced by _readXML().

virtual void QgsComposerItem::setCurrentExportLayer ( int  layerIdx = -1)
inlinevirtual

Sets the current layer to draw for exporting.

Parameters
layerIdxcan be set to -1 to draw all item layers, and must be less than numberExportLayers()
Note
this method was added in version 2.4

Definition at line 375 of file qgscomposeritem.h.

void QgsComposerItem::setEffectsEnabled ( bool  effectsEnabled)

Sets whether effects (eg blend modes) are enabled for the item.

Note
introduced in 2.0

Definition at line 603 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 358 of file qgscomposeritem.cpp.

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

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

void QgsComposerItem::setFrameJoinStyle ( Qt::PenJoinStyle  style)

Sets join style used when drawing the item's frame.

Parameters
styleJoin style for outline frame
Returns
nothing
Note
introduced in 2.3
See Also
setFrameEnabled
frameJoinStyle

Definition at line 377 of file qgscomposeritem.cpp.

References frameChanged(), and mFrameJoinStyle.

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

References frameChanged(), and outlineWidth.

Referenced by QgsComposerMap::setFrameOutlineWidth().

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 1114 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 484 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 491 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 791 of file qgscomposeritem.cpp.

References itemRotationChanged(), mItemRotation, 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 473 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 784 of file qgscomposeritem.cpp.

References 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 596 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 1012 of file qgscomposeritem.cpp.

References rotate().

Referenced by QgsComposerPicture::sizeChangedByRotation(), QgsComposerMap::sizeChangedByRotation(), and 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

Definition at line 1006 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 269 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 349 of file qgscomposeritem.h.

Referenced by QgsComposerMap::updateItem().

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

References mVAlignSnapItem.

bool QgsComposerItem::writeSettings ( void  )
virtual

stores state in project

Definition at line 139 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 541 of file qgscomposeritem.h.

Member Data Documentation

bool QgsComposerItem::mBackground
protected

True if item background needs to be painted.

Definition at line 411 of file qgscomposeritem.h.

Referenced by _readXML(), _writeXML(), QgsComposerShape::drawBackground(), and drawBackground().

QColor QgsComposerItem::mBackgroundColor
protected

Background color.

Definition at line 413 of file qgscomposeritem.h.

Referenced by setBackgroundColor().

QPainter::CompositionMode QgsComposerItem::mBlendMode
protected

Composition blend mode for item.

Definition at line 428 of file qgscomposeritem.h.

Referenced by _writeXML(), and setBlendMode().

QGraphicsRectItem* QgsComposerItem::mBoundingResizeRectangle
protected

Rectangle used during move and resize actions.

Definition at line 404 of file qgscomposeritem.h.

Referenced by ~QgsComposerItem().

QgsComposition* QgsComposerItem::mComposition
protected

Definition at line 395 of file qgscomposeritem.h.

Referenced by QgsComposerMap::assignFreeId(), beginCommand(), QgsComposerFrame::beginItemCommand(), QgsPaperItem::calculatePageMargin(), cancelCommand(), QgsComposerMap::composerMapPosForItem(), QgsComposerMap::containsAdvancedEffects(), QgsComposerMap::containsWMSLayer(), QgsComposerMap::currentMapExtent(), QgsComposerLabel::displayText(), QgsComposerMap::draw(), QgsComposerItemGroup::drawFrame(), QgsComposerMap::drawGridLine(), QgsComposerMap::drawOverviewMapExtent(), drawSelectionBoxes(), QgsComposerShape::drawShapeUsingSymbol(), QgsComposerArrow::drawSVGMarker(), endCommand(), QgsComposerFrame::endItemCommand(), QgsComposerAttributeTable::getFeatureAttributes(), QgsComposerLabel::htmlUnitsToMM(), init(), QgsComposerMap::initGridAnnotationFormatFromProject(), QgsPaperItem::initialize(), QgsComposerLegend::layerIdList(), QgsComposerMap::layersToRender(), QgsComposerMap::mapRenderer(), QgsComposerScaleBar::mapWidth(), QgsComposerMap::overviewExtentChanged(), QgsComposerLabel::paint(), QgsComposerTable::paint(), QgsPaperItem::paint(), QgsComposerMap::paint(), QgsComposerLabel::QgsComposerLabel(), QgsComposerMap::QgsComposerMap(), QgsComposerItemGroup::readXML(), QgsComposerPicture::readXML(), QgsComposerLegend::readXML(), QgsComposerScaleBar::readXML(), QgsComposerMap::scale(), QgsComposerMap::setOverviewFrameMap(), QgsComposerPicture::setRotationMap(), QgsComposerMap::storeCurrentLayerSet(), QgsComposerMap::syncLayerSet(), ~QgsComposerItem(), and QgsComposerItemGroup::~QgsComposerItemGroup().

int QgsComposerItem::mCurrentExportLayer
protected

The layer that needs to be exported.

Note
: if -1, all layers are to be exported
: this member was added in version 2.4

Definition at line 442 of file qgscomposeritem.h.

Referenced by QgsComposerMap::draw(), and QgsComposerMap::shouldDrawPart().

QgsComposerItem::MouseMoveAction QgsComposerItem::mCurrentMouseMoveAction
protected

Definition at line 397 of file qgscomposeritem.h.

QgsComposerEffect* QgsComposerItem::mEffect
protected

Definition at line 430 of file qgscomposeritem.h.

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

bool QgsComposerItem::mEffectsEnabled
protected

Definition at line 429 of file qgscomposeritem.h.

Referenced by setEffectsEnabled().

bool QgsComposerItem::mFrame
protected
Qt::PenJoinStyle QgsComposerItem::mFrameJoinStyle
protected

Frame join style.

Definition at line 415 of file qgscomposeritem.h.

Referenced by _readXML(), _writeXML(), init(), and setFrameJoinStyle().

QGraphicsLineItem* QgsComposerItem::mHAlignSnapItem
protected

Definition at line 405 of file qgscomposeritem.h.

Referenced by deleteHAlignSnapItem(), and hAlignSnapItem().

QString QgsComposerItem::mId
private

Definition at line 533 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 419 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 401 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 437 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 422 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 399 of file qgscomposeritem.h.

QString QgsComposerItem::mTemplateUuid
private

Definition at line 537 of file qgscomposeritem.h.

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

int QgsComposerItem::mTransparency
protected

Item transparency.

Definition at line 433 of file qgscomposeritem.h.

Referenced by _writeXML(), and setTransparency().

QString QgsComposerItem::mUuid
private

Definition at line 535 of file qgscomposeritem.h.

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

QGraphicsLineItem* QgsComposerItem::mVAlignSnapItem
protected

Definition at line 406 of file qgscomposeritem.h.

Referenced by deleteVAlignSnapItem(), and vAlignSnapItem().


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