Add QgsComposerMultiFrame as base class for multi-frame composer content

This commit is contained in:
Marco Hugentobler 2012-07-24 14:39:14 +02:00
parent 840e280805
commit 1e2e9c4d6e
3 changed files with 56 additions and 0 deletions

View File

@ -133,6 +133,7 @@ SET(QGIS_CORE_SRCS
composer/qgsnumericscalebarstyle.cpp
composer/qgssingleboxscalebarstyle.cpp
composer/qgsticksscalebarstyle.cpp
composer/qgscomposermultiframe.cpp
composer/qgscomposition.cpp
pal/costcalculator.cpp
@ -280,6 +281,7 @@ SET(QGIS_CORE_MOC_HDRS
composer/qgscomposerlabel.h
composer/qgscomposershape.h
composer/qgscomposerattributetable.h
composer/qgscomposermultiframe.h
composer/qgscomposition.h
composer/qgslegendmodel.h

View File

@ -0,0 +1,18 @@
#include "qgscomposermultiframe.h"
QgsComposerMultiFrame::QgsComposerMultiFrame( QgsComposition* c ): mComposition( c )
{
}
QgsComposerMultiFrame::QgsComposerMultiFrame(): mComposition( 0 )
{
}
QgsComposerMultiFrame::~QgsComposerMultiFrame()
{
}
void QgsComposerMultiFrame::recalculateFrameSizes()
{
//todo...
}

View File

@ -0,0 +1,36 @@
#ifndef QGSCOMPOSERMULTIFRAME_H
#define QGSCOMPOSERMULTIFRAME_H
#include <QObject>
#include <QSizeF>
class QgsComposerItem;
class QgsComposition;
/**Abstract base class for composer entries with the ability to distribute the content to several frames (items)*/
class QgsComposerMultiFrame: public QObject
{
Q_OBJECT
public:
enum ResizeMode
{
ExtendToNextPage = 0, //duplicates last frame to next page to fit the total size
UseExistingFrames //
};
QgsComposerMultiFrame( QgsComposition* c );
virtual ~QgsComposerMultiFrame();
virtual QSizeF totalSize() = 0;
protected:
QgsComposition* mComposition;
QList<QgsComposerItem*> mFrameItems;
void recalculateFrameSizes();
private:
QgsComposerMultiFrame(); //forbidden
};
#endif // QGSCOMPOSERMULTIFRAME_H