File: qgsadvanceddigitizingdockwidget.sip.in

package info (click to toggle)
qgis 3.40.10%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,183,672 kB
  • sloc: cpp: 1,595,771; python: 372,544; xml: 23,474; sh: 3,761; perl: 3,664; ansic: 2,257; sql: 2,137; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 161
file content (1223 lines) | stat: -rw-r--r-- 30,210 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsadvanceddigitizingdockwidget.h                            *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/







class QgsAdvancedDigitizingDockWidget : QgsDockWidget
{
%Docstring(signature="appended")
The :py:class:`QgsAdvancedDigitizingDockWidget` class is a dockable
widget used to handle the CAD tools on top of a selection of map tools.
It handles both the UI and the constraints. Constraints are applied by
implementing filters called from
:py:class:`QgsMapToolAdvancedDigitizing`.
%End

%TypeHeaderCode
#include "qgsadvanceddigitizingdockwidget.h"
%End
  public:
    enum CadCapacity /BaseType=IntEnum/
    {
      AbsoluteAngle,
      RelativeAngle,
      RelativeCoordinates,
      Distance,
    };
    typedef QFlags<QgsAdvancedDigitizingDockWidget::CadCapacity> CadCapacities;


    enum WidgetSetMode /BaseType=IntEnum/
    {
      ReturnPressed,
      FocusOut,
      TextEdited
    };


    class CadConstraint
{
%Docstring(signature="appended")
The CadConstraint is a class for all basic constraints
(angle/distance/x/y). It contains all values (locked, value, relative)
and pointers to corresponding widgets.

.. note::

   Relative is not mandatory since it is not used for distance.
%End

%TypeHeaderCode
#include "qgsadvanceddigitizingdockwidget.h"
%End
      public:
        enum LockMode /BaseType=IntEnum/
        {
          NoLock,
          SoftLock,
          HardLock
        };

        CadConstraint( QLineEdit *lineEdit, QToolButton *lockerButton, QToolButton *relativeButton = 0, QToolButton *repeatingLockButton = 0 );
%Docstring
Constructor for CadConstraint.

:param lineEdit: associated line edit for constraint value
:param lockerButton: associated button for locking constraint
:param relativeButton: optional button for toggling relative constraint
                       mode
:param repeatingLockButton: optional button for toggling repeating lock
                            mode
%End

        LockMode lockMode() const;
%Docstring
The current lock mode of this constraint

:return: Lock mode
%End

        bool isLocked() const;
%Docstring
Is any kind of lock mode enabled
%End

        bool isRepeatingLock() const;
%Docstring
Returns ``True`` if a repeating lock is set for the constraint.
Repeating locks are not automatically cleared after a new point is
added.

.. seealso:: :py:func:`setRepeatingLock`
%End

        bool relative() const;
%Docstring
Is the constraint in relative mode
%End

        double value() const;
%Docstring
The value of the constraint
%End

        QLineEdit *lineEdit() const;
%Docstring
The line edit that manages the value of the constraint
%End

        void setLockMode( LockMode mode );
%Docstring
Set the lock mode
%End

        void setRepeatingLock( bool repeating );
%Docstring
Sets whether a repeating lock is set for the constraint. Repeating locks
are not automatically cleared after a new point is added.

:param repeating: set to ``True`` to set the lock to repeat
                  automatically

.. seealso:: :py:func:`isRepeatingLock`
%End

        void setRelative( bool relative );
%Docstring
Set if the constraint should be treated relative
%End

        void setValue( double value, bool updateWidget = true );
%Docstring
Set the value of the constraint

:param value: new value for constraint
:param updateWidget: set to ``False`` to prevent automatically updating
                     the associated widget's value
%End

        QString displayValue() const;
%Docstring
Returns a localized formatted string representation of the value.

.. versionadded:: 3.32
%End

        void toggleLocked();
%Docstring
Toggle lock mode
%End

        void toggleRelative();
%Docstring
Toggle relative mode
%End

        int precision() const;
%Docstring
Returns the numeric precision (decimal places) to show in the associated
widget.

.. seealso:: :py:func:`setPrecision`

.. versionadded:: 3.22
%End

