![]() |
Mapper
0.9.0
API documentation
|
Helper class to snap to existing objects or a grid on the map. More...
#include <tool_helpers.h>
Public Types | |
enum | SnapObjects { NoSnapping = 0, ObjectCorners = 1 << 0, ObjectPaths = 1 << 1, GridCorners = 1 << 2, AllTypes = 1 + 2 + 4 } |
Signals | |
void | displayChanged () const |
Emitted whenever the snap mark changes position. More... | |
Public Member Functions | |
SnappingToolHelper (MapEditorTool *tool, SnapObjects filter=NoSnapping) | |
Constructs a snapping tool helper. More... | |
~SnappingToolHelper () override | |
void | setFilter (SnapObjects filter) |
Constrain the objects to snap onto. More... | |
SnapObjects | getFilter () const |
MapCoord | snapToObject (const MapCoordF &position, MapWidget *widget, SnappingToolHelperSnapInfo *info=nullptr, Object *exclude_object=nullptr) |
Snaps the given position to the closest snapping object, or returns the original position if no snapping object is close enough. More... | |
bool | snapToDirection (const MapCoordF &position, MapWidget *widget, ConstrainAngleToolHelper *angle_tool, MapCoord *out_snap_position=nullptr) |
Checks for existing objects in map at position and if one is found, returns true and sets related angles in angle_tool. More... | |
void | draw (QPainter *painter, MapWidget *widget) |
Draws the snap mark which was last returned by snapToObject(). More... | |
void | includeDirtyRect (QRectF &rect) |
Includes this helper's drawing region in the given rect. More... | |
int | getDisplayRadius () const |
Returns the radius of the visualization in pixels. More... | |
![]() | |
virtual const QMetaObject * | metaObject () const const |
QObject (QObject *parent) | |
virtual | ~QObject () |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
QString | objectName () const const |
void | setObjectName (const QString &name) |
bool | isWidgetType () const const |
bool | isWindowType () const const |
bool | signalsBlocked () const const |
bool | blockSignals (bool block) |
QThread * | thread () const const |
void | moveToThread (QThread *targetThread) |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
void | killTimer (int id) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
const QObjectList & | children () const const |
void | setParent (QObject *parent) |
void | installEventFilter (QObject *filterObj) |
void | removeEventFilter (QObject *obj) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectTree () |
void | dumpObjectInfo () |
void | dumpObjectTree () const const |
void | dumpObjectInfo () const const |
bool | setProperty (const char *name, const QVariant &value) |
QVariant | property (const char *name) const const |
QList< QByteArray > | dynamicPropertyNames () const const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
bool | inherits (const char *className) const const |
void | deleteLater () |
Q_DISABLE_COPY (Class) | |
Q_DISABLE_MOVE (Class) | |
Q_DISABLE_COPY_MOVE (Class) | |
T | qobject_cast (QObject *object) |
T | qobject_cast (const QObject *object) |
T | qFindChild (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
Q_CLASSINFO (Name, Value) | |
Q_INTERFACES (...) | |
Q_PROPERTY (...) | |
Q_ENUMS (...) | |
Q_FLAGS (...) | |
Q_ENUM (...) | |
Q_FLAG (...) | |
Q_ENUM_NS (...) | |
Q_FLAG_NS (...) | |
Q_OBJECT Q_OBJECT | |
Q_GADGET Q_GADGET | |
Q_NAMESPACE Q_NAMESPACE | |
Q_SIGNALS Q_SIGNALS | |
Q_SIGNAL Q_SIGNAL | |
Q_SLOTS Q_SLOTS | |
Q_SLOT Q_SLOT | |
Q_EMIT Q_EMIT | |
Q_INVOKABLE Q_INVOKABLE | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Additional Inherited Members | |
![]() | |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
![]() | |
typedef | QObjectList |
![]() | |
QObject * | sender () const const |
int | senderSignalIndex () const const |
int | receivers (const char *signal) const const |
bool | isSignalConnected (const QMetaMethod &signal) const const |
virtual void | timerEvent (QTimerEvent *event) |
virtual void | childEvent (QChildEvent *event) |
virtual void | customEvent (QEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
![]() | |
objectName | |
Helper class to snap to existing objects or a grid on the map.
OpenOrienteering::SnappingToolHelper::SnappingToolHelper | ( | MapEditorTool * | tool, |
SnapObjects | filter = NoSnapping |
||
) |
Constructs a snapping tool helper.
By default it is disabled (filter set to NoSnapping).
|
override |
|
signal |
Emitted whenever the snap mark changes position.
Draws the snap mark which was last returned by snapToObject().
|
inline |
Returns the radius of the visualization in pixels.
SnappingToolHelper::SnapObjects OpenOrienteering::SnappingToolHelper::getFilter | ( | ) | const |
void OpenOrienteering::SnappingToolHelper::includeDirtyRect | ( | QRectF & | rect | ) |
Includes this helper's drawing region in the given rect.
void OpenOrienteering::SnappingToolHelper::setFilter | ( | SnapObjects | filter | ) |
Constrain the objects to snap onto.
bool OpenOrienteering::SnappingToolHelper::snapToDirection | ( | const MapCoordF & | position, |
MapWidget * | widget, | ||
ConstrainAngleToolHelper * | angle_tool, | ||
MapCoord * | out_snap_position = nullptr |
||
) |
Checks for existing objects in map at position and if one is found, returns true and sets related angles in angle_tool.
Internally remembers the position so the next call to draw() will draw the snap mark there.
MapCoord OpenOrienteering::SnappingToolHelper::snapToObject | ( | const MapCoordF & | position, |
MapWidget * | widget, | ||
SnappingToolHelperSnapInfo * | info = nullptr , |
||
Object * | exclude_object = nullptr |
||
) |
Snaps the given position to the closest snapping object, or returns the original position if no snapping object is close enough.
Internally remembers the position so the next call to draw() will draw the snap mark there.
If the info parameter is set, information about the object snapped onto is returned there. The snap_distance parameter can be used to set the maximum snap distance. If it is negative, the corresponding application setting will be used.
TODO: widget parameter is only used for getMapView(). Replace by view parameter?