QgsQuickPrint Class Reference
[QGIS gui library.]

A convenience class for quickly printing a map. More...

#include <qgsquickprint.h>

Collaboration diagram for QgsQuickPrint:

Collaboration graph
[legend]

List of all members.

Public Types

enum  SymbolScalingType { ScaleUp, ScaleDown }

Public Slots

void printMap ()
void setTitle (QString theText)
void setName (QString theText)
void setCopyright (QString theText)
void setNorthArrow (QString theFileName)
void setLogo1 (QString theFileName)
void setLogo2 (QString theFileName)
void setOutputPdf (QString theFileName)
void setPageSize (QPrinter::PageSize theSize)
void setMapCanvas (QgsMapCanvas *thepMapCanvas)
 This is just a convenience function to get the.
void setMapRenderer (QgsMapRenderer *thepMapRenderer)
void setMapBackgroundColor (QColor theColor)

Public Member Functions

 QgsQuickPrint ()
virtual ~QgsQuickPrint ()
 Destructor.

Static Public Member Functions

static QString pageSizeToString (QPrinter::PageSize theSize)
static QPrinter::PageSize stringToPageSize (QString theSize)

Private Member Functions

void renderPrintScaleBar (QPainter *thepPainter, QgsMapRenderer *thepMapRenderer, int theMaximumWidth)
QStringList wordWrap (QString theString, QFontMetrics theMetrics, int theWidth)
void scalePointSymbols (int theScaleFactor, SymbolScalingType theDirection)
 Scale symbols in all layers by the specified amount.
void scaleTextLabels (int theScaleFactor, SymbolScalingType theDirection)
 Scale text labels in all layers by the specified amount.

Private Attributes

QgsMapRenderermpMapRenderer
QString mTitleText
QString mNameText
QString mCopyrightText
QString mNorthArrowFile
QString mLogo1File
QString mLogo2File
QString mOutputFileName
QColor mMapBackgroundColor
QPrinter::PageSize mPageSize


Detailed Description

A convenience class for quickly printing a map.

Prints a map with a map title, scale bar, north arrow, legend etc.

Definition at line 36 of file qgsquickprint.h.


Member Enumeration Documentation

Enumerator:
ScaleUp 
ScaleDown 

Definition at line 44 of file qgsquickprint.h.


Constructor & Destructor Documentation

QgsQuickPrint::QgsQuickPrint (  ) 

Definition at line 58 of file qgsquickprint.cpp.

References mPageSize.

QgsQuickPrint::~QgsQuickPrint (  )  [virtual]

Destructor.

Definition at line 63 of file qgsquickprint.cpp.


Member Function Documentation

QString QgsQuickPrint::pageSizeToString ( QPrinter::PageSize  theSize  )  [static]

Definition at line 1049 of file qgsquickprint.cpp.

Referenced by printMap().

QPrinter::PageSize QgsQuickPrint::stringToPageSize ( QString  theSize  )  [static]

Definition at line 1085 of file qgsquickprint.cpp.

void QgsQuickPrint::printMap (  )  [slot]

void QgsQuickPrint::setTitle ( QString  theText  )  [slot]

Definition at line 67 of file qgsquickprint.cpp.

References mTitleText.

void QgsQuickPrint::setName ( QString  theText  )  [slot]

Definition at line 71 of file qgsquickprint.cpp.

References mNameText.

void QgsQuickPrint::setCopyright ( QString  theText  )  [slot]

Definition at line 75 of file qgsquickprint.cpp.

References mCopyrightText.

void QgsQuickPrint::setNorthArrow ( QString  theFileName  )  [slot]

Definition at line 79 of file qgsquickprint.cpp.

References mNorthArrowFile.

void QgsQuickPrint::setLogo1 ( QString  theFileName  )  [slot]

Definition at line 83 of file qgsquickprint.cpp.

References mLogo1File, and QgsDebugMsg.

void QgsQuickPrint::setLogo2 ( QString  theFileName  )  [slot]

Definition at line 88 of file qgsquickprint.cpp.

References mLogo2File, and QgsDebugMsg.

void QgsQuickPrint::setOutputPdf ( QString  theFileName  )  [slot]

Definition at line 93 of file qgsquickprint.cpp.

References mOutputFileName.

void QgsQuickPrint::setPageSize ( QPrinter::PageSize  theSize  )  [slot]

Definition at line 110 of file qgsquickprint.cpp.

References mPageSize.

void QgsQuickPrint::setMapCanvas ( QgsMapCanvas thepMapCanvas  )  [slot]

This is just a convenience function to get the.

Definition at line 97 of file qgsquickprint.cpp.