        void setPrecision( int precision );
%Docstring
Sets the numeric precision (decimal places) to show in the associated
widget.

.. seealso:: :py:func:`precision`

.. versionadded:: 3.22
%End

        Qgis::CadConstraintType cadConstraintType() const;
%Docstring
Returns the constraint type

.. versionadded:: 3.32
%End

        void setCadConstraintType( Qgis::CadConstraintType constraintType );
%Docstring
Sets the constraint type to ``constraintType``

.. versionadded:: 3.32
%End

        void setMapCanvas( QgsMapCanvas *mapCanvas );
%Docstring
Sets the map canvas to ``mapCanvas``

.. versionadded:: 3.32
%End

        static QString removeSuffix( const QString &text, Qgis::CadConstraintType constraintType );
%Docstring
Removes unit suffix from the constraint text.

.. versionadded:: 3.34
%End


    };

    explicit QgsAdvancedDigitizingDockWidget( QgsMapCanvas *canvas, QWidget *parent = 0, QgsUserInputWidget *userInputWidget = 0 );
%Docstring
Create an advanced digitizing dock widget

:param canvas: The map canvas on which the widget operates
:param parent: The parent
:param userInputWidget: The user input widget on which tools can add
                        widget overlays on top of the map canvas (since
                        QGIS 3.40)
%End
    ~QgsAdvancedDigitizingDockWidget();

    bool canvasKeyPressEventFilter( QKeyEvent *e );
%Docstring
Filter key events to e.g. toggle construction mode or adapt constraints

:param e: A mouse event (may be modified)

:return: If the event is hidden (construction mode hides events from the
         maptool)
%End

    bool applyConstraints( QgsMapMouseEvent *e );
%Docstring
apply the CAD constraints. The will modify the position of the map event
in map coordinates by applying the CAD constraints.

:return: ``False`` if no solution was found (invalid constraints)
%End

    bool alignToSegment( QgsMapMouseEvent *e, QgsAdvancedDigitizingDockWidget::CadConstraint::LockMode lockMode = QgsAdvancedDigitizingDockWidget::CadConstraint::HardLock );
%Docstring
align to segment for between line constraint. If between line
constraints are used, this will determine the angle to be locked
depending on the snapped segment.
%End

    void processCanvasPressEvent( QgsMapMouseEvent *event );
%Docstring
Processes the canvas press ``event``.
%End

    void processCanvasMoveEvent( QgsMapMouseEvent *event );
%Docstring
Processes the canvas move ``event``.
%End

    void processCanvasReleaseEvent( QgsMapMouseEvent *event );
%Docstring
Processes the canvas release ``event``.
%End

    void setTool( QgsAdvancedDigitizingTool *tool );
%Docstring
Sets an advanced digitizing tool which will take over digitizing until
the tool is close.

.. versionadded:: 3.40
%End

    QgsAdvancedDigitizingTool *tool() const;
%Docstring
Returns the current advanced digitizing tool. Returns ``None`` if not
set.

.. versionadded:: 3.40
%End

    void releaseLocks( bool releaseRepeatingLocks = true );
%Docstring
unlock all constraints

:param releaseRepeatingLocks: set to ``False`` to preserve the lock for
                              any constraints set to repeating lock mode
%End

    void clear();
%Docstring
Clear any cached previous clicks and helper lines
%End

    virtual void keyPressEvent( QKeyEvent *e );


    bool cadEnabled() const;
%Docstring
determines if CAD tools are enabled or if map tools behaves "nomally"
%End

    void switchZM();
%Docstring
Determines if Z or M will be enabled.

.. versionadded:: 3.22
%End

    void setEnabledZ( bool enable );
%Docstring
Sets whether Z is enabled

.. versionadded:: 3.22
%End

    void setEnabledM( bool enable );
%Docstring
Sets whether M is enabled

.. versionadded:: 3.22
%End

    bool constructionMode() const;
%Docstring
Returns whether the construction mode is activated. The construction
mode is used to draw intermediate points that will not be part of a
geometry being digitized.
%End

    QgsVectorLayer *constructionGuidesLayer() const;
%Docstring
Returns the vector layer within which construction guides are stored.

.. versionadded:: 3.40
%End

    bool showConstructionGuides() const;
%Docstring
Returns whether the construction guides are visible.

.. versionadded:: 3.40
%End

