|
29 | 29 | QgsMultiBandColorRenderer,
|
30 | 30 | QgsFillSymbol,
|
31 | 31 | QgsSingleSymbolRenderer,
|
32 |
| - QgsCoordinateReferenceSystem) |
| 32 | + QgsCoordinateReferenceSystem, |
| 33 | + QgsLayoutItemMapOverview) |
33 | 34 |
|
34 | 35 | from qgis.testing import start_app, unittest
|
35 | 36 | from utilities import unitTestDataPath
|
@@ -237,6 +238,57 @@ def test_StackingPosition(self):
|
237 | 238 | overviewMap.overview().setStackingLayer(None)
|
238 | 239 | self.assertIsNone(overviewMap.overview().stackingLayer())
|
239 | 240 |
|
| 241 | + def test_ModifyMapLayerList(self): |
| 242 | + l = QgsLayout(QgsProject.instance()) |
| 243 | + l.initializeDefaults() |
| 244 | + |
| 245 | + overviewMap = QgsLayoutItemMap(l) |
| 246 | + overviewMap.attemptSetSceneRect(QRectF(20, 130, 70, 70)) |
| 247 | + l.addLayoutItem(overviewMap) |
| 248 | + map = QgsLayoutItemMap(l) |
| 249 | + map.attemptSetSceneRect(QRectF(20, 20, 200, 100)) |
| 250 | + l.addLayoutItem(map) |
| 251 | + |
| 252 | + self.assertFalse(overviewMap.overviews().modifyMapLayerList([])) |
| 253 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), [self.raster_layer, self.vector_layer]) |
| 254 | + overviewMap.overview().setLinkedMap(map) |
| 255 | + overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackBelowMap) |
| 256 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 257 | + [self.raster_layer, self.vector_layer, overviewMap.overview().asMapLayer()]) |
| 258 | + overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackBelowMapLayer) |
| 259 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 260 | + [self.raster_layer, self.vector_layer]) |
| 261 | + overviewMap.overview().setStackingLayer(self.raster_layer) |
| 262 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 263 | + [self.raster_layer, overviewMap.overview().asMapLayer(), self.vector_layer]) |
| 264 | + overviewMap.overview().setStackingLayer(self.vector_layer) |
| 265 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 266 | + [self.raster_layer, self.vector_layer, overviewMap.overview().asMapLayer()]) |
| 267 | + overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackAboveMapLayer) |
| 268 | + overviewMap.overview().setStackingLayer(None) |
| 269 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 270 | + [self.raster_layer, self.vector_layer]) |
| 271 | + overviewMap.overview().setStackingLayer(self.raster_layer) |
| 272 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 273 | + [overviewMap.overview().asMapLayer(), self.raster_layer, self.vector_layer]) |
| 274 | + overviewMap.overview().setStackingLayer(self.vector_layer) |
| 275 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 276 | + [self.raster_layer, overviewMap.overview().asMapLayer(), self.vector_layer]) |
| 277 | + overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackBelowMapLabels) |
| 278 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 279 | + [overviewMap.overview().asMapLayer(), self.raster_layer, self.vector_layer]) |
| 280 | + overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackAboveMapLabels) |
| 281 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 282 | + [self.raster_layer, self.vector_layer]) |
| 283 | + |
| 284 | + # two overviews |
| 285 | + overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackBelowMap) |
| 286 | + overviewMap.overviews().addOverview(QgsLayoutItemMapOverview('x', overviewMap)) |
| 287 | + overviewMap.overviews().overview(1).setLinkedMap(map) |
| 288 | + overviewMap.overviews().overview(1).setStackingPosition(QgsLayoutItemMapItem.StackBelowMapLabels) |
| 289 | + self.assertEqual(overviewMap.overviews().modifyMapLayerList([self.raster_layer, self.vector_layer]), |
| 290 | + [overviewMap.overviews().overview(1).asMapLayer(), self.raster_layer, self.vector_layer, overviewMap.overview().asMapLayer()]) |
| 291 | + |
240 | 292 |
|
241 | 293 | if __name__ == '__main__':
|
242 | 294 | unittest.main()
|
0 commit comments