|
25 | 25 | QgsLayoutPageCollection,
|
26 | 26 | QgsSimpleFillSymbolLayer,
|
27 | 27 | QgsFillSymbol)
|
28 |
| -from qgis.PyQt.QtCore import Qt, QCoreApplication, QEvent, QPointF |
| 28 | +from qgis.PyQt.QtCore import Qt, QCoreApplication, QEvent, QPointF, QRectF |
| 29 | + |
29 | 30 | from qgis.testing import start_app, unittest
|
30 | 31 |
|
31 | 32 | start_app()
|
@@ -378,6 +379,44 @@ def testPageAtPoint(self):
|
378 | 379 | self.assertEqual(collection.pageAtPoint(QPointF(10, 500)), page2)
|
379 | 380 | self.assertFalse(collection.pageAtPoint(QPointF(10, 600)))
|
380 | 381 |
|
| 382 | + def testVisiblePages(self): |
| 383 | + p = QgsProject() |
| 384 | + l = QgsLayout(p) |
| 385 | + collection = l.pageCollection() |
| 386 | + |
| 387 | + self.assertFalse(collection.visiblePages(QRectF(0, 0, 10, 10))) |
| 388 | + self.assertFalse(collection.visiblePageNumbers(QRectF(0, 0, 10, 10))) |
| 389 | + |
| 390 | + # add a page |
| 391 | + page = QgsLayoutItemPage(l) |
| 392 | + page.setPageSize('A4') |
| 393 | + collection.addPage(page) |
| 394 | + |
| 395 | + self.assertFalse(collection.visiblePages(QRectF(-10, -10, 5, 5))) |
| 396 | + self.assertFalse(collection.visiblePageNumbers(QRectF(-10, -10, 5, 5))) |
| 397 | + self.assertEqual(collection.visiblePages(QRectF(-10, -10, 15, 15)), [page]) |
| 398 | + self.assertEqual(collection.visiblePageNumbers(QRectF(-10, -10, 15, 15)), [0]) |
| 399 | + self.assertEqual(collection.visiblePages(QRectF(200, 200, 115, 115)), [page]) |
| 400 | + self.assertEqual(collection.visiblePageNumbers(QRectF(200, 200, 115, 115)), [0]) |
| 401 | + |
| 402 | + page2 = QgsLayoutItemPage(l) |
| 403 | + page2.setPageSize('A5') |
| 404 | + collection.addPage(page2) |
| 405 | + |
| 406 | + self.assertFalse(collection.visiblePages(QRectF(-10, -10, 5, 5))) |
| 407 | + self.assertFalse(collection.visiblePageNumbers(QRectF(-10, -10, 5, 5))) |
| 408 | + self.assertEqual(collection.visiblePages(QRectF(-10, -10, 15, 15)), [page]) |
| 409 | + self.assertEqual(collection.visiblePageNumbers(QRectF(-10, -10, 15, 15)), [0]) |
| 410 | + self.assertEqual(collection.visiblePages(QRectF(200, 200, 115, 115)), [page]) |
| 411 | + self.assertEqual(collection.visiblePageNumbers(QRectF(200, 200, 115, 115)), [0]) |
| 412 | + |
| 413 | + self.assertEqual(collection.visiblePages(QRectF(200, 200, 115, 615)), [page]) |
| 414 | + self.assertEqual(collection.visiblePageNumbers(QRectF(200, 200, 115, 115)), [0]) |
| 415 | + self.assertEqual(collection.visiblePages(QRectF(100, 200, 115, 615)), [page, page2]) |
| 416 | + self.assertEqual(collection.visiblePageNumbers(QRectF(100, 200, 115, 115)), [0, 1]) |
| 417 | + self.assertEqual(collection.visiblePages(QRectF(100, 310, 115, 615)), [page2]) |
| 418 | + self.assertEqual(collection.visiblePageNumbers(QRectF(100, 310, 115, 115)), [1]) |
| 419 | + |
381 | 420 |
|
382 | 421 | if __name__ == '__main__':
|
383 | 422 | unittest.main()
|
0 commit comments