    bool snapToConstructionGuides() const;
%Docstring
Returns whether points should snap to construction guides.

.. versionadded:: 3.40
%End

    bool recordConstructionGuides() const;
%Docstring
Returns whether construction guides are being recorded.

.. versionadded:: 3.40
%End

    Qgis::BetweenLineConstraint betweenLineConstraint() const;
%Docstring
Returns the between line constraints which are used to place
perpendicular/parallel segments to snapped segments on the canvas
%End
    const CadConstraint *constraintAngle() const;
%Docstring
Returns the ``CadConstraint`` on the angle
%End
    const CadConstraint *constraintDistance() const;
%Docstring
Returns the ``CadConstraint`` on the distance
%End
    const CadConstraint *constraintX() const;
%Docstring
Returns the ``CadConstraint`` on the X coordinate
%End
    const CadConstraint *constraintY() const;
%Docstring
Returns the ``CadConstraint`` on the Y coordinate
%End

    const CadConstraint *constraintZ() const;
%Docstring
Returns the ``CadConstraint`` on the Z coordinate

.. versionadded:: 3.22
%End

    const CadConstraint *constraintM() const;
%Docstring
Returns the ``CadConstraint`` on the M coordinate

.. versionadded:: 3.22
%End
    bool commonAngleConstraint() const;
%Docstring
Returns ``True`` if a constraint on a common angle is active
%End

    const CadConstraint *constraintLineExtension() const;
%Docstring
Returns the ``CadConstraint``
%End

    Qgis::LineExtensionSide lineExtensionSide() const;
%Docstring
Returns on which side of the constraint line extension point, the line
was created
%End

    const CadConstraint *constraintXyVertex() const;
%Docstring
Returns the ``CadConstraint``
%End

    double softLockX() const;
%Docstring
Returns the X value of the X soft lock. The value is NaN is the
constraint isn't magnetized to a line
%End

    double softLockY() const;
%Docstring
Returns the Y value of the Y soft lock. The value is NaN is the
constraint isn't magnetized to a line
%End

    void toggleConstraintDistance();
%Docstring
Toggles the distance constraint.

.. versionadded:: 3.40
%End

    QgsPointLocator::Match mapPointMatch() const;
%Docstring
Returns the point locator match

.. versionadded:: 3.4
%End

    QList<QgsPointLocator::Match> lockedSnapVertices() const;
%Docstring
Returns the snap matches whose vertices have been locked

.. versionadded:: 3.26
%End

    void clearLockedSnapVertices( bool force = true );
%Docstring
Removes all points from the locked snap vertex list

:param force: Clears the list even if the constraints that use it are
              still locked.

.. versionadded:: 3.26
%End

    void clearPoints();
%Docstring
Removes all points from the CAD point list
%End

    void addPoint( const QgsPointXY &point );
%Docstring
Adds point to the CAD point list
%End

    void removePreviousPoint();
%Docstring
Removes previous point in the CAD point list

.. versionadded:: 3.8
%End

    void updateCurrentPoint( const QgsPoint &point );
%Docstring
Updates the current ``point`` in the CAD point list

.. versionadded:: 3.30.2
%End

    void setPoints( const QList<QgsPointXY> &points );
%Docstring
Configures list of current CAD points

Some map tools may find it useful to override list of CAD points that is
otherwise automatically populated when user clicks with left mouse
button on map canvas.
%End

    QgsPoint currentPointV2( bool *exists = 0 ) const;
%Docstring
The last point. Helper for the CAD point list. The CAD point list is the
list of points currently digitized. It contains both "normal" points and
intermediate points (construction mode).

.. versionadded:: 3.22
%End

    QgsPoint currentPointLayerCoordinates( QgsMapLayer *layer ) const;
%Docstring
Returns the last CAD point, in a map ``layer``'s coordinates.

.. versionadded:: 3.22
%End

 QgsPointXY currentPoint( bool *exists = 0 ) const /Deprecated/;
%Docstring
The last point. Helper for the CAD point list. The CAD point list is the
list of points currently digitized. It contains both "normal" points and
intermediate points (construction mode).

.. deprecated:: 3.22

