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

Graphics scene for map printing. More...

#include <qgscomposition.h>

Collaboration diagram for QgsComposition:
Collaboration graph
[legend]

Public Types

enum  PlotStyle { Preview = 0, Print, Postscript }
 Plot type. More...
enum  GridStyle { Solid, Dots, Crosses }
 Style to draw the snapping grid. More...

Public Slots

void sendItemAddedSignal (QgsComposerItem *item)
 Casts object to the proper subclass type and calls corresponding itemAdded signal.

Signals

void paperSizeChanged ()
void nPagesChanged ()
void selectedItemChanged (QgsComposerItem *selected)
 Is emitted when selected item changed.
void composerArrowAdded (QgsComposerArrow *arrow)
 Is emitted when new composer arrow has been added to the view.
void composerHtmlFrameAdded (QgsComposerHtml *html, QgsComposerFrame *frame)
 Is emitted when a new composer html has been added to the view.
void composerLabelAdded (QgsComposerLabel *label)
 Is emitted when new composer label has been added to the view.
void composerMapAdded (QgsComposerMap *map)
 Is emitted when new composer map has been added to the view.
void composerScaleBarAdded (QgsComposerScaleBar *scalebar)
 Is emitted when new composer scale bar has been added.
void composerLegendAdded (QgsComposerLegend *legend)
 Is emitted when a new composer legend has been added.
void composerPictureAdded (QgsComposerPicture *picture)
 Is emitted when a new composer picture has been added.
void composerShapeAdded (QgsComposerShape *shape)
 Is emitted when a new composer shape has been added.
void composerTableAdded (QgsComposerAttributeTable *table)
 Is emitted when a new composer table has been added.
void itemRemoved (QgsComposerItem *)
 Is emitted when a composer item has been removed from the scene.

Public Member Functions

 QgsComposition (QgsMapRenderer *mapRenderer)
 ~QgsComposition ()
void setPaperSize (double width, double height)
 Changes size of paper item.
double paperHeight () const
 Returns height of paper item.
double paperWidth () const
 Returns width of paper item.
double spaceBetweenPages () const
void setNumPages (int pages)
 Note: added in version 1.9.
int numPages () const
 Note: added in version 1.9.
void setSnapToGridEnabled (bool b)
bool snapToGridEnabled () const
void setSnapGridResolution (double r)
double snapGridResolution () const
void setSnapGridOffsetX (double offset)
double snapGridOffsetX () const
void setSnapGridOffsetY (double offset)
double snapGridOffsetY () const
void setGridPen (const QPen &p)
const QPen & gridPen () const
void setGridStyle (GridStyle s)
GridStyle gridStyle () const
void setAlignmentSnap (bool s)
bool alignmentSnap () const
void setAlignmentSnapTolerance (double t)
double alignmentSnapTolerance () const
QUndoStack * undoStack ()
 Returns pointer to undo/redo command storage.
QgsComposerItemcomposerItemAt (const QPointF &position)
 Returns the topmost composer item.
int pageNumberAt (const QPointF &position) const
 Returns the page number (0-bsaed) given a coordinate.
int itemPageNumber (const QgsComposerItem *) const
 Returns on which page number (0-based) is displayed an item.
QList< QgsComposerItem * > selectedComposerItems ()
QList< const QgsComposerMap * > composerMapItems () const
 Returns pointers to all composer maps in the scene.
template<class T >
void composerItems (QList< T * > &itemList)
 Return composer items of a specific type.
const QgsComposerMapgetComposerMapById (int id) const
 Returns the composer map with specified id.
const QgsComposerHtmlgetComposerHtmlByItem (QgsComposerItem *item) const
const QgsComposerItemgetComposerItemById (QString theId) const
 Returns a composer item given its text identifier.
const QgsComposerItemgetComposerItemByUuid (QString theUuid) const
 Returns a composer item given its unique identifier.
int printResolution () const
void setPrintResolution (int dpi)
bool printAsRaster () const
void setPrintAsRaster (bool enabled)
bool useAdvancedEffects () const
 Returns true if a composition should use advanced effects such as blend modes.
void setUseAdvancedEffects (bool effectsEnabled)
 Used to enable or disable advanced effects such as blend modes in a composition.
double selectionTolerance () const
void setSelectionTolerance (double tol)
QgsMapRenderermapRenderer ()
 Returns pointer to map renderer of qgis map canvas.
QgsComposition::PlotStyle plotStyle () const
void setPlotStyle (QgsComposition::PlotStyle style)
int pixelFontSize (double pointSize) const
 Returns the pixel font size for a font that has point size set.
double pointFontSize (int pixelSize) const
 Does the inverse calculation and returns points for pixels (equals to mm in QgsComposition)
bool writeXML (QDomElement &composerElem, QDomDocument &doc)
 Writes settings to xml (paper dimension)
bool readXML (const QDomElement &compositionElem, const QDomDocument &doc)
 Reads settings from xml file.
bool loadFromTemplate (const QDomDocument &doc, QMap< QString, QString > *substitutionMap=0, bool addUndoCommands=false)
 Load a template document.
void addItemsFromXML (const QDomElement &elem, const QDomDocument &doc, QMap< QgsComposerMap *, int > *mapsToRestore=0, bool addUndoCommands=false, QPointF *pos=0, bool pasteInPlace=false)
 Add items from XML representation to the graphics scene (for project file reading, pasting items from clipboard)
void addItemToZList (QgsComposerItem *item)
 Adds item to z list.
void removeItemFromZList (QgsComposerItem *item)
 Removes item from z list.
void raiseSelectedItems ()
void raiseItem (QgsComposerItem *item)
void lowerSelectedItems ()
void lowerItem (QgsComposerItem *item)
void moveSelectedItemsToTop ()
void moveItemToTop (QgsComposerItem *item)
void moveSelectedItemsToBottom ()
void moveItemToBottom (QgsComposerItem *item)
void alignSelectedItemsLeft ()
void alignSelectedItemsHCenter ()
void alignSelectedItemsRight ()
void alignSelectedItemsTop ()
void alignSelectedItemsVCenter ()
void alignSelectedItemsBottom ()
void sortZList ()
 Sorts the zList.
