QGIS API Documentation  master-6164ace
QgsComposition Class Reference

Graphics scene for map printing. More...

#include <qgscomposition.h>

+ Collaboration diagram for QgsComposition:

List of all members.

Public Types

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

Public Slots

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

Signals

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 composerLegendAdded (QgsComposerLegend *legend)
 Is emitted when a new composer legend has been added.
void composerMapAdded (QgsComposerMap *map)
 Is emitted when new composer map has been added to the view.
void composerPictureAdded (QgsComposerPicture *picture)
 Is emitted when a new composer picture has been added.
void composerScaleBarAdded (QgsComposerScaleBar *scalebar)
 Is emitted when new composer scale bar 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.
void nPagesChanged ()
void paperSizeChanged ()
void selectedItemChanged (QgsComposerItem *selected)
 Is emitted when selected item changed.

Public Member Functions

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

Private Member Functions

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

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

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

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

Definition at line 50 of file qgscomposition.cpp.

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

Definition at line 77 of file qgscomposition.cpp.

References loadSettings().


Member Function Documentation

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 1624 of file qgscomposition.cpp.

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

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

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

Definition at line 1713 of file qgscomposition.cpp.

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

Referenced by QgsComposerHtml::addFrame().

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

Definition at line 1633 of file qgscomposition.cpp.

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

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

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

Definition at line 1671 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 
)

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

Definition at line 1686 of file qgscomposition.cpp.

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

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

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

Definition at line 1662 of file qgscomposition.cpp.

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

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

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

Definition at line 1695 of file qgscomposition.cpp.

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

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

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

Definition at line 1704 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 589 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(), 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().

Adds item to z list.

Usually called from constructor of QgsComposerItem

Definition at line 817 of file qgscomposition.cpp.

References mItemZList, and QgsDebugMsg.

Referenced by QgsComposerItem::init().

Adds multiframe.

The object is owned by QgsComposition until removeMultiFrame is called

Definition at line 1614 of file qgscomposition.cpp.

References mMultiFrames.

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

QGraphicsLineItem * QgsComposition::addSnapLine ( )

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

Definition at line 1277 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 1195 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 1238 of file qgscomposition.cpp.

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

Referenced by QgsComposerItem::changeItemRectangle().

Definition at line 358 of file qgscomposition.h.

Referenced by loadFromTemplate().

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 1547 of file qgscomposition.cpp.

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

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

void QgsComposition::beginPrint ( QPrinter &  printer)

Prepare the printer for printing.

Definition at line 1983 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 1930 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 1399 of file qgscomposition.cpp.

References selectedComposerItems().

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

Deletes current command.

Definition at line 1584 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 2102 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 2059 of file qgscomposition.cpp.

References mSnapLines, and qgsDoubleNear().

Referenced by alignItem(), and alignPos().

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

Referenced by addComposerArrow(), and sendItemAddedSignal().

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 168 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 474 of file qgscomposition.h.

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

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

Referenced by addComposerLabel(), and sendItemAddedSignal().

Is emitted when a new composer legend has been added.

Referenced by addComposerLegend(), and sendItemAddedSignal().

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

Referenced by addComposerMap(), and sendItemAddedSignal().

Returns pointers to all composer maps in the scene.

Note:
available in python bindings only with PyQt >= 4.8.4

Definition at line 223 of file qgscomposition.cpp.

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

Is emitted when a new composer picture has been added.

Referenced by addComposerPicture(), and sendItemAddedSignal().

Is emitted when new composer scale bar has been added.

Referenced by addComposerScaleBar(), and sendItemAddedSignal().

Is emitted when a new composer shape has been added.

Referenced by addComposerShape(), and sendItemAddedSignal().

Is emitted when a new composer table has been added.

Referenced by addComposerTable(), and sendItemAddedSignal().

Definition at line 1920 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 1946 of file qgscomposition.cpp.

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

Referenced by print().

QString QgsComposition::encodeStringForXML ( const QString &  str) [static, private]

Definition at line 2048 of file qgscomposition.cpp.

Referenced by loadFromTemplate().

Saves end state of item and pushes command to the undo history.

Definition at line 1567 of file qgscomposition.cpp.

References QgsComposerItemCommand::containsChange(), mActiveItemCommand, mUndoStack, and QgsComposerItemCommand::saveAfterState().

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

void QgsComposition::exportAsPDF ( const QString &  file)

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

Definition at line 1939 of file qgscomposition.cpp.

References beginPrintAsPDF(), and print().

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 278 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 QPen& QgsComposition::gridPen ( ) const [inline]

Definition at line 117 of file qgscomposition.h.

Referenced by QgsPaperItem::paint().

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 199 of file qgscomposition.cpp.

References pageNumberAt().

Referenced by QgsComposerLabel::displayText().

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 512 of file qgscomposition.cpp.

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

void QgsComposition::loadSettings ( ) [private]