   Use :py:func:`~QgsAdvancedDigitizingDockWidget.currentPointV2` instead.
%End
    QgsPoint previousPointV2( bool *exists = 0 ) const;
%Docstring
The previous point. Helper for the CAD point list. The CAD point list is
the list of points currently digitized. It contains both "normal" points
and intermediate points (construction mode).
%End

 QgsPointXY previousPoint( bool *exists = 0 ) const /Deprecated/;
%Docstring
The previous point. Helper for the CAD point list. The CAD point list is
the list of points currently digitized. It contains both "normal" points
and intermediate points (construction mode).

.. deprecated:: 3.22

   Use :py:func:`~QgsAdvancedDigitizingDockWidget.previousPointV2` instead.
%End
    QgsPoint penultimatePointV2( bool *exists = 0 ) const;
%Docstring
The penultimate point. Helper for the CAD point list. The CAD point list
is the list of points currently digitized. It contains both "normal"
points and intermediate points (construction mode).
%End

 QgsPointXY penultimatePoint( bool *exists = 0 ) const /Deprecated/;
%Docstring
The penultimate point. Helper for the CAD point list. The CAD point list
is the list of points currently digitized. It contains both "normal"
points and intermediate points (construction mode).

.. deprecated:: 3.22

   Use :py:func:`~QgsAdvancedDigitizingDockWidget.penultimatePointV2` instead.
%End
    int pointsCount() const;
%Docstring
The number of points in the CAD point helper list
%End

    bool snappedToVertex() const;
%Docstring
Is it snapped to a vertex
%End

    QList<QgsPointXY> snappedSegment() const;
%Docstring
Snapped to a segment
%End

    QAction *enableAction();
%Docstring
Returns the action used to enable/disable the tools
%End

    void enable();
%Docstring
Enables the tool (call this when an appropriate map tool is set and in
the condition to make use of cad digitizing) Normally done automatically
from :py:func:`QgsMapToolAdvancedDigitizing.activate()` but may need to
be fine tuned if the map tool depends on preconditions like a feature
selection.
%End

    void disable();
%Docstring
Disable the widget. Normally done automatically from
:py:func:`QgsMapToolAdvancedDigitizing.deactivate()`.
%End

    void updateCadPaintItem();
%Docstring
Updates canvas item that displays constraints on the ma
%End

    void setX( const QString &value, WidgetSetMode mode );
%Docstring
Set the X value on the widget. Can be used to set constraints by
external widgets.

:param mode: What type of interaction to emulate
:param value: The value (as a QString, as it could be an expression)

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void setY( const QString &value, WidgetSetMode mode );
%Docstring
Set the Y value on the widget. Can be used to set constraints by
external widgets.

:param mode: What type of interaction to emulate
:param value: The value (as a QString, as it could be an expression)

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void setZ( const QString &value, WidgetSetMode mode );
%Docstring
Set the Z value on the widget. Can be used to set constraints by
external widgets.

:param mode: What type of interaction to emulate
:param value: The value (as a QString, as it could be an expression)

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void setM( const QString &value, WidgetSetMode mode );
%Docstring
Set the M value on the widget. Can be used to set constraints by
external widgets.

:param mode: What type of interaction to emulate
:param value: The value (as a QString, as it could be an expression)

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void setAngle( const QString &value, WidgetSetMode mode );
%Docstring
Set the angle value on the widget. Can be used to set constraints by
external widgets.

:param mode: What type of interaction to emulate
:param value: The value (as a QString, as it could be an expression)

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void setDistance( const QString &value, WidgetSetMode mode );
%Docstring
Set the distance value on the widget. Can be used to set constraints by
external widgets.

:param mode: What type of interaction to emulate
:param value: The value (as a QString, as it could be an expression)

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    double getLineZ() const;
%Docstring
Convenient method to get the Z value from the line edit wiget

.. versionadded:: 3.22
%End

    double getLineM() const;
%Docstring
Convenient method to get the M value from the line edit wiget

.. versionadded:: 3.22
%End

    CadCapacities capacities() const;
%Docstring
Returns the capacities

.. versionadded:: 3.26
%End
    QString formatCommonAngleSnapping( double angle );
%Docstring
Returns the formatted label for common angle snapping option.

.. versionadded:: 3.32
%End

  signals:

