QGIS API Documentation
2.4.0-Chugiak
|
Abstract base class for composer entries with the ability to distribute the content to several frames (items) More...
#include <qgscomposermultiframe.h>
Public Types | |
enum | ResizeMode { UseExistingFrames = 0, ExtendToNextPage, RepeatOnEveryPage, RepeatUntilFinished } |
Public Slots | |
void | recalculateFrameSizes () |
Recalculates the portion of the multiframe item which is shown in each of it's component frames. More... | |
Signals | |
void | changed () |
Public Member Functions | |
QgsComposerMultiFrame (QgsComposition *c, bool createUndoCommands) | |
virtual | ~QgsComposerMultiFrame () |
virtual QSizeF | totalSize () const =0 |
virtual void | render (QPainter *p, const QRectF &renderExtent)=0 |
virtual void | addFrame (QgsComposerFrame *frame, bool recalcFrameSizes=true)=0 |
virtual double | findNearbyPageBreak (double yPos) |
Finds the optimal position to break a frame at. More... | |
void | removeFrame (int i) |
void | update () |
void | setResizeMode (ResizeMode mode) |
ResizeMode | resizeMode () const |
virtual bool | writeXML (QDomElement &elem, QDomDocument &doc, bool ignoreFrames=false) const =0 |
bool | _writeXML (QDomElement &elem, QDomDocument &doc, bool ignoreFrames=false) const |
virtual bool | readXML (const QDomElement &itemElem, const QDomDocument &doc, bool ignoreFrames=false)=0 |
bool | _readXML (const QDomElement &itemElem, const QDomDocument &doc, bool ignoreFrames=false) |
QgsComposition * | composition () |
bool | createUndoCommands () const |
void | setCreateUndoCommands (bool enabled) |
void | deleteFrames () |
Removes and deletes all frames from mComposition. More... | |
int | frameCount () const |
Return the number of frames associated with this multiframeset. More... | |
QgsComposerFrame * | frame (int i) const |
QgsComposerFrame * | createNewFrame (QgsComposerFrame *currentFrame, QPointF pos, QSizeF size) |
Creates a new frame and adds it to the multi frame and composition. More... | |
Protected Slots | |
void | handleFrameRemoval (QgsComposerItem *item) |
Called before a frame is going to be removed (update frame list) More... | |
void | handlePageChange () |
Adapts to changed number of pages if resize type is RepeatOnEveryPage. More... | |
Protected Attributes | |
QgsComposition * | mComposition |
QList< QgsComposerFrame * > | mFrameItems |
ResizeMode | mResizeMode |
bool | mCreateUndoCommands |
True: creates QgsMultiFrameCommands on internal changes (e.g. More... | |
Private Member Functions | |
QgsComposerMultiFrame () | |
Private Attributes | |
bool | mIsRecalculatingSize |
Abstract base class for composer entries with the ability to distribute the content to several frames (items)
Definition at line 32 of file qgscomposermultiframe.h.
Enumerator | |
---|---|
UseExistingFrames | |
ExtendToNextPage | |
RepeatOnEveryPage | |
RepeatUntilFinished |
Definition at line 37 of file qgscomposermultiframe.h.
QgsComposerMultiFrame::QgsComposerMultiFrame | ( | QgsComposition * | c, |
bool | createUndoCommands | ||
) |
Definition at line 21 of file qgscomposermultiframe.cpp.
References QgsComposition::addMultiFrame(), handlePageChange(), and mComposition.
|
virtual |
Definition at line 38 of file qgscomposermultiframe.cpp.
References deleteFrames().
|
private |
Definition at line 31 of file qgscomposermultiframe.cpp.
bool QgsComposerMultiFrame::_readXML | ( | const QDomElement & | itemElem, |
const QDomDocument & | doc, | ||
bool | ignoreFrames = false |
||
) |
Definition at line 319 of file qgscomposermultiframe.cpp.
References addFrame(), mComposition, mResizeMode, and QgsComposerFrame::readXML().
Referenced by QgsComposerHtml::readXML().
bool QgsComposerMultiFrame::_writeXML | ( | QDomElement & | elem, |
QDomDocument & | doc, | ||
bool | ignoreFrames = false |
||
) | const |
Definition at line 305 of file qgscomposermultiframe.cpp.
References mFrameItems, and mResizeMode.
Referenced by QgsComposerHtml::writeXML().
|
pure virtual |
Implemented in QgsComposerHtml.
Referenced by _readXML(), createNewFrame(), and handlePageChange().
|
signal |
|
inline |
Definition at line 72 of file qgscomposermultiframe.h.
QgsComposerFrame * QgsComposerMultiFrame::createNewFrame | ( | QgsComposerFrame * | currentFrame, |
QPointF | pos, | ||
QSizeF | size | ||
) |
Creates a new frame and adds it to the multi frame and composition.
currentFrame | an existing QgsComposerFrame from which to copy the size and general frame properties (eg frame style, background, rendering settings). |
pos | position of top-left corner of the new frame |
size | size of the new frame |
Definition at line 163 of file qgscomposermultiframe.cpp.
References addFrame(), QgsComposerItem::backgroundColor(), QgsComposerItem::blendMode(), QgsComposerItem::frameJoinStyle(), QgsComposerItem::frameOutlineWidth(), QgsComposerItem::hasBackground(), QgsComposerItem::hasFrame(), mComposition, QgsComposerItem::setBackgroundColor(), QgsComposerItem::setBackgroundEnabled(), QgsComposerItem::setBlendMode(), QgsComposerItem::setFrameEnabled(), QgsComposerItem::setFrameJoinStyle(), and QgsComposerItem::setFrameOutlineWidth().
Referenced by recalculateFrameSizes().
|
inline |
Definition at line 74 of file qgscomposermultiframe.h.
void QgsComposerMultiFrame::deleteFrames | ( | ) |
Removes and deletes all frames from mComposition.
Definition at line 280 of file qgscomposermultiframe.cpp.
References handleFrameRemoval(), mComposition, mFrameItems, mResizeMode, QgsComposition::removeComposerItem(), and UseExistingFrames.
Referenced by QgsComposerHtml::readXML(), and ~QgsComposerMultiFrame().
|
inlinevirtual |
Finds the optimal position to break a frame at.
yPos | maximum vertical position for break |
Reimplemented in QgsComposerHtml.
Definition at line 57 of file qgscomposermultiframe.h.
Referenced by recalculateFrameSizes().
QgsComposerFrame * QgsComposerMultiFrame::frame | ( | int | i | ) | const |
Definition at line 296 of file qgscomposermultiframe.cpp.
References mFrameItems.
Referenced by handleFrameRemoval(), and handlePageChange().
|
inline |
Return the number of frames associated with this multiframeset.
Definition at line 83 of file qgscomposermultiframe.h.
Referenced by QgsComposerHtml::loadHtml(), and QgsComposition::removeComposerItem().
|
protectedslot |
Called before a frame is going to be removed (update frame list)
Definition at line 187 of file qgscomposermultiframe.cpp.
References changed(), frame(), index, mFrameItems, mIsRecalculatingSize, mResizeMode, recalculateFrameSizes(), RepeatOnEveryPage, resizeMode(), and UseExistingFrames.
Referenced by deleteFrames(), and QgsComposerHtml::QgsComposerHtml().
|
protectedslot |
Adapts to changed number of pages if resize type is RepeatOnEveryPage.
Definition at line 213 of file qgscomposermultiframe.cpp.
References addFrame(), frame(), mComposition, mFrameItems, mResizeMode, QgsComposition::numPages(), QgsComposition::paperHeight(), recalculateFrameSizes(), removeFrame(), RepeatOnEveryPage, QgsComposition::spaceBetweenPages(), and update().
Referenced by QgsComposerMultiFrame().
|
pure virtual |
Implemented in QgsComposerHtml.
Referenced by QgsComposerMultiFrameCommand::restoreState().
|
slot |
Recalculates the portion of the multiframe item which is shown in each of it's component frames.
If the resize mode is set to anything but UseExistingFrames then this may cause new frames to be added or frames to be removed, in order to fit the current size of the multiframe's content.
Definition at line 53 of file qgscomposermultiframe.cpp.
References createNewFrame(), ExtendToNextPage, findNearbyPageBreak(), mComposition, mFrameItems, mResizeMode, QgsComposition::numPages(), QgsComposition::paperHeight(), removeFrame(), RepeatOnEveryPage, RepeatUntilFinished, QgsComposerFrame::setContentSection(), QgsComposition::setNumPages(), size, QgsComposition::spaceBetweenPages(), totalSize(), and UseExistingFrames.
Referenced by QgsComposerHtml::addFrame(), handleFrameRemoval(), handlePageChange(), QgsComposerHtml::loadHtml(), QgsComposerHtml::setMaxBreakDistance(), setResizeMode(), and QgsComposerHtml::setUseSmartBreaks().
void QgsComposerMultiFrame::removeFrame | ( | int | i | ) |
Definition at line 254 of file qgscomposermultiframe.cpp.
References mComposition, mFrameItems, mIsRecalculatingSize, and QgsComposition::removeComposerItem().
Referenced by handlePageChange(), and recalculateFrameSizes().
|
pure virtual |
Implemented in QgsComposerHtml.
Referenced by QgsComposerFrame::paint().
|
inline |
Definition at line 64 of file qgscomposermultiframe.h.
Referenced by handleFrameRemoval().
|
inline |
Definition at line 75 of file qgscomposermultiframe.h.
Referenced by QgsComposition::addItemsFromXML().
void QgsComposerMultiFrame::setResizeMode | ( | ResizeMode | mode | ) |
Definition at line 43 of file qgscomposermultiframe.cpp.
References changed(), mResizeMode, and recalculateFrameSizes().
|
pure virtual |
Implemented in QgsComposerHtml.
Referenced by recalculateFrameSizes().
void QgsComposerMultiFrame::update | ( | ) |
Definition at line 271 of file qgscomposermultiframe.cpp.
References mFrameItems.
Referenced by handlePageChange().
|
pure virtual |
Implemented in QgsComposerHtml.
Referenced by QgsComposerMultiFrameCommand::saveState().
|
protected |
Definition at line 106 of file qgscomposermultiframe.h.
Referenced by _readXML(), QgsComposerHtml::addFrame(), createNewFrame(), deleteFrames(), handlePageChange(), QgsComposerHtml::htmlUnitsToMM(), QgsComposerHtml::QgsComposerHtml(), QgsComposerMultiFrame(), recalculateFrameSizes(), and removeFrame().
|
protected |
True: creates QgsMultiFrameCommands on internal changes (e.g.
changing frames )
Definition at line 110 of file qgscomposermultiframe.h.
|
protected |
Definition at line 107 of file qgscomposermultiframe.h.
Referenced by _writeXML(), QgsComposerHtml::addFrame(), deleteFrames(), frame(), handleFrameRemoval(), handlePageChange(), QgsComposerHtml::loadHtml(), recalculateFrameSizes(), removeFrame(), and update().
|
private |
Definition at line 121 of file qgscomposermultiframe.h.
Referenced by handleFrameRemoval(), and removeFrame().
|
protected |
Definition at line 108 of file qgscomposermultiframe.h.
Referenced by _readXML(), _writeXML(), deleteFrames(), handleFrameRemoval(), handlePageChange(), recalculateFrameSizes(), and setResizeMode().