Definition at line 1487 of file qgscomposition.cpp.

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

Referenced by QgsComposition().

Definition at line 880 of file qgscomposition.cpp.

References mItemZList.

Referenced by lowerSelectedItems().

Definition at line 936 of file qgscomposition.cpp.

References mItemZList.

Referenced by moveSelectedItemsToBottom().

Definition at line 911 of file qgscomposition.cpp.

References mItemZList.

Referenced by moveSelectedItemsToTop().

bool QgsComposition::nearestItem ( const QMap< double, const QgsComposerItem * > &  coords,
double  value,
double &  nearestValue 
) [static, private]

Find nearest item in coordinate map to a double.

Returns:
true if item found, false if coords is empty

Definition at line 2120 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::pageNumberAt ( const QPointF &  position) const

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

Definition at line 194 of file qgscomposition.cpp.

References paperHeight(), and spaceBetweenPages().

Referenced by addItemsFromXML(), and itemPageNumber().

Referenced by readXML().

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.

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 1993 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 2000 of file qgscomposition.cpp.

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

Referenced by doPrint().

Convenience function to create a QgsAddRemoveItemCommand, connect its signals and push it to the undo stack.

Definition at line 1794 of file qgscomposition.cpp.

References connectAddRemoveCommandSignals(), and undoStack().

Referenced by addItemsFromXML(), QgsComposerView::addShape(), QgsComposerView::mousePressEvent(), QgsComposerView::mouseReleaseEvent(), and removeComposerItem().

Definition at line 851 of file qgscomposition.cpp.

References mItemZList.

Referenced by raiseSelectedItems().

bool QgsComposition::readXML ( const QDomElement &  compositionElem,
const QDomDocument &  doc 
)

Removes item from z list.

Usually called from destructor of QgsComposerItem

Definition at line 828 of file qgscomposition.cpp.

References mItemZList.

Referenced by QgsComposerItem::~QgsComposerItem().

Removes multi frame (but does not delete it)

Definition at line 1619 of file qgscomposition.cpp.

References mMultiFrames.

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

Definition at line 1910 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 1292 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 2017 of file qgscomposition.cpp.

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

Referenced by doPrint(), and printPageAsRaster().

double QgsComposition::selectionTolerance ( ) const [inline]

Definition at line 192 of file qgscomposition.h.

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 1467 of file qgscomposition.cpp.

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

void QgsComposition::setNumPages ( int  pages)

Note: added in version 1.9.

Definition at line 136 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 114 of file qgscomposition.cpp.

References mPageHeight, mPages, mPageWidth, and mSpaceBetweenPages.

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.

Definition at line 1481 of file qgscomposition.cpp.

References mSelectionTolerance, and saveSettings().

void QgsComposition::setSnapGridOffsetX ( double  offset)

Definition at line 1453 of file qgscomposition.cpp.

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

void QgsComposition::setSnapGridOffsetY ( double  offset)

Definition at line 1460 of file qgscomposition.cpp.

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

void QgsComposition::setSnapLinesVisible ( bool  visible)

Hides / shows custom snap lines.

Definition at line 1299 of file qgscomposition.cpp.

References mSnapLines.

Referenced by renderPage().

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

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 1150 of file qgscomposition.cpp.

References mItemZList.

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

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


Member Data Documentation

Parameters for alignment snap.

Definition at line 400 of file qgscomposition.h.

Referenced by readXML(), and writeXML().

Definition at line 401 of file qgscomposition.h.

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

The atlas composition object.

It is held by the QgsComposition

Definition at line 412 of file qgscomposition.h.

QPen QgsComposition::mGridPen [private]

Definition at line 396 of file qgscomposition.h.

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

Definition at line 397 of file qgscomposition.h.

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

Maintains z-Order of items.

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

Definition at line 374 of file qgscomposition.h.

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

Pointer to map renderer of QGIS main map.

Definition at line 366 of file qgscomposition.h.

List multiframe objects.

Definition at line 377 of file qgscomposition.h.

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

double QgsComposition::mPageWidth [private]

Definition at line 368 of file qgscomposition.h.

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

Definition at line 367 of file qgscomposition.h.

Referenced by renderPage().

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

False by default

Definition at line 383 of file qgscomposition.h.

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

Dpi for printout.

Definition at line 380 of file qgscomposition.h.

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

Distance tolerance for item selection (in mm)

Definition at line 389 of file qgscomposition.h.

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

Definition at line 394 of file qgscomposition.h.

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

Definition at line 395 of file qgscomposition.h.

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

QList< QGraphicsLineItem* > QgsComposition::mSnapLines [private]

Arbitraty snap lines (horizontal and vertical)

Definition at line 404 of file qgscomposition.h.

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

Parameters for snap to grid function.

Definition at line 392 of file qgscomposition.h.

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

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

True by default

Definition at line 386 of file qgscomposition.h.

Referenced by setUseAdvancedEffects().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines