Skip to content

Commit f0a6376

Browse files
authoredJul 26, 2017
Merge pull request #4910 from nyalldawson/layout_next
Layouts, chapter III
2 parents 11dd417 + c89a15a commit f0a6376

File tree

84 files changed

+5162
-401
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+5162
-401
lines changed
 

‎python/core/composer/qgscomposeritem.sip

Lines changed: 74 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -31,68 +31,87 @@ class QgsComposerItem: QgsComposerObject, QGraphicsRectItem
3131
#include <qgscomposerpolygon.h>
3232
#include <qgscomposerpolyline.h>
3333
#include <qgscomposertexttable.h>
34+
#include <qgslayoutitemshape.h>
35+
#include <qgslayoutitempage.h>
3436
%End
3537

3638
%ConvertToSubClassCode
3739
// the conversions have to be static, because they're using multiple inheritance
3840
// (seen in PyQt4 .sip files for some QGraphicsItem classes)
39-
switch ( sipCpp->type() )
41+
if ( dynamic_cast< QgsComposerItem * >( sipCpp ) )
4042
{
41-
case QgsComposerItem::ComposerItem:
42-
sipType = sipType_QgsComposerItem;
43-
*sipCppRet = static_cast<QgsComposerItem *>( sipCpp );
44-
break;
45-
case QgsComposerItem::ComposerArrow:
46-
sipType = sipType_QgsComposerArrow;
47-
*sipCppRet = static_cast<QgsComposerArrow *>( sipCpp );
48-
break;
49-
case QgsComposerItem::ComposerItemGroup:
50-
sipType = sipType_QgsComposerItemGroup;
51-
*sipCppRet = static_cast<QgsComposerItemGroup *>( sipCpp );
52-
break;
53-
case QgsComposerItem::ComposerLabel:
54-
sipType = sipType_QgsComposerLabel;
55-
*sipCppRet = static_cast<QgsComposerLabel *>( sipCpp );
56-
break;
57-
case QgsComposerItem::ComposerLegend:
58-
sipType = sipType_QgsComposerLegend;
59-
*sipCppRet = static_cast<QgsComposerLegend *>( sipCpp );
60-
break;
61-
case QgsComposerItem::ComposerMap:
62-
sipType = sipType_QgsComposerMap;
63-
*sipCppRet = static_cast<QgsComposerMap *>( sipCpp );
64-
break;
65-
case QgsComposerItem::ComposerPaper:
66-
sipType = sipType_QgsPaperItem;
67-
*sipCppRet = static_cast<QgsPaperItem *>( sipCpp );
68-
break;
69-
case QgsComposerItem::ComposerPicture:
70-
sipType = sipType_QgsComposerPicture;
71-
*sipCppRet = static_cast<QgsComposerPicture *>( sipCpp );
72-
break;
73-
case QgsComposerItem::ComposerScaleBar:
74-
sipType = sipType_QgsComposerScaleBar;
75-
*sipCppRet = static_cast<QgsComposerScaleBar *>( sipCpp );
76-
break;
77-
case QgsComposerItem::ComposerShape:
78-
sipType = sipType_QgsComposerShape;
79-
*sipCppRet = static_cast<QgsComposerShape *>( sipCpp );
80-
break;
81-
case QgsComposerItem::ComposerPolygon:
82-
sipType = sipType_QgsComposerPolygon;
83-
*sipCppRet = static_cast<QgsComposerPolygon *>( sipCpp );
84-
break;
85-
case QgsComposerItem::ComposerPolyline:
86-
sipType = sipType_QgsComposerPolyline;
87-
*sipCppRet = static_cast<QgsComposerPolyline *>( sipCpp );
88-
break;
89-
case QgsComposerItem::ComposerFrame:
90-
sipType = sipType_QgsComposerFrame;
91-
*sipCppRet = static_cast<QgsComposerFrame *>( sipCpp );
92-
break;
93-
default:
94-
sipType = 0;
43+
switch ( sipCpp->type() )
44+
{
45+
case QgsComposerItem::ComposerItem:
46+
sipType = sipType_QgsComposerItem;
47+
*sipCppRet = static_cast<QgsComposerItem *>( sipCpp );
48+
break;
49+
case QgsComposerItem::ComposerArrow:
50+
sipType = sipType_QgsComposerArrow;
51+
*sipCppRet = static_cast<QgsComposerArrow *>( sipCpp );
52+
break;
53+
case QgsComposerItem::ComposerItemGroup:
54+
sipType = sipType_QgsComposerItemGroup;
55+
*sipCppRet = static_cast<QgsComposerItemGroup *>( sipCpp );
56+
break;
57+
case QgsComposerItem::ComposerLabel:
58+
sipType = sipType_QgsComposerLabel;
59+
*sipCppRet = static_cast<QgsComposerLabel *>( sipCpp );
60+
break;
61+
case QgsComposerItem::ComposerLegend:
62+
sipType = sipType_QgsComposerLegend;
63+
*sipCppRet = static_cast<QgsComposerLegend *>( sipCpp );
64+
break;
65+
case QgsComposerItem::ComposerMap:
66+
sipType = sipType_QgsComposerMap;
67+
*sipCppRet = static_cast<QgsComposerMap *>( sipCpp );
68+
break;
69+
case QgsComposerItem::ComposerPaper:
70+
sipType = sipType_QgsPaperItem;
71+
*sipCppRet = static_cast<QgsPaperItem *>( sipCpp );
72+
break;
73+
case QgsComposerItem::ComposerPicture:
74+
sipType = sipType_QgsComposerPicture;
75+
*sipCppRet = static_cast<QgsComposerPicture *>( sipCpp );
76+
break;
77+
case QgsComposerItem::ComposerScaleBar:
78+
sipType = sipType_QgsComposerScaleBar;
79+
*sipCppRet = static_cast<QgsComposerScaleBar *>( sipCpp );
80+
break;
81+
case QgsComposerItem::ComposerShape:
82+
sipType = sipType_QgsComposerShape;
83+
*sipCppRet = static_cast<QgsComposerShape *>( sipCpp );
84+
break;
85+
case QgsComposerItem::ComposerPolygon:
86+
sipType = sipType_QgsComposerPolygon;
87+
*sipCppRet = static_cast<QgsComposerPolygon *>( sipCpp );
88+
break;
89+
case QgsComposerItem::ComposerPolyline:
90+
sipType = sipType_QgsComposerPolyline;
91+
*sipCppRet = static_cast<QgsComposerPolyline *>( sipCpp );
92+
break;
93+
case QgsComposerItem::ComposerFrame:
94+
sipType = sipType_QgsComposerFrame;
95+
*sipCppRet = static_cast<QgsComposerFrame *>( sipCpp );
96+
break;
97+
default:
98+
sipType = 0;
99+
}
95100
}
101+
else
102+
{
103+
switch ( sipCpp->type() )
104+
{
105+
// really, these *should* use the constants from QgsLayoutItemRegistry, but sip doesn't like that!
106+
case QGraphicsItem::UserType + 101:
107+
sipType = sipType_QgsLayoutItemPage;
108+
*sipCppRet = static_cast<QgsLayoutItemPage *>( sipCpp );
109+
break;
110+
default:
111+
sipType = 0;
112+
}
113+
}
114+
96115
%End
97116
public:
98117

‎python/core/core_auto.sip

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,8 +382,10 @@
382382
%Include layout/qgslayout.sip
383383
%Include layout/qgslayoutitem.sip
384384
%Include layout/qgslayoutitemmap.sip
385+
%Include layout/qgslayoutitempage.sip
385386
%Include layout/qgslayoutitemregistry.sip
386387
%Include layout/qgslayoutitemshape.sip
388+
%Include layout/qgslayoutpagecollection.sip
387389
%Include layout/qgslayoutobject.sip
388390
%Include symbology-ng/qgscptcityarchive.sip
389391
%Include symbology-ng/qgssvgcache.sip

0 commit comments

Comments
 (0)
Please sign in to comment.