    void pushWarning( const QString &message );
%Docstring
Push a warning

:param message: An informative message
%End

    void popWarning();
%Docstring
Remove any previously emitted warnings (if any)
%End

    void pointChangedV2( const QgsPoint &point );
%Docstring
Sometimes a constraint may change the current point out of a mouse
event. This happens normally when a constraint is toggled.

:param point: The last known digitizing point. Can be used to emulate a
              mouse event.

.. versionadded:: 3.22
%End

 void pointChanged( const QgsPointXY &point ) /Deprecated/;
%Docstring
Sometimes a constraint may change the current point out of a mouse
event. This happens normally when a constraint is toggled.

:param point: The last known digitizing point. Can be used to emulate a
              mouse event.

.. deprecated:: 3.22

   No longer used, will be removed in QGIS 4.0. Use pointChangedV2 instead.
%End


    void cadEnabledChanged( bool enabled );
%Docstring
Emitted whenever CAD is enabled or disabled

:param enabled: Whether CAD is enabled or not

.. note::

   unstable API (will likely change).

.. versionadded:: 3.8
%End

    void valueXChanged( const QString &value );
%Docstring
Emitted whenever the X ``value`` changes (either the mouse moved, or the
user changed the input). Could be used by widgets that must reflect the
current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void valueYChanged( const QString &value );
%Docstring
Emitted whenever the Y ``value`` changes (either the mouse moved, or the
user changed the input). Could be used by widgets that must reflect the
current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void valueZChanged( const QString &value );
%Docstring
Emitted whenever the Z ``value`` changes (either the mouse moved, or the
user changed the input). Could be used by widgets that must reflect the
current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void valueMChanged( const QString &value );
%Docstring
Emitted whenever the M ``value`` changes (either the mouse moved, or the
user changed the input). Could be used by widgets that must reflect the
current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void valueAngleChanged( const QString &value );
%Docstring
Emitted whenever the angle ``value`` changes (either the mouse moved, or
the user changed the input). Could be used by widgets that must reflect
the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void valueDistanceChanged( const QString &value );
%Docstring
Emitted whenever the distance ``value`` changes (either the mouse moved,
or the user changed the input). Could be used by widgets that must
reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void valueBearingChanged( const QString &value );
%Docstring
Emitted whenever the bearing ``value`` changes. Could be used by widgets
that must reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.32
%End

    void lockXChanged( bool locked );
%Docstring
Emitted whenever the X parameter is ``locked``. Could be used by widgets
that must reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void lockYChanged( bool locked );
%Docstring
Emitted whenever the Y parameter is ``locked``. Could be used by widgets
that must reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void lockZChanged( bool locked );
%Docstring
Emitted whenever the Z parameter is ``locked``. Could be used by widgets
that must reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void lockMChanged( bool locked );
%Docstring
Emitted whenever the M parameter is ``locked``. Could be used by widgets
that must reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void lockAngleChanged( bool locked );
%Docstring
Emitted whenever the angle parameter is ``locked``. Could be used by
widgets that must reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void lockDistanceChanged( bool locked );
%Docstring
Emitted whenever the distance parameter is ``locked``. Could be used by
widgets that must reflect the current advanced digitizing state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void relativeXChanged( bool relative );
%Docstring
Emitted whenever the X parameter is toggled between absolute and
relative. Could be used by widgets that must reflect the current
advanced digitizing state.

:param relative: Whether the X parameter is relative or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void relativeYChanged( bool relative );
%Docstring
Emitted whenever the Y parameter is toggled between absolute and
relative. Could be used by widgets that must reflect the current
advanced digitizing state.

:param relative: Whether the Y parameter is relative or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void relativeZChanged( bool relative );
%Docstring
Emitted whenever the Z parameter is toggled between absolute and
relative. Could be used by widgets that must reflect the current
advanced digitizing state.

:param relative: Whether the Z parameter is relative or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void relativeMChanged( bool relative );
%Docstring
Emitted whenever the M parameter is toggled between absolute and
relative. Could be used by widgets that must reflect the current
advanced digitizing state.

:param relative: Whether the M parameter is relative or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void relativeAngleChanged( bool relative );
%Docstring
Emitted whenever the angleX parameter is toggled between absolute and
relative. Could be used by widgets that must reflect the current
advanced digitizing state.

:param relative: Whether the angle parameter is relative or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void softLockLineExtensionChanged( bool locked );
%Docstring
Emitted whenever the soft line extension parameter is ``locked``. Could
be used by widgets that must reflect the current advanced digitizing
state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.26
%End

