From 3dbc1a0c2af06735469f66c16f18cc0067ed5f38 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Tue, 25 Jul 2017 14:14:20 +1000 Subject: [PATCH] Refine z order for some new items --- python/core/layout/qgslayout.sip | 3 ++- src/core/layout/qgslayout.h | 3 ++- src/core/layout/qgslayoutitem.cpp | 2 ++ src/gui/layout/qgslayoutview.cpp | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/python/core/layout/qgslayout.sip b/python/core/layout/qgslayout.sip index f9f9a1df694..751f44ff5be 100644 --- a/python/core/layout/qgslayout.sip +++ b/python/core/layout/qgslayout.sip @@ -23,9 +23,10 @@ class QgsLayout : QGraphicsScene, QgsExpressionContextGenerator enum ZValues { ZPage, + ZItem, ZGrid, ZMapTool, - + ZSnapIndicator, }; QgsLayout( QgsProject *project ); diff --git a/src/core/layout/qgslayout.h b/src/core/layout/qgslayout.h index ea2a654681e..3e1d9c11da3 100644 --- a/src/core/layout/qgslayout.h +++ b/src/core/layout/qgslayout.h @@ -42,9 +42,10 @@ class CORE_EXPORT QgsLayout : public QGraphicsScene, public QgsExpressionContext enum ZValues { ZPage = 0, //!< Z-value for page (paper) items + ZItem = 1, //!< Minimum z value for items ZGrid = 9999, //!< Z-value for page grids ZMapTool = 10000, //!< Z-value for temporary map tool items - + ZSnapIndicator = 10001, //!< Z-value for snapping indicator }; /** diff --git a/src/core/layout/qgslayoutitem.cpp b/src/core/layout/qgslayoutitem.cpp index 7da8eeadff6..bb3cc7c2a17 100644 --- a/src/core/layout/qgslayoutitem.cpp +++ b/src/core/layout/qgslayoutitem.cpp @@ -29,6 +29,8 @@ QgsLayoutItem::QgsLayoutItem( QgsLayout *layout ) , QGraphicsRectItem( 0 ) , mUuid( QUuid::createUuid().toString() ) { + setZValue( QgsLayout::ZItem ); + // needed to access current view transform during paint operations setFlags( flags() | QGraphicsItem::ItemUsesExtendedStyleOption ); setCacheMode( QGraphicsItem::DeviceCoordinateCache ); diff --git a/src/gui/layout/qgslayoutview.cpp b/src/gui/layout/qgslayoutview.cpp index 5d3d59125b1..5f61eea90c1 100644 --- a/src/gui/layout/qgslayoutview.cpp +++ b/src/gui/layout/qgslayoutview.cpp @@ -439,6 +439,7 @@ QgsLayoutViewSnapMarker::QgsLayoutViewSnapMarker() setPen( QPen( Qt::transparent, mSize ) ); setFlags( flags() | QGraphicsItem::ItemIgnoresTransformations ); + setZValue( QgsLayout::ZSnapIndicator ); } void QgsLayoutViewSnapMarker::paint( QPainter *p, const QStyleOptionGraphicsItem *, QWidget * )