コード例 #1
0
    def test_transform(self):
        item = QgsAnnotationLineItem(
            QgsLineString(
                [QgsPoint(12, 13),
                 QgsPoint(14, 13),
                 QgsPoint(14, 15)]))
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 14 13, 14 15)')

        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationTranslateItem('', 100, 200)),
            Qgis.AnnotationItemEditOperationResult.Success)
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (112 213, 114 213, 114 215)')
コード例 #2
0
    def test_apply_delete_node_edit(self):
        item = QgsAnnotationLineItem(
            QgsLineString([
                QgsPoint(12, 13),
                QgsPoint(14, 13),
                QgsPoint(14, 15),
                QgsPoint(16, 17)
            ]))
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 14 13, 14 15, 16 17)')

        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationDeleteNode(
                    '', QgsVertexId(0, 0, 1), QgsPoint(14, 13))),
            Qgis.AnnotationItemEditOperationResult.Success)
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 14 15, 16 17)')
        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationDeleteNode(
                    '', QgsVertexId(0, 0, 0), QgsPoint(12, 13))),
            Qgis.AnnotationItemEditOperationResult.Success)
        self.assertEqual(item.geometry().asWkt(), 'LineString (14 15, 16 17)')
        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationDeleteNode(
                    '', QgsVertexId(0, 0, 3), QgsPoint(14, 15))),
            Qgis.AnnotationItemEditOperationResult.Invalid)
        self.assertEqual(item.geometry().asWkt(), 'LineString (14 15, 16 17)')
        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationDeleteNode(
                    '', QgsVertexId(0, 0, 1), QgsPoint(16, 17))),
            Qgis.AnnotationItemEditOperationResult.ItemCleared)
        self.assertEqual(item.geometry().asWkt(), 'LineString EMPTY')
コード例 #3
0
    def test_apply_move_node_edit(self):
        item = QgsAnnotationLineItem(
            QgsLineString(
                [QgsPoint(12, 13),
                 QgsPoint(14, 13),
                 QgsPoint(14, 15)]))
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 14 13, 14 15)')

        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationMoveNode('',
                                                       QgsVertexId(0, 0, 1),
                                                       QgsPoint(14, 13),
                                                       QgsPoint(17, 18))),
            Qgis.AnnotationItemEditOperationResult.Success)
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 17 18, 14 15)')
        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationMoveNode('',
                                                       QgsVertexId(0, 0, 2),
                                                       QgsPoint(14, 15),
                                                       QgsPoint(19, 20))),
            Qgis.AnnotationItemEditOperationResult.Success)
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 17 18, 19 20)')
        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationMoveNode('',
                                                       QgsVertexId(0, 0, 3),
                                                       QgsPoint(14, 15),
                                                       QgsPoint(19, 20))),
            Qgis.AnnotationItemEditOperationResult.Invalid)
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 17 18, 19 20)')
コード例 #4
0
    def test_apply_add_node_edit(self):
        item = QgsAnnotationLineItem(
            QgsLineString([
                QgsPoint(12, 13),
                QgsPoint(14, 13),
                QgsPoint(14, 15),
                QgsPoint(16, 17)
            ]))
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 14 13, 14 15, 16 17)')

        self.assertEqual(
            item.applyEdit(
                QgsAnnotationItemEditOperationAddNode('', QgsPoint(15, 16))),
            Qgis.AnnotationItemEditOperationResult.Success)
        self.assertEqual(item.geometry().asWkt(),
                         'LineString (12 13, 14 13, 14 15, 15 16, 16 17)')