References QgsMapCanvas::canvasColor(), QgsMapCanvas::mapRenderer(), mMapBackgroundColor, and mpMapRenderer.

void QgsQuickPrint::setMapRenderer ( QgsMapRenderer thepMapRenderer  )  [slot]

Definition at line 102 of file qgsquickprint.cpp.

References mpMapRenderer.

void QgsQuickPrint::setMapBackgroundColor ( QColor  theColor  )  [slot]

Definition at line 106 of file qgsquickprint.cpp.

References mMapBackgroundColor.

void QgsQuickPrint::renderPrintScaleBar ( QPainter *  thepPainter,
QgsMapRenderer thepMapRenderer,
int  theMaximumWidth 
) [private]

QStringList QgsQuickPrint::wordWrap ( QString  theString,
QFontMetrics  theMetrics,
int  theWidth 
) [private]

Definition at line 1010 of file qgsquickprint.cpp.

Referenced by printMap().

void QgsQuickPrint::scalePointSymbols ( int  theScaleFactor,
SymbolScalingType  theDirection 
) [private]

Scale symbols in all layers by the specified amount.

Typically used for printing. Each symbol in each layer of the active mapcanvas will be iterated to. If the symbol is a point symbol its size will be multiplied by the scale factor or divided. In order to choose an appropriate scale factor, typically you should divide the print resolution by the screen resolution (often 72dpi or 96dpi).

Parameters:
theScaleFactor amount by which symbol sizes will be multiplied.
theDirection whether the sizes should be scaled up or down.
See also:
scaleTextLabels

Definition at line 710 of file qgsquickprint.cpp.

References QgsMapLayerRegistry::instance(), QgsMapRenderer::layerSet(), QgsMapLayerRegistry::mapLayer(), mpMapRenderer, QGis::Point, QgsSymbol::pointSize(), QgsDebugMsg, QgsVectorLayer::renderer(), ScaleUp, QgsSymbol::setPointSize(), QgsRenderer::symbols(), and QgsSymbol::type().

void QgsQuickPrint::scaleTextLabels ( int  theScaleFactor,
SymbolScalingType  theDirection 
) [private]

Scale text labels in all layers by the specified amount.

Typically used for printing. Each label in each layer of the active mapcanvas will be iterated to. The font point size will be multiplied by the scale factor or divided. In order to choose an appropriate scale factor, typically you should divide the print resolution by the screen resolution (often 72dpi or 96dpi).

Parameters:
theScaleFactor amount by which symbol sizes will be multiplied.
theDirection whether the sizes should be scaled up or down.
See also:
scalePointSymbols

Definition at line 670 of file qgsquickprint.cpp.

References QgsMapLayerRegistry::instance(), QgsVectorLayer::label(), QgsLabel::labelAttributes(), QgsMapRenderer::layerSet(), QgsMapLayerRegistry::mapLayer(), mpMapRenderer, QgsDebugMsg, ScaleUp, QgsLabelAttributes::setSize(), QgsLabelAttributes::size(), and QgsLabelAttributes::sizeType().


Member Data Documentation

QString QgsQuickPrint::mTitleText [private]

Definition at line 104 of file qgsquickprint.h.

Referenced by printMap(), and setTitle().

QString QgsQuickPrint::mNameText [private]

Definition at line 105 of file qgsquickprint.h.

Referenced by printMap(), and setName().

QString QgsQuickPrint::mCopyrightText [private]

Definition at line 106 of file qgsquickprint.h.

Referenced by printMap(), and setCopyright().

QString QgsQuickPrint::mNorthArrowFile [private]

Definition at line 107 of file qgsquickprint.h.

Referenced by printMap(), and setNorthArrow().

QString QgsQuickPrint::mLogo1File [private]

Definition at line 108 of file qgsquickprint.h.

Referenced by printMap(), and setLogo1().

QString QgsQuickPrint::mLogo2File [private]

Definition at line 109 of file qgsquickprint.h.

Referenced by printMap(), and setLogo2().

QString QgsQuickPrint::mOutputFileName [private]

Definition at line 110 of file qgsquickprint.h.

Referenced by printMap(), and setOutputPdf().

Definition at line 111 of file qgsquickprint.h.

Referenced by setMapBackgroundColor(), and setMapCanvas().

QPrinter::PageSize QgsQuickPrint::mPageSize [private]

Definition at line 112 of file qgsquickprint.h.

Referenced by printMap(), QgsQuickPrint(), and setPageSize().


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

Generated on Sat Feb 4 19:17:46 2012 for Quantum GIS API Documentation by  doxygen 1.5.6