def testCombo(self): project = QgsProject() manager = QgsLayoutManager(project) layout = QgsPrintLayout(project) layout.setName('ccc') self.assertTrue(manager.addLayout(layout)) layout2 = QgsPrintLayout(project) layout2.setName('bbb') self.assertTrue(manager.addLayout(layout2)) r = QgsReport(project) r.setName('ddd') manager.addLayout(r) combo = QgsLayoutComboBox(None, manager) spy = QSignalSpy(combo.layoutChanged) self.assertEqual(combo.count(), 3) self.assertEqual(combo.itemText(0), 'bbb') self.assertEqual(combo.itemText(1), 'ccc') self.assertEqual(combo.itemText(2), 'ddd') self.assertEqual(combo.layout(0), layout2) self.assertEqual(combo.layout(1), layout) self.assertEqual(combo.layout(2), r) combo.setCurrentLayout(None) self.assertEqual(combo.currentLayout(), None) self.assertEqual(len(spy), 1) combo.setCurrentLayout(layout) self.assertEqual(combo.currentLayout(), layout) self.assertEqual(len(spy), 2) combo.setCurrentLayout(r) self.assertEqual(combo.currentLayout(), r) self.assertEqual(len(spy), 3) combo.setCurrentLayout(layout2) self.assertEqual(combo.currentLayout(), layout2) self.assertEqual(len(spy), 4) combo.setAllowEmptyLayout(True) self.assertEqual(combo.count(), 4) self.assertEqual(combo.itemText(0), '') self.assertEqual(combo.itemText(1), 'bbb') self.assertEqual(combo.itemText(2), 'ccc') self.assertEqual(combo.itemText(3), 'ddd') combo.setCurrentLayout(None) self.assertEqual(combo.currentIndex(), 0) combo.setFilters(QgsLayoutManagerProxyModel.FilterPrintLayouts) self.assertEqual(combo.count(), 3) self.assertEqual(combo.itemText(0), '') self.assertEqual(combo.itemText(1), 'bbb') self.assertEqual(combo.itemText(2), 'ccc') combo.setFilters(QgsLayoutManagerProxyModel.FilterReports) self.assertEqual(combo.filters(), QgsLayoutManagerProxyModel.FilterReports) self.assertEqual(combo.count(), 2) self.assertEqual(combo.itemText(0), '') self.assertEqual(combo.itemText(1), 'ddd')
def testCombo(self): project = QgsProject() manager = QgsLayoutManager(project) layout = QgsPrintLayout(project) layout.setName('ccc') self.assertTrue(manager.addLayout(layout)) layout2 = QgsPrintLayout(project) layout2.setName('bbb') self.assertTrue(manager.addLayout(layout2)) r = QgsReport(project) r.setName('ddd') manager.addLayout(r) combo = QgsLayoutComboBox(None, manager) spy = QSignalSpy(combo.layoutChanged) self.assertEqual(combo.count(), 3) self.assertEqual(combo.itemText(0), 'bbb') self.assertEqual(combo.itemText(1), 'ccc') self.assertEqual(combo.itemText(2), 'ddd') self.assertEqual(combo.layout(0), layout2) self.assertEqual(combo.layout(1), layout) self.assertEqual(combo.layout(2), r) combo.setCurrentLayout(None) self.assertEqual(combo.currentLayout(), None) self.assertEqual(len(spy), 1) combo.setCurrentLayout(layout) self.assertEqual(combo.currentLayout(), layout) self.assertEqual(len(spy), 2) combo.setCurrentLayout(r) self.assertEqual(combo.currentLayout(), r) self.assertEqual(len(spy), 3) combo.setCurrentLayout(layout2) self.assertEqual(combo.currentLayout(), layout2) self.assertEqual(len(spy), 4) combo.setAllowEmptyLayout(True) self.assertEqual(combo.count(), 4) self.assertEqual(combo.itemText(0), '') self.assertEqual(combo.itemText(1), 'bbb') self.assertEqual(combo.itemText(2), 'ccc') self.assertEqual(combo.itemText(3), 'ddd') combo.setCurrentLayout(None) self.assertEqual(combo.currentIndex(), 0) combo.setFilters(QgsLayoutManagerProxyModel.FilterPrintLayouts) self.assertEqual(combo.count(), 3) self.assertEqual(combo.itemText(0), '') self.assertEqual(combo.itemText(1), 'bbb') self.assertEqual(combo.itemText(2), 'ccc') combo.setFilters(QgsLayoutManagerProxyModel.FilterReports) self.assertEqual(combo.filters(), QgsLayoutManagerProxyModel.FilterReports) self.assertEqual(combo.count(), 2) self.assertEqual(combo.itemText(0), '') self.assertEqual(combo.itemText(1), 'ddd')