QGIS API Documentation
2.6.0-Brighton
|
Abstract base class for composer items with the ability to distribute the content to several frames (QgsComposerFrame items). More...
#include <qgscomposermultiframe.h>
Public Types | |
enum | ResizeMode { UseExistingFrames = 0, ExtendToNextPage, RepeatOnEveryPage, RepeatUntilFinished } |
Public Types inherited from QgsComposerObject | |
enum | DataDefinedProperty { NoProperty = 0, AllProperties, TestProperty, PresetPaperSize, PaperWidth, PaperHeight, NumPages, PaperOrientation, PageNumber, PositionX, PositionY, ItemWidth, ItemHeight, ItemRotation, Transparency, BlendMode, ExcludeFromExports, MapRotation, MapScale, MapXMin, MapYMin, MapXMax, MapYMax, MapAtlasMargin, PictureSource, SourceUrl } |
Data defined properties for different item types. More... | |
enum | PropertyValueType { EvaluatedValue = 0, OriginalValue } |
Specifies whether the value returned by a function should be the original, user set value, or the current evaluated value for the property. More... |
Public Slots | |
void | update () |
Forces a redraw of all child frames. | |
virtual void | recalculateFrameSizes () |
Recalculates the portion of the multiframe item which is shown in each of it's component frames. | |
void | recalculateFrameRects () |
Forces a recalculation of all the associated frame's scene rectangles. | |
Public Slots inherited from QgsComposerObject | |
virtual void | repaint () |
Triggers a redraw for the item. | |
virtual void | refreshDataDefinedProperty (const DataDefinedProperty property=AllProperties) |
Refreshes a data defined property for the item by reevaluating the property's value and redrawing the item with this new value. |
Signals | |
void | changed () |
Emitted when the properties of a multi frame have changed, and the GUI item widget must be updated. | |
void | contentsChanged () |
Emitted when the contents of the multi frame have changed and the frames must be redrawn. | |
Signals inherited from QgsComposerObject | |
void | itemChanged () |
Emitted when the item changes. |
Public Member Functions | |
QgsComposerMultiFrame (QgsComposition *c, bool createUndoCommands) | |
Construct a new multiframe item. | |
virtual | ~QgsComposerMultiFrame () |
virtual QSizeF | totalSize () const =0 |
Returns the total size of the multiframe's content. | |
virtual QSizeF | fixedFrameSize (const int frameIndex=-1) const |
Returns the fixed size for a frame, if desired. | |
virtual QSizeF | minFrameSize (const int frameIndex=-1) const |
Returns the minimum size for a frames, if desired. | |
virtual Q_DECL_DEPRECATED void | render (QPainter *p, const QRectF &renderExtent) |
Renders a portion of the multiframe's content into a painter. | |
virtual void | render (QPainter *painter, const QRectF &renderExtent, const int frameIndex) |
Renders a portion of the multiframe's content into a painter. | |
virtual void | addFrame (QgsComposerFrame *frame, bool recalcFrameSizes=true)=0 |
Adds a frame to the multiframe. | |
virtual double | findNearbyPageBreak (double yPos) |
Finds the optimal position to break a frame at. | |
void | removeFrame (int i, const bool removeEmptyPages=false) |
Removes a frame from the multiframe. | |
void | deleteFrames () |
Removes and deletes all child frames. | |
void | setResizeMode (ResizeMode mode) |
Sets the resize mode for the multiframe, and recalculates frame sizes to match. | |
ResizeMode | resizeMode () const |
Returns the resize mode for the multiframe. | |
virtual bool | writeXML (QDomElement &elem, QDomDocument &doc, bool ignoreFrames=false) const =0 |
Stores state information about multiframe in DOM element. | |
bool | _writeXML (QDomElement &elem, QDomDocument &doc, bool ignoreFrames=false) const |
Stores state information about base multiframe object in DOM element. | |
virtual bool | readXML (const QDomElement &itemElem, const QDomDocument &doc, bool ignoreFrames=false)=0 |
Reads multiframe state information from a DOM element. | |
bool | _readXML (const QDomElement &itemElem, const QDomDocument &doc, bool ignoreFrames=false) |
Restores state information about base multiframe object from a DOM element. | |
QgsComposition * | composition () |
Returns the parent composition for the multiframe. | |
bool | createUndoCommands () const |
Returns whether undo commands should be created for interactions with the multiframe. | |
void | setCreateUndoCommands (bool enabled) |
Sets whether undo commands should be created for interactions with the multiframe. | |
int | frameCount () const |
Returns the number of frames associated with this multiframe. | |
QgsComposerFrame * | frame (int i) const |
Returns a child frame from the multiframe. | |
int | frameIndex (QgsComposerFrame *frame) const |
Returns the index of a frame within the multiframe. | |
QgsComposerFrame * | createNewFrame (QgsComposerFrame *currentFrame, QPointF pos, QSizeF size) |
Creates a new frame and adds it to the multi frame and composition. | |
virtual QString | displayName () const |
Get multiframe display name. | |
Public Member Functions inherited from QgsComposerObject | |
QgsComposerObject (QgsComposition *composition) | |
Constructor. | |
virtual | ~QgsComposerObject () |
const QgsComposition * | composition () const |
Returns the composition the item is attached to. | |
virtual bool | writeXML (QDomElement &elem, QDomDocument &doc) const |
Stores item state in DOM element. | |
virtual bool | readXML (const QDomElement &itemElem, const QDomDocument &doc) |
Sets item state from DOM element. | |
QgsDataDefined * | dataDefinedProperty (const DataDefinedProperty property) const |
Returns a reference to the data defined settings for one of the item's data defined properties. | |
void | setDataDefinedProperty (const DataDefinedProperty property, const bool active, const bool useExpression, const QString &expression, const QString &field) |
Sets parameters for a data defined property for the item. |
Protected Slots | |
void | handleFrameRemoval (QgsComposerItem *item) |
Called before a frame is going to be removed. | |
void | handlePageChange () |
Adapts to changed number of composition pages if resize type is RepeatOnEveryPage. |
Protected Attributes | |
QList< QgsComposerFrame * > | mFrameItems |
ResizeMode | mResizeMode |
bool | mCreateUndoCommands |
True: creates QgsMultiFrameCommands on internal changes (e.g. | |
Protected Attributes inherited from QgsComposerObject | |
QgsComposition * | mComposition |
QMap < QgsComposerObject::DataDefinedProperty, QString > | mDataDefinedNames |
Map of data defined properties for the item to string name to use when exporting item to xml. |
Additional Inherited Members | |
Protected Member Functions inherited from QgsComposerObject | |
bool | dataDefinedEvaluate (const QgsComposerObject::DataDefinedProperty property, QVariant &expressionValue) |
Evaluate a data defined property and return the calculated value. |
Abstract base class for composer items with the ability to distribute the content to several frames (QgsComposerFrame items).
Specifies the behaviour for creating new frames to fit the multiframe's content
QgsComposerMultiFrame::QgsComposerMultiFrame | ( | QgsComposition * | c, |
bool | createUndoCommands | ||
) |
Construct a new multiframe item.
c | parent composition |
createUndoCommands |
|
virtual |
bool QgsComposerMultiFrame::_readXML | ( | const QDomElement & | itemElem, |
const QDomDocument & | doc, | ||
bool | ignoreFrames = false |
||
) |
Restores state information about base multiframe object from a DOM element.
Implementations of readXML should call this method.
itemElem | is DOM element |
doc | is the DOM document |
ignoreFrames | set to false to avoid reading state information about child frames from DOM |
bool QgsComposerMultiFrame::_writeXML | ( | QDomElement & | elem, |
QDomDocument & | doc, | ||
bool | ignoreFrames = false |
||
) | const |
Stores state information about base multiframe object in DOM element.
Implementations of writeXML should call this method.
elem | is DOM element |
doc | is the DOM document |
ignoreFrames | set to false to avoid writing state information about child frames into DOM |
|
pure virtual |
Adds a frame to the multiframe.
frame | frame to add |
recalcFrameSizes | set to true to force recalculation of all existing frame sizes |
Implemented in QgsComposerHtml, and QgsComposerAttributeTableV2.
|
signal |
Emitted when the properties of a multi frame have changed, and the GUI item widget must be updated.
|
inline |
Returns the parent composition for the multiframe.
Reimplemented from QgsComposerObject.
|
signal |
Emitted when the contents of the multi frame have changed and the frames must be redrawn.
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 |
|
inline |
Returns whether undo commands should be created for interactions with the multiframe.
void QgsComposerMultiFrame::deleteFrames | ( | ) |
Removes and deletes all child frames.
|
virtual |
Get multiframe display name.
Reimplemented in QgsComposerHtml, and QgsComposerAttributeTableV2.
|
inlinevirtual |
Finds the optimal position to break a frame at.
yPos | maximum vertical position for break |
Reimplemented in QgsComposerHtml.
|
inlinevirtual |
Returns the fixed size for a frame, if desired.
If the fixed frame size changes, the sizes of all frames can be recalculated by calling recalculateFrameRects().
frameIndex | frame number |
Reimplemented in QgsComposerTableV2.
QgsComposerFrame * QgsComposerMultiFrame::frame | ( | int | i | ) | const |
Returns a child frame from the multiframe.
i | index of frame |
|
inline |
Returns the number of frames associated with this multiframe.
int QgsComposerMultiFrame::frameIndex | ( | QgsComposerFrame * | frame | ) | const |
Returns the index of a frame within the multiframe.
frame | frame to find index of |
|
protectedslot |
Called before a frame is going to be removed.
Updates frame list and recalculates content of remaining frames.
|
protectedslot |
Adapts to changed number of composition pages if resize type is RepeatOnEveryPage.
|
inlinevirtual |
Returns the minimum size for a frames, if desired.
If the minimum size changes, the sizes of all frames can be recalculated by calling recalculateFrameRects().
frameIndex | frame number |
Reimplemented in QgsComposerTableV2.
|
pure virtual |
Reads multiframe state information from a DOM element.
Implementations of readXML should also call the _readXML method to restore general multiframe properties.
itemElem | is DOM element |
doc | is the DOM document |
ignoreFrames | set to false to avoid read state information about child frames from DOM |
Implemented in QgsComposerTableV2, QgsComposerHtml, and QgsComposerAttributeTableV2.
|
slot |
Forces a recalculation of all the associated frame's scene rectangles.
This method is useful for multiframes which implement a minFrameSize() or fixedFrameSize() method.
|
virtualslot |
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.
void QgsComposerMultiFrame::removeFrame | ( | int | i, |
const bool | removeEmptyPages = false |
||
) |
Removes a frame from the multiframe.
This method automatically removes the frame from the composition.
i | index of frame to remove |
removeEmptyPages | set to true to remove pages which are empty after the frame is removed |
|
virtual |
Renders a portion of the multiframe's content into a painter.
p | destination painter |
renderExtent | visible extent of content to render into the painter. |
|
virtual |
Renders a portion of the multiframe's content into a painter.
painter | destination painter |
renderExtent | visible extent of content to render into the painter. |
frameIndex | frame number for content |
Reimplemented in QgsComposerTableV2, and QgsComposerHtml.
|
inline |
|
inline |
Sets whether undo commands should be created for interactions with the multiframe.
enabled | set to true if undo commands should be created |
void QgsComposerMultiFrame::setResizeMode | ( | ResizeMode | mode | ) |
Sets the resize mode for the multiframe, and recalculates frame sizes to match.
mode | resize mode |
|
pure virtual |
Returns the total size of the multiframe's content.
Implemented in QgsComposerTableV2, and QgsComposerHtml.
|
slot |
Forces a redraw of all child frames.
|
pure virtual |
Stores state information about multiframe in DOM element.
Implementations of writeXML should also call the _writeXML method to save general multiframe properties.
elem | is DOM element |
doc | is the DOM document |
ignoreFrames | set to false to avoid writing state information about child frames into DOM |
Implemented in QgsComposerTableV2, QgsComposerHtml, and QgsComposerAttributeTableV2.
|
protected |
True: creates QgsMultiFrameCommands on internal changes (e.g.
changing frames )
|
protected |
|
protected |