Exemplo n.º 1
0
    def test_convert_group_to_group_layer(self):
        """
        Test converting a QgsLayerTreeGroup to a QgsGroupLayer
        """
        group_node = QgsLayerTreeGroup()

        options = QgsGroupLayer.LayerOptions(QgsCoordinateTransformContext())
        group_layer = group_node.convertToGroupLayer(options)
        self.assertFalse(group_layer.childLayers())
        self.assertEqual(group_node.groupLayer(), group_layer)

        # if a group layer is already assigned, convertToGroupLayer should do nothing
        self.assertIsNone(group_node.convertToGroupLayer(options))

        group_node.setGroupLayer(None)
        # add some child layers to node
        layer = QgsVectorLayer("Point?field=fldtxt:string", "layer1", "memory")
        group_node.addLayer(layer)
        layer2 = QgsVectorLayer("Point?field=fldtxt:string", "layer2",
                                "memory")
        group_node.addLayer(layer2)

        group_layer = group_node.convertToGroupLayer(options)
        self.assertEqual(group_layer.childLayers(), [layer2, layer])
        self.assertEqual(group_node.groupLayer(), group_layer)
Exemplo n.º 2
0
    def test_layer_tree_group_layer(self):
        """
        Test setting a group layer on a QgsLayerTreeGroup
        """
        options = QgsGroupLayer.LayerOptions(QgsCoordinateTransformContext())
        group_layer = QgsGroupLayer('group', options)

        group_node = QgsLayerTreeGroup()
        self.assertFalse(group_node.groupLayer())
        group_node.setGroupLayer(group_layer)
        self.assertEqual(group_node.groupLayer(), group_layer)

        group_layer.deleteLater()
        group_layer = None
        QCoreApplication.sendPostedEvents(None, QEvent.DeferredDelete)
        # should be automatically cleaned
        self.assertFalse(group_node.groupLayer())
Exemplo n.º 3
0
    def test_copy_layer_tree_group(self):
        # copying layer tree group should also copy group layer setting
        options = QgsGroupLayer.LayerOptions(QgsCoordinateTransformContext())
        group_layer = QgsGroupLayer('group', options)

        group_node = QgsLayerTreeGroup()
        group_node.setGroupLayer(group_layer)
        self.assertEqual(group_node.groupLayer(), group_layer)

        group_node2 = group_node.clone()
        self.assertEqual(group_node2.groupLayer(), group_layer)