Class: QgsAdvancedDigitizingDockWidget

class qgis.gui.QgsAdvancedDigitizingDockWidget(canvas: QgsMapCanvas, parent: QWidget = None)

Bases: qgis._gui.QgsDockWidget

Create an advanced digitizing dock widget

Parameters
  • canvas – The map canvas on which the widget operates

  • parent – The parent

The 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 QgsMapToolAdvancedDigitizing.

Enums

Methods

actionEvent

addPoint

Adds point to the CAD point list

additionalConstraint

Returns the additional constraints which are used to place perpendicular/parallel segments to snapped segments on the canvas

alignToSegment

align to segment for additional constraint.

applyConstraints

apply the CAD constraints.

cadEnabled

determines if CAD tools are enabled or if map tools behaves “nomally”

canvasKeyPressEventFilter

Filter key events to e.g.

changeEvent

childEvent

clear

Clear any cached previous clicks and helper lines

clearPoints

Removes all points from the CAD point list

closeEvent

commonAngleConstraint

Returns true if a constraint on a common angle is active

connectNotify

constraintAngle

Returns the CadConstraint on the angle

constraintDistance

Returns the CadConstraint on the distance

constraintX

Returns the CadConstraint on the X coordinate

constraintY

Returns the CadConstraint on the Y coordinate

constructionMode

construction mode is used to draw intermediate points.

contextMenuEvent

create

currentPoint

The last point.

customEvent

destroy

disable

Disable the widget.

disconnectNotify

dragEnterEvent

dragLeaveEvent

dragMoveEvent

dropEvent

enable

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 QgsMapToolAdvancedDigitizing.activate() but may need to be fine tuned if the map tool depends on preconditions like a feature selection.

enableAction

Returns the action used to enable/disable the tools

enterEvent

event

eventFilter

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

hideEvent

Disables the CAD tools when hiding the dock

initPainter

initStyleOption

inputMethodEvent

isSignalConnected

keyPressEvent

keyReleaseEvent

leaveEvent

mapPointMatch

Returns the point locator match

metric

mouseDoubleClickEvent

mouseMoveEvent

mousePressEvent

mouseReleaseEvent

moveEvent

nativeEvent

paintEvent

penultimatePoint

The penultimate point.

pointsCount

The number of points in the CAD point helper list

previousPoint

The previous point.

receivers

releaseLocks

unlock all constraints

removePreviousPoint

Remove previous point in the CAD point list

resizeEvent

sender

senderSignalIndex

setPoints

Configures list of current CAD points

sharedPainter

showEvent

snappedSegment

Snapped to a segment

snappedToVertex

Is it snapped to a vertex

tabletEvent

timerEvent

updateCadPaintItem

Updates canvas item that displays constraints on the ma

updateMicroFocus

wheelEvent

Signals

pointChanged

Sometimes a constraint may change the current point out of a mouse event.

popWarning

Remove any previously emitted warnings (if any) [signal]

pushWarning

Push a warning

Attributes

AbsoluteAngle

NoConstraint

Parallel

Perpendicular

RelativeAngle

RelativeCoordinates

AbsoluteAngle = 1
class AdditionalConstraint

Bases: int

class CadCapacities

Bases: sip.wrapper

QgsAdvancedDigitizingDockWidget.CadCapacities(Union[QgsAdvancedDigitizingDockWidget.CadCapacities, QgsAdvancedDigitizingDockWidget.CadCapacity]) QgsAdvancedDigitizingDockWidget.CadCapacities(QgsAdvancedDigitizingDockWidget.CadCapacities)

baseClass

alias of QgsAdvancedDigitizingDockWidget

class CadCapacity

Bases: int

class CadConstraint(lineEdit: QLineEdit, lockerButton: QToolButton, relativeButton: QToolButton = None, repeatingLockButton: QToolButton = None)

Bases: sip.wrapper

Constructor for CadConstraint.

Parameters
  • lineEdit – associated line edit for constraint value

  • lockerButton – associated button for locking constraint

  • relativeButton – optional button for toggling relative constraint mode

  • repeatingLockButton – optional button for toggling repeating lock mode

QgsAdvancedDigitizingDockWidget.CadConstraint(QgsAdvancedDigitizingDockWidget.CadConstraint)

The CadConstraint is an abstract 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.

HardLock = 2
class LockMode

Bases: int

NoLock = 0
SoftLock = 1
isLocked(self) → bool

Is any kind of lock mode enabled

isRepeatingLock(self) → bool

Returns true if a repeating lock is set for the constraint. Repeating locks are not automatically cleared after a new point is added.

New in version 2.16.

lineEdit(self) → QLineEdit

The line edit that manages the value of the constraint

lockMode(self) → QgsAdvancedDigitizingDockWidget.CadConstraint.LockMode

The current lock mode of this constraint

Returns

Lock mode

relative(self) → bool

Is the constraint in relative mode

setLockMode(self, mode: QgsAdvancedDigitizingDockWidget.CadConstraint.LockMode)

Set the lock mode

setRelative(self, relative: bool)

Set if the constraint should be treated relative

setRepeatingLock(self, repeating: bool)

Sets whether a repeating lock is set for the constraint. Repeating locks are not automatically cleared after a new point is added.

Parameters

repeating – set to true to set the lock to repeat automatically

