コード例 #1
0
ファイル: test_qgsmaplayerstore.py プロジェクト: enzogis/QGIS
    def testTakeLayer(self):
        # test taking ownership of a layer from the store
        l1 = createLayer('l1')
        l2 = createLayer('l2')
        store = QgsMapLayerStore()

        # add one layer to store
        store.addMapLayer(l1)
        self.assertEqual(store.mapLayers(), {l1.id(): l1})
        self.assertEqual(l1.parent(), store)

        # try taking some layers which don't exist in store
        self.assertFalse(store.takeMapLayer(None))
        self.assertFalse(store.takeMapLayer(l2))
        # but l2 should still exist..
        self.assertTrue(l2.isValid())

        # take layer from store
        self.assertEqual(store.takeMapLayer(l1), l1)
        self.assertFalse(store.mapLayers()) # no layers left
        # but l1 should still exist
        self.assertTrue(l1.isValid())
        # layer should have no parent now
        self.assertFalse(l1.parent())

        # destroy store
        store = None
        self.assertTrue(l1.isValid())
コード例 #2
0
    def testTakeLayer(self):
        # test taking ownership of a layer from the store
        l1 = createLayer('l1')
        l2 = createLayer('l2')
        store = QgsMapLayerStore()

        # add one layer to store
        store.addMapLayer(l1)
        self.assertEqual(store.mapLayers(), {l1.id(): l1})
        self.assertEqual(l1.parent(), store)

        # try taking some layers which don't exist in store
        self.assertFalse(store.takeMapLayer(None))
        self.assertFalse(store.takeMapLayer(l2))
        # but l2 should still exist..
        self.assertTrue(l2.isValid())

        # take layer from store
        self.assertEqual(store.takeMapLayer(l1), l1)
        self.assertFalse(store.mapLayers())  # no layers left
        # but l1 should still exist
        self.assertTrue(l1.isValid())
        # layer should have no parent now
        self.assertFalse(l1.parent())

        # destroy store
        store = None
        self.assertTrue(l1.isValid())