def testReadWriteXml(self): p = QgsProject() l = QgsLayout(p) l.initializeDefaults() snapper = l.snapper() snapper.setSnapToGrid(True) snapper.setSnapTolerance(1) snapper.setSnapToGuides(True) doc = QDomDocument("testdoc") elem = doc.createElement("test") self.assertTrue(snapper.writeXml(elem, doc, QgsReadWriteContext())) l2 = QgsLayout(p) l2.initializeDefaults() snapper2 = l2.snapper() self.assertTrue(snapper2.readXml(elem.firstChildElement(), doc, QgsReadWriteContext())) self.assertTrue(snapper2.snapToGrid()) self.assertEqual(snapper2.snapTolerance(), 1) self.assertTrue(snapper2.snapToGuides()) snapper.setSnapToGrid(False) snapper.setSnapTolerance(1) snapper.setSnapToGuides(False) doc = QDomDocument("testdoc") elem = doc.createElement("test") self.assertTrue(snapper.writeXml(elem, doc, QgsReadWriteContext())) self.assertTrue(snapper2.readXml(elem.firstChildElement(), doc, QgsReadWriteContext())) self.assertFalse(snapper2.snapToGrid()) self.assertFalse(snapper2.snapToGuides())
def testReadWriteXml(self): p = QgsProject() l = QgsLayout(p) l.setName('my layout') l.setUnits(QgsUnitTypes.LayoutInches) collection = l.pageCollection() # add a page page = QgsLayoutItemPage(l) page.setPageSize('A6') collection.addPage(page) grid = l.gridSettings() grid.setResolution(QgsLayoutMeasurement(5, QgsUnitTypes.LayoutPoints)) g1 = QgsLayoutGuide(Qt.Horizontal, QgsLayoutMeasurement(5, QgsUnitTypes.LayoutCentimeters), l.pageCollection().page(0)) l.guides().addGuide(g1) snapper = l.snapper() snapper.setSnapTolerance(7) # add some items item1 = QgsLayoutItemMap(l) item1.setId('xxyyxx') l.addItem(item1) item2 = QgsLayoutItemMap(l) item2.setId('zzyyzz') l.addItem(item2) l.setReferenceMap(item2) doc = QDomDocument("testdoc") elem = l.writeXml(doc, QgsReadWriteContext()) l2 = QgsLayout(p) self.assertTrue(l2.readXml(elem, doc, QgsReadWriteContext())) self.assertEqual(l2.name(), 'my layout') self.assertEqual(l2.units(), QgsUnitTypes.LayoutInches) collection2 = l2.pageCollection() self.assertEqual(collection2.pageCount(), 1) self.assertAlmostEqual(collection2.page(0).pageSize().width(), 105, 4) self.assertEqual(collection2.page(0).pageSize().height(), 148) self.assertEqual(l2.gridSettings().resolution().length(), 5.0) self.assertEqual(l2.gridSettings().resolution().units(), QgsUnitTypes.LayoutPoints) self.assertEqual(l2.guides().guidesOnPage(0)[0].orientation(), Qt.Horizontal) self.assertEqual(l2.guides().guidesOnPage(0)[0].position().length(), 5.0) self.assertEqual(l2.guides().guidesOnPage(0)[0].position().units(), QgsUnitTypes.LayoutCentimeters) self.assertEqual(l2.snapper().snapTolerance(), 7) # check restored items new_item1 = l2.itemByUuid(item1.uuid()) self.assertTrue(new_item1) self.assertEqual(new_item1.id(), 'xxyyxx') new_item2 = l2.itemByUuid(item2.uuid()) self.assertTrue(new_item2) self.assertEqual(new_item2.id(), 'zzyyzz') self.assertEqual(l2.referenceMap().id(), 'zzyyzz')
def testReadWriteXml(self): p = QgsProject() l = QgsLayout(p) l.setName('my layout') l.setUnits(QgsUnitTypes.LayoutInches) collection = l.pageCollection() # add a page page = QgsLayoutItemPage(l) page.setPageSize('A6') collection.addPage(page) grid = l.gridSettings() grid.setResolution(QgsLayoutMeasurement(5, QgsUnitTypes.LayoutPoints)) g1 = QgsLayoutGuide(Qt.Horizontal, QgsLayoutMeasurement(5, QgsUnitTypes.LayoutCentimeters), l.pageCollection().page(0)) l.guides().addGuide(g1) snapper = l.snapper() snapper.setSnapTolerance(7) # add some items item1 = QgsLayoutItemMap(l) item1.setId('xxyyxx') l.addItem(item1) item2 = QgsLayoutItemMap(l) item2.setId('zzyyzz') l.addItem(item2) doc = QDomDocument("testdoc") elem = l.writeXml(doc, QgsReadWriteContext()) l2 = QgsLayout(p) self.assertTrue(l2.readXml(elem, doc, QgsReadWriteContext())) self.assertEqual(l2.name(), 'my layout') self.assertEqual(l2.units(), QgsUnitTypes.LayoutInches) collection2 = l2.pageCollection() self.assertEqual(collection2.pageCount(), 1) self.assertAlmostEqual(collection2.page(0).pageSize().width(), 105, 4) self.assertEqual(collection2.page(0).pageSize().height(), 148) self.assertEqual(l2.gridSettings().resolution().length(), 5.0) self.assertEqual(l2.gridSettings().resolution().units(), QgsUnitTypes.LayoutPoints) self.assertEqual(l2.guides().guidesOnPage(0)[0].orientation(), Qt.Horizontal) self.assertEqual(l2.guides().guidesOnPage(0)[0].position().length(), 5.0) self.assertEqual(l2.guides().guidesOnPage(0)[0].position().units(), QgsUnitTypes.LayoutCentimeters) self.assertEqual(l2.snapper().snapTolerance(), 7) # check restored items new_item1 = l2.itemByUuid(item1.uuid()) self.assertTrue(new_item1) self.assertEqual(new_item1.id(), 'xxyyxx') new_item2 = l2.itemByUuid(item2.uuid()) self.assertTrue(new_item2) self.assertEqual(new_item2.id(), 'zzyyzz')
def testReadWriteXml(self): p = QgsProject() l = QgsLayout(p) l.initializeDefaults() snapper = l.snapper() snapper.setSnapToGrid(True) snapper.setSnapTolerance(1) snapper.setSnapToGuides(True) snapper.setSnapToItems(True) doc = QDomDocument("testdoc") elem = doc.createElement("test") self.assertTrue(snapper.writeXml(elem, doc, QgsReadWriteContext())) l2 = QgsLayout(p) l2.initializeDefaults() snapper2 = l2.snapper() self.assertTrue(snapper2.readXml(elem.firstChildElement(), doc, QgsReadWriteContext())) self.assertTrue(snapper2.snapToGrid()) self.assertEqual(snapper2.snapTolerance(), 1) self.assertTrue(snapper2.snapToGuides()) self.assertTrue(snapper2.snapToItems()) snapper.setSnapToGrid(False) snapper.setSnapTolerance(1) snapper.setSnapToGuides(False) snapper.setSnapToItems(False) doc = QDomDocument("testdoc") elem = doc.createElement("test") self.assertTrue(snapper.writeXml(elem, doc, QgsReadWriteContext())) self.assertTrue(snapper2.readXml(elem.firstChildElement(), doc, QgsReadWriteContext())) self.assertFalse(snapper2.snapToGrid()) self.assertFalse(snapper2.snapToGuides()) self.assertFalse(snapper2.snapToItems())