New in version 2.16.

setValue(self, value: float, updateWidget: bool = True)

Set the value of the constraint

Parameters
  • value – new value for constraint

  • updateWidget – set to false to prevent automatically updating the associated widget’s value

toggleLocked(self)

Toggle lock mode

toggleRelative(self)

Toggle relative mode

value(self) → float

The value of the constraint

NoConstraint = 0
Parallel = 2
Perpendicular = 1
RelativeAngle = 2
RelativeCoordinates = 4
actionEvent()
addPoint(self, point: QgsPointXY)

Adds point to the CAD point list

New in version 3.0.

additionalConstraint(self) → QgsAdvancedDigitizingDockWidget.AdditionalConstraint

Returns the additional constraints which are used to place perpendicular/parallel segments to snapped segments on the canvas

alignToSegment(self, e: QgsMapMouseEvent, lockMode: QgsAdvancedDigitizingDockWidget.CadConstraint.LockMode = QgsAdvancedDigitizingDockWidget.CadConstraint.HardLock) → bool

align to segment for additional constraint. If additional constraints are used, this will determine the angle to be locked depending on the snapped segment.

New in version 3.0.

applyConstraints(self, e: QgsMapMouseEvent) → bool

apply the CAD constraints. The will modify the position of the map event in map coordinates by applying the CAD constraints.

Returns

false if no solution was found (invalid constraints)

cadEnabled(self) → bool

determines if CAD tools are enabled or if map tools behaves “nomally”

canvasKeyPressEventFilter(self, e: QKeyEvent) → bool

Filter key events to e.g. toggle construction mode or adapt constraints

Parameters

e – A mouse event (may be modified)

Returns

If the event is hidden (construction mode hides events from the maptool)

changeEvent()
childEvent()
clear(self)

Clear any cached previous clicks and helper lines

clearPoints(self)

Removes all points from the CAD point list

New in version 3.0.

closeEvent()
commonAngleConstraint(self) → bool

Returns true if a constraint on a common angle is active

connectNotify()
constraintAngle(self) → QgsAdvancedDigitizingDockWidget.CadConstraint

Returns the CadConstraint on the angle

constraintDistance(self) → QgsAdvancedDigitizingDockWidget.CadConstraint

Returns the CadConstraint on the distance

constraintX(self) → QgsAdvancedDigitizingDockWidget.CadConstraint

Returns the CadConstraint on the X coordinate

constraintY(self) → QgsAdvancedDigitizingDockWidget.CadConstraint

Returns the CadConstraint on the Y coordinate

constructionMode(self) → bool

construction mode is used to draw intermediate points. These points won’t be given any further (i.e. to the map tools)

contextMenuEvent()
create()
currentPoint(self) → Tuple[QgsPointXY, bool]

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).

customEvent()
destroy()
disable(self)

Disable the widget. Normally done automatically from QgsMapToolAdvancedDigitizing.deactivate()

disconnectNotify()
dragEnterEvent()
dragLeaveEvent()
dragMoveEvent()
dropEvent()
enable(self)

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 QgsMapToolAdvancedDigitizing.activate() but may need to be fine tuned if the map tool depends on preconditions like a feature selection.

enableAction(self) → QAction

Returns the action used to enable/disable the tools

enterEvent()
event()
eventFilter()
focusInEvent()
focusNextChild()
focusNextPrevChild()
focusOutEvent()
focusPreviousChild()
hideEvent(self, QHideEvent)

Disables the CAD tools when hiding the dock

initPainter()
initStyleOption()
inputMethodEvent()
isSignalConnected()
keyPressEvent(self, e: QKeyEvent)
keyReleaseEvent()
leaveEvent()
mapPointMatch(self) → QgsPointLocator.Match

Returns the point locator match

New in version 3.4.

metric()
mouseDoubleClickEvent()
mouseMoveEvent()
mousePressEvent()
mouseReleaseEvent()
moveEvent()
nativeEvent()
paintEvent()
penultimatePoint(self) → Tuple[QgsPointXY, bool]

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).

pointChanged

Sometimes a constraint may change the current point out of a mouse event. This happens normally when a constraint is toggled.

Parameters

point – The last known digitizing point. Can be used to emulate a mouse event. [signal]

pointsCount(self) → int

The number of points in the CAD point helper list

popWarning

Remove any previously emitted warnings (if any) [signal]

previousPoint(self) → Tuple[QgsPointXY, bool]

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).

pushWarning

Push a warning

Parameters

message – An informative message [signal]

receivers()
releaseLocks(self, releaseRepeatingLocks: bool = True)

unlock all constraints

Parameters

releaseRepeatingLocks – set to false to preserve the lock for any constraints set to repeating lock mode

New in version 3.0.

removePreviousPoint(self)

Remove previous point in the CAD point list

New in version 3.8.

resizeEvent()
sender()
senderSignalIndex()
setPoints(self, points: Iterable[QgsPointXY])

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.

New in version 3.0.

sharedPainter()
showEvent()
snappedSegment(self) → List[QgsPointXY]

Snapped to a segment

snappedToVertex(self) → bool

Is it snapped to a vertex

tabletEvent()
timerEvent()
updateCadPaintItem(self)

Updates canvas item that displays constraints on the ma

New in version 3.0.

updateMicroFocus()
wheelEvent()