def testCheckStateRole(self): l1 = create_layer('l1') l2 = create_layer('l2') QgsProject.instance().addMapLayers([l1, l2]) m = QgsMapLayerModel() # not checkable self.assertFalse(m.data(m.index(0, 0), Qt.CheckStateRole)) self.assertFalse(m.data(m.index(1, 0), Qt.CheckStateRole)) m.setAllowEmptyLayer(True) self.assertFalse(m.data(m.index(0, 0), Qt.CheckStateRole)) self.assertFalse(m.data(m.index(1, 0), Qt.CheckStateRole)) self.assertFalse(m.data(m.index(2, 0), Qt.CheckStateRole)) m.setAllowEmptyLayer(False) # checkable m.setItemsCheckable(True) m.checkAll(Qt.Checked) self.assertTrue(m.data(m.index(0, 0), Qt.CheckStateRole)) self.assertTrue(m.data(m.index(1, 0), Qt.CheckStateRole)) m.setAllowEmptyLayer(True) self.assertFalse(m.data(m.index(0, 0), Qt.CheckStateRole)) self.assertTrue(m.data(m.index(1, 0), Qt.CheckStateRole)) self.assertTrue(m.data(m.index(2, 0), Qt.CheckStateRole)) m.setAdditionalItems(['a']) self.assertFalse(m.data(m.index(3, 0), Qt.CheckStateRole)) QgsProject.instance().removeMapLayers([l1.id(), l2.id()])
def testCheckAll(self): l1 = create_layer('l1') l2 = create_layer('l2') QgsProject.instance().addMapLayers([l1, l2]) m = QgsMapLayerModel() m.setItemsCheckable(True) self.assertFalse(m.layersChecked()) self.assertEqual(set(m.layersChecked(Qt.Unchecked)), set([l1, l2])) m.checkAll(Qt.Checked) self.assertEqual(set(m.layersChecked()), set([l1, l2])) self.assertFalse(set(m.layersChecked(Qt.Unchecked))) m.checkAll(Qt.Unchecked) self.assertFalse(m.layersChecked()) self.assertEqual(set(m.layersChecked(Qt.Unchecked)), set([l1, l2])) QgsProject.instance().removeMapLayers([l1.id(), l2.id()])