QGIS/python/gui/auto_generated/qgsadvanceddigitizingdockwidget.sip.in

708 lines
18 KiB
Plaintext
Raw Normal View History

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsadvanceddigitizingdockwidget.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsAdvancedDigitizingDockWidget : QgsDockWidget
{
%Docstring
The QgsAdvancedDigitizingDockWidget class is a dockable widget
2017-12-15 10:36:55 -04:00
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.
%End
%TypeHeaderCode
#include "qgsadvanceddigitizingdockwidget.h"
%End
public:
enum CadCapacity
{
AbsoluteAngle,
RelativeAngle,
RelativeCoordinates,
};
typedef QFlags<QgsAdvancedDigitizingDockWidget::CadCapacity> CadCapacities;
enum class AdditionalConstraint
{
NoConstraint,
Perpendicular,
Parallel
};
2019-05-15 12:06:29 +02:00
enum WidgetSetMode
{
ReturnPressed,
};
2019-03-07 21:07:53 +01:00
class CadConstraint
{
%Docstring
The CadConstraint is an abstract class for all basic constraints (angle/distance/x/y).
2017-12-15 10:36:55 -04:00
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
{
NoLock,
SoftLock,
HardLock
};
CadConstraint( QLineEdit *lineEdit, QToolButton *lockerButton, QToolButton *relativeButton = 0, QToolButton *repeatingLockButton = 0 );
%Docstring
2017-12-15 10:36:55 -04:00
Constructor for CadConstraint.
2017-12-15 21:36:08 -04:00
2017-12-15 10:36:55 -04:00
: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
2017-12-15 10:36:55 -04:00
The current lock mode of this constraint
:return: Lock mode
%End
bool isLocked() const;
%Docstring
2017-12-15 10:36:55 -04:00
Is any kind of lock mode enabled
%End
bool isRepeatingLock() const;
%Docstring
2019-02-26 19:54:09 +10:00
Returns ``True`` if a repeating lock is set for the constraint. Repeating locks are not
2017-12-15 10:36:55 -04:00
automatically cleared after a new point is added.
.. seealso:: :py:func:`setRepeatingLock`
2018-05-28 11:31:08 -04:00
.. versionadded:: 2.16
%End
bool relative() const;
%Docstring
2017-12-15 10:36:55 -04:00
Is the constraint in relative mode
%End
double value() const;
%Docstring
2017-12-15 10:36:55 -04:00
The value of the constraint
%End
QLineEdit *lineEdit() const;
%Docstring
2017-12-15 10:36:55 -04:00
The line edit that manages the value of the constraint
%End
void setLockMode( LockMode mode );
%Docstring
2017-12-15 10:36:55 -04:00
Set the lock mode
%End
2016-02-14 03:50:23 +01:00
void setRepeatingLock( bool repeating );
%Docstring
2017-12-15 10:36:55 -04:00
Sets whether a repeating lock is set for the constraint. Repeating locks are not
automatically cleared after a new point is added.
2017-12-15 21:36:08 -04:00
2019-02-26 19:54:09 +10:00
:param repeating: set to ``True`` to set the lock to repeat automatically
2017-12-15 10:36:55 -04:00
.. seealso:: :py:func:`isRepeatingLock`
2018-05-28 11:31:08 -04:00
.. versionadded:: 2.16
%End
void setRelative( bool relative );
%Docstring
2017-12-15 10:36:55 -04:00
Set if the constraint should be treated relative
%End
2016-02-14 03:50:23 +01:00
void setValue( double value, bool updateWidget = true );
%Docstring
2017-12-15 10:36:55 -04:00
Set the value of the constraint
2017-12-15 21:36:08 -04:00
2017-12-15 10:36:55 -04:00
:param value: new value for constraint
2019-02-26 19:54:09 +10:00
:param updateWidget: set to ``False`` to prevent automatically updating the associated widget's value
%End
void toggleLocked();
%Docstring
2017-12-15 10:36:55 -04:00
Toggle lock mode
%End
2016-02-14 03:50:23 +01:00
void toggleRelative();
%Docstring
2017-12-15 10:36:55 -04:00
Toggle relative mode
%End
};
explicit QgsAdvancedDigitizingDockWidget( QgsMapCanvas *canvas, QWidget *parent = 0 );
%Docstring
2017-12-15 10:36:55 -04:00
Create an advanced digitizing dock widget
2017-12-15 21:36:08 -04:00
2017-12-15 10:36:55 -04:00
:param canvas: The map canvas on which the widget operates
:param parent: The parent
%End
bool canvasKeyPressEventFilter( QKeyEvent *e );
%Docstring
2017-12-15 10:36:55 -04:00
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
2017-12-15 10:36:55 -04:00
apply the CAD constraints. The will modify the position of the map event in map coordinates by applying the CAD constraints.
2019-02-26 19:54:09 +10:00
:return: ``False`` if no solution was found (invalid constraints)
%End
bool alignToSegment( QgsMapMouseEvent *e, QgsAdvancedDigitizingDockWidget::CadConstraint::LockMode lockMode = QgsAdvancedDigitizingDockWidget::CadConstraint::HardLock );
%Docstring
2017-12-15 10:36:55 -04:00
align to segment for additional constraint.
If additional constraints are used, this will determine the angle to be locked depending on the snapped segment.
.. versionadded:: 3.0
%End
void releaseLocks( bool releaseRepeatingLocks = true );
%Docstring
2017-12-15 10:36:55 -04:00
unlock all constraints
2017-12-15 21:36:08 -04:00
2019-02-26 19:54:09 +10:00
:param releaseRepeatingLocks: set to ``False`` to preserve the lock for any constraints set to repeating lock mode
2017-12-15 10:36:55 -04:00
.. versionadded:: 3.0
%End
void clear();
%Docstring
2017-12-15 10:36:55 -04:00
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
bool constructionMode() const;
%Docstring
construction mode is used to draw intermediate points. These points won't be given any further (i.e. to the map tools)
%End
AdditionalConstraint additionalConstraint() const;
%Docstring
2018-10-26 08:10:57 -04:00
Returns the additional constraints which are used to place
perpendicular/parallel segments to snapped segments on the canvas
%End
const CadConstraint *constraintAngle() const;
%Docstring
2018-10-26 08:10:57 -04:00
Returns the ``CadConstraint`` on the angle
%End
const CadConstraint *constraintDistance() const;
%Docstring
2018-10-26 08:10:57 -04:00
Returns the ``CadConstraint`` on the distance
%End
const CadConstraint *constraintX() const;
%Docstring
2018-10-26 08:10:57 -04:00
Returns the ``CadConstraint`` on the X coordinate
%End
const CadConstraint *constraintY() const;
%Docstring
2018-10-26 08:12:57 -04:00
Returns the ``CadConstraint`` on the Y coordinate
%End
bool commonAngleConstraint() const;
%Docstring
2019-02-26 19:54:09 +10:00
Returns ``True`` if a constraint on a common angle is active
%End
2018-10-26 08:10:57 -04:00
QgsPointLocator::Match mapPointMatch() const;
%Docstring
2018-10-26 08:10:57 -04:00
Returns the point locator match
.. versionadded:: 3.4
%End
void clearPoints();
%Docstring
2017-12-15 10:36:55 -04:00
Removes all points from the CAD point list
.. versionadded:: 3.0
%End
void addPoint( const QgsPointXY &point );
%Docstring
2017-12-15 10:36:55 -04:00
Adds point to the CAD point list
.. versionadded:: 3.0
2019-06-04 10:23:16 +02:00
%End
void removePreviousPoint();
%Docstring
Remove previous point in the CAD point list
.. versionadded:: 3.8
%End
void setPoints( const QList<QgsPointXY> &points );
%Docstring
2017-12-15 10:36:55 -04:00
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.
.. versionadded:: 3.0
%End
QgsPointXY currentPoint( bool *exists = 0 ) const;
%Docstring
2017-12-15 10:36:55 -04:00
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).
%End
QgsPointXY previousPoint( bool *exists = 0 ) const;
%Docstring
2017-12-15 10:36:55 -04:00
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 penultimatePoint( bool *exists = 0 ) const;
%Docstring
2017-12-15 10:36:55 -04:00
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
int pointsCount() const;
%Docstring
2017-12-15 10:36:55 -04:00
The number of points in the CAD point helper list
%End
2016-02-14 03:50:23 +01:00
bool snappedToVertex() const;
%Docstring
2017-12-15 10:36:55 -04:00
Is it snapped to a vertex
%End
2016-02-14 03:50:23 +01:00
QList<QgsPointXY> snappedSegment() const;
%Docstring
2017-12-15 10:36:55 -04:00
Snapped to a segment
%End
QAction *enableAction();
%Docstring
Returns the action used to enable/disable the tools
%End
void enable();
%Docstring
2017-12-15 10:36:55 -04:00
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.
%End
void disable();
%Docstring
2017-12-19 11:43:52 -04:00
Disable the widget. Normally done automatically from :py:func:`QgsMapToolAdvancedDigitizing.deactivate()`
%End
void updateCadPaintItem();
%Docstring
2017-12-15 10:36:55 -04:00
Updates canvas item that displays constraints on the ma
.. versionadded:: 3.0
%End
2019-05-15 12:06:29 +02:00
void setX( const QString &value, WidgetSetMode mode );
%Docstring
2019-05-15 14:33:21 +02:00
Set the X value on the widget.
2019-05-15 12:06:29 +02:00
Can be used to set constraints by external widgets.
:param mode: What type of interaction to emulate
2019-05-15 14:33:21 +02:00
:param value: The value (as a QString, as it could be an expression)
.. note::
2019-05-15 14:33:21 +02:00
unstable API (will likely change)
.. versionadded:: 3.8
%End
2019-05-15 12:06:29 +02:00
void setY( const QString &value, WidgetSetMode mode );
%Docstring
2019-05-15 14:33:21 +02:00
Set the Y value on the widget.
2019-05-15 12:06:29 +02:00
Can be used to set constraints by external widgets.
:param mode: What type of interaction to emulate
2019-05-15 14:33:21 +02:00
:param value: The value (as a QString, as it could be an expression)
.. note::
2019-05-15 14:33:21 +02:00
unstable API (will likely change)
.. versionadded:: 3.8
%End
2019-05-15 12:06:29 +02:00
void setAngle( const QString &value, WidgetSetMode mode );
%Docstring
2019-05-15 14:33:21 +02:00
Set the angle value on the widget.
2019-05-15 12:06:29 +02:00
Can be used to set constraints by external widgets.
:param mode: What type of interaction to emulate
2019-05-15 14:33:21 +02:00
:param value: The value (as a QString, as it could be an expression)
.. note::
2019-05-15 14:33:21 +02:00
unstable API (will likely change)
.. versionadded:: 3.8
%End
2019-05-15 12:06:29 +02:00
void setDistance( const QString &value, WidgetSetMode mode );
%Docstring
2019-05-15 14:33:21 +02:00
Set the distance value on the widget.
2019-05-15 12:06:29 +02:00
Can be used to set constraints by external widgets.
:param mode: What type of interaction to emulate
2019-05-15 14:33:21 +02:00
:param value: The value (as a QString, as it could be an expression)
.. note::
2019-05-15 14:33:21 +02:00
unstable API (will likely change)
.. versionadded:: 3.8
%End
2019-05-15 12:06:29 +02:00
signals:
void pushWarning( const QString &message );
%Docstring
2017-12-15 10:36:55 -04:00
Push a warning
2017-12-15 10:36:55 -04:00
:param message: An informative message
%End
void popWarning();
%Docstring
2017-12-15 10:36:55 -04:00
Remove any previously emitted warnings (if any)
%End
void pointChanged( const QgsPointXY &point );
%Docstring
2017-12-15 10:36:55 -04:00
Sometimes a constraint may change the current point out of a mouse event. This happens normally
when a constraint is toggled.
2017-12-15 10:36:55 -04:00
:param point: The last known digitizing point. Can be used to emulate a mouse event.
%End
void cadEnabledChanged( bool enabled );
%Docstring
Emitted whenever CAD is enabled or disabled
2019-05-15 14:33:21 +02:00
: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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.
2019-05-15 14:33:21 +02:00
.. 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.
2019-05-15 14:33:21 +02:00
.. note::
unstable API (will likely change)
.. versionadded:: 3.8
%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.pl again *
************************************************************************/