Skip to content

Commit 1e2e9c4

Browse files
committed
Add QgsComposerMultiFrame as base class for multi-frame composer content
1 parent 840e280 commit 1e2e9c4

File tree

3 files changed

+56
-0
lines changed

3 files changed

+56
-0
lines changed

src/core/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ SET(QGIS_CORE_SRCS
133133
composer/qgsnumericscalebarstyle.cpp
134134
composer/qgssingleboxscalebarstyle.cpp
135135
composer/qgsticksscalebarstyle.cpp
136+
composer/qgscomposermultiframe.cpp
136137
composer/qgscomposition.cpp
137138

138139
pal/costcalculator.cpp
@@ -280,6 +281,7 @@ SET(QGIS_CORE_MOC_HDRS
280281
composer/qgscomposerlabel.h
281282
composer/qgscomposershape.h
282283
composer/qgscomposerattributetable.h
284+
composer/qgscomposermultiframe.h
283285
composer/qgscomposition.h
284286

285287
composer/qgslegendmodel.h
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#include "qgscomposermultiframe.h"
2+
3+
QgsComposerMultiFrame::QgsComposerMultiFrame( QgsComposition* c ): mComposition( c )
4+
{
5+
}
6+
7+
QgsComposerMultiFrame::QgsComposerMultiFrame(): mComposition( 0 )
8+
{
9+
}
10+
11+
QgsComposerMultiFrame::~QgsComposerMultiFrame()
12+
{
13+
}
14+
15+
void QgsComposerMultiFrame::recalculateFrameSizes()
16+
{
17+
//todo...
18+
}
+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#ifndef QGSCOMPOSERMULTIFRAME_H
2+
#define QGSCOMPOSERMULTIFRAME_H
3+
4+
#include <QObject>
5+
#include <QSizeF>
6+
7+
class QgsComposerItem;
8+
class QgsComposition;
9+
10+
/**Abstract base class for composer entries with the ability to distribute the content to several frames (items)*/
11+
class QgsComposerMultiFrame: public QObject
12+
{
13+
Q_OBJECT
14+
public:
15+
16+
enum ResizeMode
17+
{
18+
ExtendToNextPage = 0, //duplicates last frame to next page to fit the total size
19+
UseExistingFrames //
20+
};
21+
22+
QgsComposerMultiFrame( QgsComposition* c );
23+
virtual ~QgsComposerMultiFrame();
24+
virtual QSizeF totalSize() = 0;
25+
26+
protected:
27+
QgsComposition* mComposition;
28+
QList<QgsComposerItem*> mFrameItems;
29+
30+
void recalculateFrameSizes();
31+
32+
private:
33+
QgsComposerMultiFrame(); //forbidden
34+
};
35+
36+
#endif // QGSCOMPOSERMULTIFRAME_H

0 commit comments

Comments
 (0)