    void softLockXyChanged( bool locked );
%Docstring
Emitted whenever the soft x/y extension parameter is ``locked``. Could
be used by widgets that must reflect the current advanced digitizing
state.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.26
%End


    void enabledChangedX( bool enabled );
%Docstring
Emitted whenever the X field is enabled or disabled. Depending on the
context, some parameters do not make sense (e.g. you need a previous
point to define a distance). Could be used by widgets that must reflect
the current advanced digitizing state.

:param enabled: Whether the X parameter is enabled or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void enabledChangedY( bool enabled );
%Docstring
Emitted whenever the Y field is enabled or disabled. Depending on the
context, some parameters do not make sense (e.g. you need a previous
point to define a distance). Could be used by widgets that must reflect
the current advanced digitizing state.

:param enabled: Whether the Y parameter is enabled or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void enabledChangedZ( bool enabled );
%Docstring
Emitted whenever the Z field is enabled or disabled. Depending on the
context, some parameters do not make sense (e.g. you need a previous
point to define a distance). Could be used by widgets that must reflect
the current advanced digitizing state.

:param enabled: Whether the Z parameter is enabled or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void enabledChangedM( bool enabled );
%Docstring
Emitted whenever the M field is enabled or disabled. Depending on the
context, some parameters do not make sense (e.g. you need a previous
point to define a distance). Could be used by widgets that must reflect
the current advanced digitizing state.

:param enabled: Whether the M parameter is enabled or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void enabledChangedAngle( bool enabled );
%Docstring
Emitted whenever the angle field is enabled or disabled. Depending on
the context, some parameters do not make sense (e.g. you need a previous
point to define a distance). Could be used by widgets that must reflect
the current advanced digitizing state.

:param enabled: Whether the angle parameter is enabled or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void enabledChangedDistance( bool enabled );
%Docstring
Emitted whenever the distance field is enabled or disabled. Depending on
the context, some parameters do not make sense (e.g. you need a previous
point to define a distance). Could be used by widgets that must reflect
the current advanced digitizing state.

:param enabled: Whether the distance parameter is enabled or not.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void focusOnXRequested();
%Docstring
Emitted whenever the X field should get the focus using the shortcuts
(X). Could be used by widgets to capture the focus when a field is being
edited.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void focusOnYRequested();
%Docstring
Emitted whenever the Y field should get the focus using the shortcuts
(Y). Could be used by widgets to capture the focus when a field is being
edited.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void focusOnZRequested();
%Docstring
Emitted whenever the Z field should get the focus using the shortcuts
(Z). Could be used by widgets to capture the focus when a field is being
edited.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void focusOnMRequested();
%Docstring
Emitted whenever the M field should get the focus using the shortcuts
(M). Could be used by widgets to capture the focus when a field is being
edited.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.22
%End

    void focusOnAngleRequested();
%Docstring
Emitted whenever the angle field should get the focus using the
shortcuts (A). Could be used by widgets to capture the focus when a
field is being edited.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void focusOnDistanceRequested();
%Docstring
Emitted whenever the distance field should get the focus using the
shortcuts (D). Could be used by widgets to capture the focus when a
field is being edited.

.. note::

   unstable API (will likely change)

.. versionadded:: 3.8
%End

    void valueCommonAngleSnappingChanged( double angle );
%Docstring
Emitted whenever the snapping to common angle option changes, angle = 0
means that the functionality is disabled.

.. versionadded:: 3.32
%End


  private:
    //! event filter for line edits in the dock UI (angle/distance/x/y line edits)
    bool eventFilter( QObject *obj, QEvent *event );
};

QFlags<QgsAdvancedDigitizingDockWidget::CadCapacity> operator|(QgsAdvancedDigitizingDockWidget::CadCapacity f1, QFlags<QgsAdvancedDigitizingDockWidget::CadCapacity> f2);


/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsadvanceddigitizingdockwidget.h                            *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/