QPointF snapPointToGrid (const QPointF &scenePoint) const
 Snaps a scene coordinate point to grid.
QPointF alignItem (const QgsComposerItem *item, double &alignX, double &alignY, double dx=0, double dy=0)
 Snaps item position to align with other items (left / middle / right or top / middle / bottom.
QPointF alignPos (const QPointF &pos, const QgsComposerItem *excludeItem, double &alignX, double &alignY)
 Snaps position to align with the boundaries of other items.
QGraphicsLineItem * addSnapLine ()
 Add a custom snap line (can be horizontal or vertical)
void removeSnapLine (QGraphicsLineItem *line)
 Remove custom snap line (and delete the object)
QGraphicsLineItem * nearestSnapLine (bool horizontal, double x, double y, double tolerance, QList< QPair< QgsComposerItem *, QgsComposerItem::ItemPositionMode > > &snappedItems)
 Get nearest snap line.
void setSnapLinesVisible (bool visible)
 Hides / shows custom snap lines.
void beginCommand (QgsComposerItem *item, const QString &commandText, QgsComposerMergeCommand::Context c=QgsComposerMergeCommand::Unknown)
 Allocates new item command and saves initial state in it.
void endCommand ()
 Saves end state of item and pushes command to the undo history.
void cancelCommand ()
 Deletes current command.
void beginMultiFrameCommand (QgsComposerMultiFrame *multiFrame, const QString &text)
void endMultiFrameCommand ()
void addMultiFrame (QgsComposerMultiFrame *multiFrame)
 Adds multiframe.
void removeMultiFrame (QgsComposerMultiFrame *multiFrame)
 Removes multi frame (but does not delete it)
void addComposerArrow (QgsComposerArrow *arrow)
 Adds an arrow item to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerLabel (QgsComposerLabel *label)
 Adds label to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerMap (QgsComposerMap *map, bool setDefaultPreviewStyle=true)
 Adds map to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerScaleBar (QgsComposerScaleBar *scaleBar)
 Adds scale bar to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerLegend (QgsComposerLegend *legend)
 Adds legend to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerPicture (QgsComposerPicture *picture)
 Adds picture to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerShape (QgsComposerShape *shape)
 Adds a composer shape to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerTable (QgsComposerAttributeTable *table)
 Adds a composer table to the graphics scene and advices composer to create a widget for it (through signal)
void addComposerHtmlFrame (QgsComposerHtml *html, QgsComposerFrame *frame)
 Adds composer html frame and advices composer to create a widget for it (through signal)
void removeComposerItem (QgsComposerItem *item, bool createCommand=true)
 Remove item from the graphics scene.
void pushAddRemoveCommand (QgsComposerItem *item, const QString &text, QgsAddRemoveItemCommand::State state=QgsAddRemoveItemCommand::Added)
 Convenience function to create a QgsAddRemoveItemCommand, connect its signals and push it to the undo stack.
void beginPrint (QPrinter &printer)
 Prepare the printer for printing.
void beginPrintAsPDF (QPrinter &printer, const QString &file)
 Prepare the printer for printing in a PDF.
void doPrint (QPrinter &printer, QPainter &painter)
 Print on a preconfigured printer.
void print (QPrinter &printer)
 Convenience function that prepares the printer and prints.
void exportAsPDF (const QString &file)
 Convenience function that prepares the printer for printing in PDF and prints.
QImage printPageAsRaster (int page)
 print composer page to image If the image does not fit into memory, a null image is returned
void renderPage (QPainter *p, int page)
 Render a page to a paint device.
QgsAtlasCompositionatlasComposition ()

Private Member Functions

 QgsComposition ()
void updateZValues ()
 Reset z-values of items based on position in z list.
int boundingRectOfSelectedItems (QRectF &bRect)
 Returns the bounding rectangle of the selected items in scene coordinates.
void loadSettings ()
void saveSettings ()
void connectAddRemoveCommandSignals (QgsAddRemoveItemCommand *c)
void updatePaperItems ()
void addPaperItem ()
void removePaperItems ()
void deleteAndRemoveMultiFrames ()
void collectAlignCoordinates (QMap< double, const QgsComposerItem * > &alignCoordsX, QMap< double, const QgsComposerItem * > &alignCoordsY, const QgsComposerItem *excludeItem)
void checkNearestItem (double checkCoord, const QMap< double, const QgsComposerItem * > &alignCoords, double &smallestDiff, double itemCoordOffset, double &itemCoord, double &alignCoord) const

Static Private Member Functions

static QString encodeStringForXML (const QString &str)
static bool nearestItem (const QMap< double, const QgsComposerItem * > &coords, double value, double &nearestValue)
 Find nearest item in coordinate map to a double.

Private Attributes

QgsMapRenderermMapRenderer
 Pointer to map renderer of QGIS main map.
QgsComposition::PlotStyle mPlotStyle
double mPageWidth
double mPageHeight
QList< QgsPaperItem * > mPages
double mSpaceBetweenPages
QLinkedList< QgsComposerItem * > mItemZList
 Maintains z-Order of items.
QSet< QgsComposerMultiFrame * > mMultiFrames
 List multiframe objects.
int mPrintResolution
 Dpi for printout.
bool mPrintAsRaster
 Flag if map should be printed as a raster (via QImage).
bool mUseAdvancedEffects
 Flag if advanced visual effects such as blend modes should be used.
double mSelectionTolerance
 Distance tolerance for item selection (in mm)
bool mSnapToGrid
 Parameters for snap to grid function.
double mSnapGridResolution
double mSnapGridOffsetX
double mSnapGridOffsetY
QPen mGridPen
GridStyle mGridStyle
bool mAlignmentSnap
 Parameters for alignment snap.
double mAlignmentSnapTolerance
QList< QGraphicsLineItem * > mSnapLines
 Arbitraty snap lines (horizontal and vertical)
QUndoStack mUndoStack
QgsComposerItemCommandmActiveItemCommand
QgsComposerMultiFrameCommandmActiveMultiFrameCommand
QgsAtlasComposition mAtlasComposition
 The atlas composition object.

Detailed Description

Graphics scene for map printing.

The class manages the paper item which always is the item in the back (z-value 0). It maintains the z-Values of the items and stores them in a list in ascending z-Order. This list can be changed to lower/raise items one position or to bring them to front/back.

Definition at line 64 of file qgscomposition.h.

Member Enumeration Documentation

Style to draw the snapping grid.

Enumerator:
Solid 
Dots 
Crosses 

Definition at line 78 of file qgscomposition.h.

Plot type.

Enumerator:
Preview 
Print 
Postscript 

Definition at line 70 of file qgscomposition.h.

Constructor & Destructor Documentation

QgsComposition::QgsComposition ( QgsMapRenderer mapRenderer)

Definition at line 49 of file qgscomposition.cpp.

References addPaperItem(), loadSettings(), and mPrintResolution.

QgsComposition::~QgsComposition ( )
QgsComposition::QgsComposition ( )
private

Definition at line 76 of file qgscomposition.cpp.

References loadSettings().

Member Function Documentation

void QgsComposition::addComposerArrow ( QgsComposerArrow arrow)

Adds an arrow item to the graphics scene and advices composer to create a widget for it (through signal)

Note
not available in python bindings

Definition at line 1638 of file qgscomposition.cpp.

References composerArrowAdded(), selectedItemChanged(), and QgsComposerItem::setSelected().

Referenced by addItemsFromXML(), and QgsComposerView::mouseReleaseEvent().

void QgsComposition::addComposerHtmlFrame ( QgsComposerHtml html,
QgsComposerFrame frame 
)

Adds composer html frame and advices composer to create a widget for it (through signal)

Definition at line 1727 of file qgscomposition.cpp.

References composerHtmlFrameAdded(), selectedItemChanged(), and QgsComposerItem::setSelected().

Referenced by QgsComposerHtml::addFrame().

void QgsComposition::addComposerLabel ( QgsComposerLabel label)

Adds label to the graphics scene and advices composer to create a widget for it (through signal)

Definition at line 1647 of file qgscomposition.cpp.

References composerLabelAdded(), selectedItemChanged(), and QgsComposerItem::setSelected().

Referenced by addItemsFromXML(), and QgsComposerView::mousePressEvent().

void QgsComposition::addComposerLegend ( QgsComposerLegend legend)

Adds legend to the graphics scene and advices composer to create a widget for it (through signal)

Definition at line 1685 of file qgscomposition.cpp.

References composerLegendAdded(), composerMapItems(), selectedItemChanged(), QgsComposerLegend::setComposerMap(), and QgsComposerItem::setSelected().

Referenced by addItemsFromXML(), and QgsComposerView::mousePressEvent().

void QgsComposition::addComposerMap ( QgsComposerMap map,
bool  setDefaultPreviewStyle = true 
)
void QgsComposition::addComposerPicture ( QgsComposerPicture picture)

Adds picture to the graphics scene and advices composer to create a widget for it (through signal)

Definition at line 1700 of file qgscomposition.cpp.

References composerPictureAdded(), selectedItemChanged(), and QgsComposerItem::setSelected().

Referenced by addItemsFromXML(), and QgsComposerView::mousePressEvent().

void QgsComposition::addComposerScaleBar ( QgsComposerScaleBar scaleBar)

Adds scale bar to the graphics scene and advices composer to create a widget for it (through signal)

Definition at line 1676 of file qgscomposition.cpp.

References composerScaleBarAdded(), selectedItemChanged(), and QgsComposerItem::setSelected().

Referenced by addItemsFromXML(), and QgsComposerView::mousePressEvent().

void QgsComposition::addComposerShape ( QgsComposerShape shape)

Adds a composer shape to the graphics scene and advices composer to create a widget for it (through signal)

Definition at line 1709 of file qgscomposition.cpp.

References composerShapeAdded(), selectedItemChanged(), and QgsComposerItem::setSelected().

Referenced by addItemsFromXML(), and QgsComposerView::addShape().

void QgsComposition::addComposerTable ( QgsComposerAttributeTable table)

Adds a composer table to the graphics scene and advices composer to create a widget for it (through signal)

Definition at line 1718 of file qgscomposition.cpp.

References composerTableAdded(), selectedItemChanged(), and QgsComposerItem::setSelected().

Referenced by addItemsFromXML(), and QgsComposerView::mousePressEvent().

void QgsComposition::addItemsFromXML ( const QDomElement &  elem,
const QDomDocument &  doc,
QMap< QgsComposerMap *, int > *  mapsToRestore = 0,
bool  addUndoCommands = false,
QPointF *  pos = 0,
bool  pasteInPlace = false 
)

Add items from XML representation to the graphics scene (for project file reading, pasting items from clipboard)

Parameters
elemitems parent element, e.g.
<Composer> 
or
<ComposerItemClipboard> 
docxml document
mapsToRestorefor reading from project file: set preview move 'rectangle' to all maps and save the preview states to show composer maps on demand
addUndoCommandsinsert AddItem commands if true (e.g. for copy/paste)
positem position. Optional, take position from xml if 0
pasteInPlacewhether the position should be kept but mapped to the page origin. (the page is the page under to the mouse cursor)
Note
not available in python bindings

Definition at line 591 of file qgscomposition.cpp.

References addComposerArrow(), addComposerLabel(), addComposerLegend(), addComposerMap(), addComposerPicture(), addComposerScaleBar(), addComposerShape(), addComposerTable(), addMultiFrame(), QgsComposerMap::assignFreeId(), QgsComposerItem::move(), mPageHeight, mSpaceBetweenPages, pageNumberAt(), paperHeight(), QgsComposerMap::previewMode(), pushAddRemoveCommand(), QgsComposerHtml::readXML(), QgsComposerAttributeTable::readXML(), QgsComposerItemGroup::readXML(), QgsComposerShape::readXML(), QgsComposerPicture::readXML(), QgsComposerArrow::readXML(), QgsComposerLabel::readXML(), QgsComposerLegend::readXML(), QgsComposerScaleBar::readXML(), QgsComposerMap::readXML(), QgsComposerMap::Rectangle, QgsComposerMultiFrame::setCreateUndoCommands(), QgsComposerItem::setItemPosition(), QgsComposerMap::setPreviewMode(), spaceBetweenPages(), and tr.

Referenced by QgsComposerView::keyPressEvent(), and loadFromTemplate().

void QgsComposition::addItemToZList ( QgsComposerItem item)

Adds item to z list.

Usually called from constructor of QgsComposerItem

Definition at line 830 of file qgscomposition.cpp.

References mItemZList.

Referenced by QgsComposerItem::init().

void QgsComposition::addMultiFrame ( QgsComposerMultiFrame multiFrame)

Adds multiframe.

The object is owned by QgsComposition until removeMultiFrame is called

Definition at line 1628 of file qgscomposition.cpp.

References mMultiFrames.

Referenced by addItemsFromXML(), QgsComposerMultiFrame::QgsComposerMultiFrame(), and QgsAddRemoveMultiFrameCommand::switchState().

void QgsComposition::addPaperItem ( )
private
QGraphicsLineItem * QgsComposition::addSnapLine ( )

Add a custom snap line (can be horizontal or vertical)

Definition at line 1289 of file qgscomposition.cpp.

References mSnapLines.

Referenced by QgsComposerRuler::mousePressEvent(), and readXML().

QPointF QgsComposition::alignItem ( const QgsComposerItem item,
double &  alignX,
double &  alignY,
double  dx = 0,
double  dy = 0 
)

Snaps item position to align with other items (left / middle / right or top / middle / bottom.

Parameters
itemcurrent item
alignXx-coordinate of align or -1 if not aligned to x
alignYy-coordinate of align or -1 if not aligned to y
dxitem shift in x direction
dyitem shift in y direction
Returns
new upper left point after the align

Definition at line 1207 of file qgscomposition.cpp.

References checkNearestItem(), and collectAlignCoordinates().

Referenced by QgsComposerItem::changeItemRectangle().

bool QgsComposition::alignmentSnap ( ) const
inline

Definition at line 123 of file qgscomposition.h.

Referenced by QgsComposerItem::changeItemRectangle().

double QgsComposition::alignmentSnapTolerance ( ) const
inline

Definition at line 126 of file qgscomposition.h.

QPointF QgsComposition::alignPos ( const QPointF &  pos,
const QgsComposerItem excludeItem,
double &  alignX,
double &  alignY 
)

Snaps position to align with the boundaries of other items.

Parameters
posposition to snap
excludeItemitem to exclude
alignXsnapped x coordinate or -1 if not snapped
alignYsnapped y coordinate or -1 if not snapped
Returns
snapped position or original position if no snap

Definition at line 1250 of file qgscomposition.cpp.

References collectAlignCoordinates(), mAlignmentSnapTolerance, and nearestItem().

Referenced by QgsComposerItem::changeItemRectangle().

void QgsComposition::alignSelectedItemsBottom ( )
void QgsComposition::alignSelectedItemsHCenter ( )
void QgsComposition::alignSelectedItemsLeft ( )
void QgsComposition::alignSelectedItemsRight ( )
void QgsComposition::alignSelectedItemsTop ( )
void QgsComposition::alignSelectedItemsVCenter ( )
QgsAtlasComposition& QgsComposition::atlasComposition ( )
inline

Definition at line 360 of file qgscomposition.h.

Referenced by loadFromTemplate().

void QgsComposition::beginCommand ( QgsComposerItem item,
const QString &  commandText,
QgsComposerMergeCommand::Context  c = QgsComposerMergeCommand::Unknown 
)

Allocates new item command and saves initial state in it.

Parameters
itemtarget item
commandTextdescriptive command text
ccontext for merge commands (unknown for non-mergeable commands)

Definition at line 1559 of file qgscomposition.cpp.

References mActiveItemCommand, QgsComposerItemCommand::savePreviousState(), and QgsComposerMergeCommand::Unknown.

Referenced by QgsComposerItem::beginCommand(), and QgsComposerView::mouseReleaseEvent().

void QgsComposition::beginMultiFrameCommand ( QgsComposerMultiFrame multiFrame,
const QString &  text 
)
void QgsComposition::beginPrint ( QPrinter &  printer)

Prepare the printer for printing.

Definition at line 1998 of file qgscomposition.cpp.

References printResolution().

Referenced by print().

void QgsComposition::beginPrintAsPDF ( QPrinter &  printer,
const QString &  file 
)

Prepare the printer for printing in a PDF.

Definition at line 1945 of file qgscomposition.cpp.

References QgsPaintEngineHack::fixEngineFlags(), paperHeight(), and paperWidth().

Referenced by exportAsPDF().

int QgsComposition::boundingRectOfSelectedItems ( QRectF &  bRect)
private

Returns the bounding rectangle of the selected items in scene coordinates.

Returns
0 in case of success

Definition at line 1411 of file qgscomposition.cpp.

References selectedComposerItems().

Referenced by alignSelectedItemsBottom(), alignSelectedItemsHCenter(), alignSelectedItemsLeft(), alignSelectedItemsRight(), alignSelectedItemsTop(), and alignSelectedItemsVCenter().

void QgsComposition::cancelCommand ( )

Deletes current command.

Definition at line 1597 of file qgscomposition.cpp.

References mActiveItemCommand.

Referenced by QgsComposerItem::cancelCommand().

void QgsComposition::checkNearestItem ( double  checkCoord,
const QMap< double, const QgsComposerItem * > &  alignCoords,
double &  smallestDiff,
double  itemCoordOffset,
double &  itemCoord,
double &  alignCoord 
) const
private

Definition at line 2118 of file qgscomposition.cpp.

References mAlignmentSnapTolerance, and nearestItem().

Referenced by alignItem().

void QgsComposition::collectAlignCoordinates ( QMap< double, const QgsComposerItem * > &  alignCoordsX,
QMap< double, const QgsComposerItem * > &  alignCoordsY,
const QgsComposerItem excludeItem 
)
private

Definition at line 2075 of file qgscomposition.cpp.

References mSnapLines, and qgsDoubleNear().

Referenced by alignItem(), and alignPos().

void QgsComposition::composerArrowAdded ( QgsComposerArrow arrow)
signal

Is emitted when new composer arrow has been added to the view.

Referenced by addComposerArrow(), and sendItemAddedSignal().

void QgsComposition::composerHtmlFrameAdded ( QgsComposerHtml html,
QgsComposerFrame frame 
)
signal

Is emitted when a new composer html has been added to the view.

Referenced by addComposerHtmlFrame(), and sendItemAddedSignal().

QgsComposerItem * QgsComposition::composerItemAt ( const QPointF &  position)

Returns the topmost composer item.

Ignores mPaperItem

Definition at line 167 of file qgscomposition.cpp.

References mSelectionTolerance.

Referenced by QgsComposerView::mousePressEvent(), and QgsComposerView::wheelEvent().

template<class T >
void QgsComposition::composerItems ( QList< T * > &  itemList)

Return composer items of a specific type.

Note
not available in python bindings

Definition at line 476 of file qgscomposition.h.

Referenced by QgsAtlasComposition::endRender(), and QgsAtlasComposition::prepareForFeature().

void QgsComposition::composerLabelAdded ( QgsComposerLabel label)
signal

Is emitted when new composer label has been added to the view.

Referenced by addComposerLabel(), and sendItemAddedSignal().

void QgsComposition::composerLegendAdded ( QgsComposerLegend legend)
signal

Is emitted when a new composer legend has been added.

Referenced by addComposerLegend(), and sendItemAddedSignal().

void QgsComposition::composerMapAdded ( QgsComposerMap map)
signal

Is emitted when new composer map has been added to the view.

Referenced by addComposerMap(), and sendItemAddedSignal().

QList< const QgsComposerMap * > QgsComposition::composerMapItems ( ) const

Returns pointers to all composer maps in the scene.

Note
available in python bindings only with PyQt >= 4.8.4

Definition at line 222 of file qgscomposition.cpp.

Referenced by addComposerLegend(), QgsComposerMap::assignFreeId(), QgsComposerView::mousePressEvent(), QgsComposerMap::QgsComposerMap(), and QgsAtlasComposition::readXML().

void QgsComposition::composerPictureAdded ( QgsComposerPicture picture)
signal

Is emitted when a new composer picture has been added.

Referenced by addComposerPicture(), and sendItemAddedSignal().

void QgsComposition::composerScaleBarAdded ( QgsComposerScaleBar scalebar)
signal

Is emitted when new composer scale bar has been added.

Referenced by addComposerScaleBar(), and sendItemAddedSignal().

void QgsComposition::composerShapeAdded ( QgsComposerShape shape)
signal

Is emitted when a new composer shape has been added.

Referenced by addComposerShape(), and sendItemAddedSignal().

void QgsComposition::composerTableAdded ( QgsComposerAttributeTable table)
signal

Is emitted when a new composer table has been added.

Referenced by addComposerTable(), and sendItemAddedSignal().

void QgsComposition::connectAddRemoveCommandSignals ( QgsAddRemoveItemCommand c)
private

Definition at line 1816 of file qgscomposition.cpp.

References itemRemoved(), and sendItemAddedSignal().

Referenced by pushAddRemoveCommand(), and removeComposerItem().

void QgsComposition::deleteAndRemoveMultiFrames ( )
private

Definition at line 1935 of file qgscomposition.cpp.

References mMultiFrames.

Referenced by loadFromTemplate(), and ~QgsComposition().

void QgsComposition::doPrint ( QPrinter &  printer,
QPainter &  painter 
)

Print on a preconfigured printer.

Definition at line 1961 of file qgscomposition.cpp.

References mPrintAsRaster, numPages(), printPageAsRaster(), and renderPage().

Referenced by print().

QString QgsComposition::encodeStringForXML ( const QString &  str)
staticprivate

Definition at line 2064 of file qgscomposition.cpp.

Referenced by loadFromTemplate().

void QgsComposition::endCommand ( )
void QgsComposition::endMultiFrameCommand ( )
void QgsComposition::exportAsPDF ( const QString &  file)

Convenience function that prepares the printer for printing in PDF and prints.

Definition at line 1954 of file qgscomposition.cpp.

References beginPrintAsPDF(), and print().

const QgsComposerHtml * QgsComposition::getComposerHtmlByItem ( QgsComposerItem item) const

Definition at line 258 of file qgscomposition.cpp.

References QgsComposerFrame::multiFrame().

const QgsComposerItem * QgsComposition::getComposerItemById ( QString  theId) const

Returns a composer item given its text identifier.

Ids are not necessarely unique, but this function returns only one element.

Note
added in 2.0
Parameters
theId- A QString representing the identifier of the item to retrieve.
Returns
QgsComposerItem pointer or 0 pointer if no such item exists.

Definition at line 277 of file qgscomposition.cpp.

References QgsComposerItem::id().

const QgsComposerItem * QgsComposition::getComposerItemByUuid ( QString  theUuid) const

Returns a composer item given its unique identifier.

Note
added in 2.0
Parameters
theUuidA QString representing the UUID of the item to

Definition at line 332 of file qgscomposition.cpp.

References QgsComposerItem::uuid().

const QgsComposerMap * QgsComposition::getComposerMapById ( int  id) const
const QPen& QgsComposition::gridPen ( ) const
inline

Definition at line 117 of file qgscomposition.h.

Referenced by QgsPaperItem::paint().

GridStyle QgsComposition::gridStyle ( ) const
inline

Definition at line 120 of file qgscomposition.h.

Referenced by QgsPaperItem::paint().

int QgsComposition::itemPageNumber ( const QgsComposerItem item) const

Returns on which page number (0-based) is displayed an item.

Definition at line 198 of file qgscomposition.cpp.

References pageNumberAt().

Referenced by QgsComposerLabel::displayText().

void QgsComposition::itemRemoved ( QgsComposerItem )
signal

Is emitted when a composer item has been removed from the scene.

Referenced by connectAddRemoveCommandSignals(), loadFromTemplate(), and removeComposerItem().

bool QgsComposition::loadFromTemplate ( const QDomDocument &  doc,
QMap< QString, QString > *  substitutionMap = 0,
bool  addUndoCommands = false 
)

Load a template document.

Parameters
doctemplate document
substitutionMapmap with text to replace. Text needs to be enclosed by brackets (e.g. '[text]' )
addUndoCommandswhether or not to add undo commands

Definition at line 513 of file qgscomposition.cpp.

References addItemsFromXML(), atlasComposition(), deleteAndRemoveMultiFrames(), encodeStringForXML(), itemRemoved(), mItemZList, mPages, mUndoStack, QgsAtlasComposition::readXML(), and readXML().

void QgsComposition::loadSettings ( )
private

Definition at line 1499 of file qgscomposition.cpp.

References Crosses, Dots, mGridPen, mGridStyle, mSelectionTolerance, and Solid.

Referenced by QgsComposition().

void QgsComposition::lowerItem ( QgsComposerItem item)

Definition at line 892 of file qgscomposition.cpp.

References mItemZList.

Referenced by lowerSelectedItems().

void QgsComposition::lowerSelectedItems ( )

Definition at line 878 of file qgscomposition.cpp.

References lowerItem(), selectedComposerItems(), and updateZValues().

QgsMapRenderer* QgsComposition::mapRenderer ( )
inline

Returns pointer to map renderer of qgis map canvas.

Definition at line 196 of file qgscomposition.h.

Referenced by QgsAtlasComposition::beginRender(), QgsAtlasComposition::endRender(), QgsComposerLegend::layerIdList(), and QgsComposerMap::QgsComposerMap().

void QgsComposition::moveItemToBottom ( QgsComposerItem item)

Definition at line 948 of file qgscomposition.cpp.

References mItemZList.

Referenced by moveSelectedItemsToBottom().

void QgsComposition::moveItemToTop ( QgsComposerItem item)

Definition at line 923 of file qgscomposition.cpp.

References mItemZList.

Referenced by moveSelectedItemsToTop().

void QgsComposition::moveSelectedItemsToBottom ( )

Definition at line 934 of file qgscomposition.cpp.

References moveItemToBottom(), selectedComposerItems(), and updateZValues().

void QgsComposition::moveSelectedItemsToTop ( )

Definition at line 908 of file qgscomposition.cpp.

References moveItemToTop(), selectedComposerItems(), and updateZValues().

bool QgsComposition::nearestItem ( const QMap< double, const QgsComposerItem * > &  coords,
double  value,
double &  nearestValue 
)
staticprivate

Find nearest item in coordinate map to a double.

Returns
true if item found, false if coords is empty

Definition at line 2136 of file qgscomposition.cpp.

Referenced by alignPos(), and checkNearestItem().

QGraphicsLineItem * QgsComposition::nearestSnapLine ( bool  horizontal,
double  x,
double  y,
double  tolerance,
QList< QPair< QgsComposerItem *, QgsComposerItem::ItemPositionMode > > &  snappedItems 
)
void QgsComposition::nPagesChanged ( )
signal

Referenced by setNumPages().

int QgsComposition::numPages ( ) const
int QgsComposition::pageNumberAt ( const QPointF &  position) const

Returns the page number (0-bsaed) given a coordinate.

Definition at line 193 of file qgscomposition.cpp.

References paperHeight(), and spaceBetweenPages().

Referenced by addItemsFromXML(), and itemPageNumber().

double QgsComposition::paperHeight ( ) const
void QgsComposition::paperSizeChanged ( )
signal

Referenced by readXML().

double QgsComposition::paperWidth ( ) const
int QgsComposition::pixelFontSize ( double  pointSize) const

Returns the pixel font size for a font that has point size set.

The result depends on the resolution (dpi) and of the preview mode. Each item that sets a font should call this function before drawing text

Definition at line 369 of file qgscomposition.cpp.

QgsComposition::PlotStyle QgsComposition::plotStyle ( ) const
inline
double QgsComposition::pointFontSize ( int  pixelSize) const

Does the inverse calculation and returns points for pixels (equals to mm in QgsComposition)

Definition at line 376 of file qgscomposition.cpp.

void QgsComposition::print ( QPrinter &  printer)

Convenience function that prepares the printer and prints.

Definition at line 2008 of file qgscomposition.cpp.

References beginPrint(), and doPrint().

Referenced by exportAsPDF().

bool QgsComposition::printAsRaster ( ) const
inline

Definition at line 182 of file qgscomposition.h.

QImage QgsComposition::printPageAsRaster ( int  page)

print composer page to image If the image does not fit into memory, a null image is returned

Definition at line 2015 of file qgscomposition.cpp.

References paperHeight(), paperWidth(), printResolution(), and renderPage().

Referenced by doPrint().

int QgsComposition::printResolution ( ) const
inline
void QgsComposition::pushAddRemoveCommand ( QgsComposerItem item,
const QString &  text,
QgsAddRemoveItemCommand::State  state = QgsAddRemoveItemCommand::Added 
)
void QgsComposition::raiseItem ( QgsComposerItem item)

Definition at line 863 of file qgscomposition.cpp.

References mItemZList.

Referenced by raiseSelectedItems().

void QgsComposition::raiseSelectedItems ( )

Definition at line 849 of file qgscomposition.cpp.

References raiseItem(), selectedComposerItems(), and updateZValues().

bool QgsComposition::readXML ( const QDomElement &  compositionElem,
const QDomDocument &  doc 
)
void QgsComposition::removeComposerItem ( QgsComposerItem item,
bool  createCommand = true 
)
void QgsComposition::removeItemFromZList ( QgsComposerItem item)

Removes item from z list.

Usually called from destructor of QgsComposerItem

Definition at line 840 of file qgscomposition.cpp.

References mItemZList.

Referenced by QgsComposerItem::~QgsComposerItem().

void QgsComposition::removeMultiFrame ( QgsComposerMultiFrame multiFrame)

Removes multi frame (but does not delete it)

Definition at line 1633 of file qgscomposition.cpp.

References mMultiFrames.

Referenced by removeComposerItem(), and QgsAddRemoveMultiFrameCommand::switchState().

void QgsComposition::removePaperItems ( )
private

Definition at line 1925 of file qgscomposition.cpp.

References mPages, and QgsExpression::setSpecialColumn().

Referenced by readXML(), and ~QgsComposition().

void QgsComposition::removeSnapLine ( QGraphicsLineItem *  line)

Remove custom snap line (and delete the object)

Definition at line 1304 of file qgscomposition.cpp.

References mSnapLines.

Referenced by QgsComposerRuler::mouseReleaseEvent().

void QgsComposition::renderPage ( QPainter *  p,
int  page 
)

Render a page to a paint device.

Note
added in version 1.9

Definition at line 2033 of file qgscomposition.cpp.

References mPages, mPlotStyle, Print, and setSnapLinesVisible().

Referenced by doPrint(), and printPageAsRaster().

void QgsComposition::saveSettings ( )
private
QList< QgsComposerItem * > QgsComposition::selectedComposerItems ( )
void QgsComposition::selectedItemChanged ( QgsComposerItem selected)
signal
double QgsComposition::selectionTolerance ( ) const
inline

Definition at line 192 of file qgscomposition.h.

void QgsComposition::sendItemAddedSignal ( QgsComposerItem item)
slot
void QgsComposition::setAlignmentSnap ( bool  s)
inline

Definition at line 122 of file qgscomposition.h.

void QgsComposition::setAlignmentSnapTolerance ( double  t)
inline

Definition at line 125 of file qgscomposition.h.

void QgsComposition::setGridPen ( const QPen &  p)

Definition at line 1479 of file qgscomposition.cpp.

References mGridPen, saveSettings(), and updatePaperItems().

void QgsComposition::setGridStyle ( GridStyle  s)

Definition at line 1486 of file qgscomposition.cpp.

References mGridStyle, saveSettings(), and updatePaperItems().

void QgsComposition::setNumPages ( int  pages)

Note: added in version 1.9.

Definition at line 135 of file qgscomposition.cpp.

References addPaperItem(), mPages, nPagesChanged(), numPages(), and QgsExpression::setSpecialColumn().

Referenced by QgsComposerMultiFrame::recalculateFrameSizes().

void QgsComposition::setPaperSize ( double  width,
double  height 
)

Changes size of paper item.

Definition at line 113 of file qgscomposition.cpp.

References mPageHeight, mPages, mPageWidth, and mSpaceBetweenPages.

void QgsComposition::setPlotStyle ( QgsComposition::PlotStyle  style)
inline

Definition at line 199 of file qgscomposition.h.

void QgsComposition::setPrintAsRaster ( bool  enabled)
inline

Definition at line 183 of file qgscomposition.h.

void QgsComposition::setPrintResolution ( int  dpi)
inline

Definition at line 180 of file qgscomposition.h.

void QgsComposition::setSelectionTolerance ( double  tol)

Definition at line 1493 of file qgscomposition.cpp.

References mSelectionTolerance, and saveSettings().

void QgsComposition::setSnapGridOffsetX ( double  offset)

Definition at line 1465 of file qgscomposition.cpp.

References mSnapGridOffsetX, saveSettings(), and updatePaperItems().

void QgsComposition::setSnapGridOffsetY ( double  offset)

Definition at line 1472 of file qgscomposition.cpp.

References mSnapGridOffsetY, saveSettings(), and updatePaperItems().

void QgsComposition::setSnapGridResolution ( double  r)

Definition at line 1458 of file qgscomposition.cpp.

References mSnapGridResolution, saveSettings(), and updatePaperItems().

void QgsComposition::setSnapLinesVisible ( bool  visible)

Hides / shows custom snap lines.

Definition at line 1311 of file qgscomposition.cpp.

References mSnapLines.

Referenced by renderPage().

void QgsComposition::setSnapToGridEnabled ( bool  b)

Definition at line 1451 of file qgscomposition.cpp.

References mSnapToGrid, saveSettings(), and updatePaperItems().

void QgsComposition::setUseAdvancedEffects ( bool  effectsEnabled)

Used to enable or disable advanced effects such as blend modes in a composition.

Note
: added in version 1.9

Definition at line 352 of file qgscomposition.cpp.

References mUseAdvancedEffects, and QgsComposerItem::setEffectsEnabled().

double QgsComposition::snapGridOffsetX ( ) const
inline

Definition at line 111 of file qgscomposition.h.

Referenced by QgsPaperItem::paint().

double QgsComposition::snapGridOffsetY ( ) const
inline

Definition at line 114 of file qgscomposition.h.

Referenced by QgsPaperItem::paint().

double QgsComposition::snapGridResolution ( ) const
inline

Definition at line 108 of file qgscomposition.h.

Referenced by QgsPaperItem::paint().

QPointF QgsComposition::snapPointToGrid ( const QPointF &  scenePoint) const
bool QgsComposition::snapToGridEnabled ( ) const
inline

Definition at line 105 of file qgscomposition.h.

Referenced by QgsPaperItem::paint().

void QgsComposition::sortZList ( )

Sorts the zList.

The only time where this function needs to be called is from QgsComposer after reading all the items from xml file

Definition at line 1162 of file qgscomposition.cpp.

References mItemZList.

double QgsComposition::spaceBetweenPages ( ) const
inline
QUndoStack* QgsComposition::undoStack ( )
inline

Returns pointer to undo/redo command storage.

Definition at line 129 of file qgscomposition.h.

Referenced by QgsComposerView::mouseReleaseEvent(), pushAddRemoveCommand(), and removeComposerItem().

void QgsComposition::updatePaperItems ( )
private
void QgsComposition::updateZValues ( )
private
bool QgsComposition::useAdvancedEffects ( ) const
inline

Returns true if a composition should use advanced effects such as blend modes.

Note
added in 1.9

Definition at line 187 of file qgscomposition.h.

Referenced by QgsComposerMap::draw().

bool QgsComposition::writeXML ( QDomElement &  composerElem,
QDomDocument &  doc 
)

Member Data Documentation

QgsComposerItemCommand* QgsComposition::mActiveItemCommand
private

Definition at line 410 of file qgscomposition.h.

Referenced by beginCommand(), cancelCommand(), endCommand(), and ~QgsComposition().

QgsComposerMultiFrameCommand* QgsComposition::mActiveMultiFrameCommand
private

Definition at line 411 of file qgscomposition.h.

Referenced by beginMultiFrameCommand(), endMultiFrameCommand(), and ~QgsComposition().

bool QgsComposition::mAlignmentSnap
private

Parameters for alignment snap.

Definition at line 402 of file qgscomposition.h.

Referenced by readXML(), and writeXML().

double QgsComposition::mAlignmentSnapTolerance
private

Definition at line 403 of file qgscomposition.h.

Referenced by alignPos(), checkNearestItem(), readXML(), and writeXML().

QgsAtlasComposition QgsComposition::mAtlasComposition
private

The atlas composition object.

It is held by the QgsComposition

Definition at line 414 of file qgscomposition.h.

QPen QgsComposition::mGridPen
private

Definition at line 398 of file qgscomposition.h.

Referenced by loadSettings(), saveSettings(), and setGridPen().

GridStyle QgsComposition::mGridStyle
private

Definition at line 399 of file qgscomposition.h.

Referenced by loadSettings(), saveSettings(), and setGridStyle().

QLinkedList<QgsComposerItem*> QgsComposition::mItemZList
private

Maintains z-Order of items.

Starts with item at position 1 (position 0 is always paper item)

Definition at line 376 of file qgscomposition.h.

Referenced by addItemToZList(), loadFromTemplate(), lowerItem(), moveItemToBottom(), moveItemToTop(), raiseItem(), removeItemFromZList(), sortZList(), and updateZValues().

QgsMapRenderer* QgsComposition::mMapRenderer
private

Pointer to map renderer of QGIS main map.

Definition at line 368 of file qgscomposition.h.

QSet<QgsComposerMultiFrame*> QgsComposition::mMultiFrames
private

List multiframe objects.

Definition at line 379 of file qgscomposition.h.

Referenced by addMultiFrame(), deleteAndRemoveMultiFrames(), removeMultiFrame(), and writeXML().

double QgsComposition::mPageHeight
private
QList< QgsPaperItem* > QgsComposition::mPages
private
double QgsComposition::mPageWidth
private

Definition at line 370 of file qgscomposition.h.

Referenced by paperWidth(), readXML(), setPaperSize(), and writeXML().

QgsComposition::PlotStyle QgsComposition::mPlotStyle
private

Definition at line 369 of file qgscomposition.h.

Referenced by renderPage().

bool QgsComposition::mPrintAsRaster
private

Flag if map should be printed as a raster (via QImage).

False by default

Definition at line 385 of file qgscomposition.h.

Referenced by doPrint(), readXML(), and writeXML().

int QgsComposition::mPrintResolution
private

Dpi for printout.

Definition at line 382 of file qgscomposition.h.

Referenced by QgsComposition(), readXML(), and writeXML().

double QgsComposition::mSelectionTolerance
private

Distance tolerance for item selection (in mm)

Definition at line 391 of file qgscomposition.h.

Referenced by composerItemAt(), loadSettings(), saveSettings(), and setSelectionTolerance().

double QgsComposition::mSnapGridOffsetX
private

Definition at line 396 of file qgscomposition.h.

Referenced by readXML(), setSnapGridOffsetX(), snapPointToGrid(), and writeXML().

double QgsComposition::mSnapGridOffsetY
private

Definition at line 397 of file qgscomposition.h.

Referenced by readXML(), setSnapGridOffsetY(), snapPointToGrid(), and writeXML().

double QgsComposition::mSnapGridResolution
private

Definition at line 395 of file qgscomposition.h.

Referenced by readXML(), setSnapGridResolution(), snapPointToGrid(), and writeXML().

QList< QGraphicsLineItem* > QgsComposition::mSnapLines
private

Arbitraty snap lines (horizontal and vertical)

Definition at line 406 of file qgscomposition.h.

Referenced by addSnapLine(), collectAlignCoordinates(), nearestSnapLine(), removeSnapLine(), setSnapLinesVisible(), and writeXML().

bool QgsComposition::mSnapToGrid
private

Parameters for snap to grid function.

Definition at line 394 of file qgscomposition.h.

Referenced by readXML(), setSnapToGridEnabled(), snapPointToGrid(), and writeXML().

double QgsComposition::mSpaceBetweenPages
private

Definition at line 373 of file qgscomposition.h.

Referenced by addItemsFromXML(), addPaperItem(), setPaperSize(), and snapPointToGrid().

QUndoStack QgsComposition::mUndoStack
private
bool QgsComposition::mUseAdvancedEffects
private

Flag if advanced visual effects such as blend modes should be used.

True by default

Definition at line 388 of file qgscomposition.h.

Referenced by setUseAdvancedEffects().


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