![]() |
Mapper
0.9.0
API documentation
|
Tool to pan the map. More...
#include <pan_tool.h>
Public Member Functions | |
PanTool (MapEditorController *editor, QAction *tool_action) | |
~PanTool () override | |
![]() | |
MapEditorToolBase (const QCursor &cursor, MapEditorTool::Type type, MapEditorController *editor, QAction *tool_action) | |
~MapEditorToolBase () override | |
void | init () override |
Performs initialization when the tool becomes active. More... | |
const QCursor & | getCursor () const override |
Returns the cursor which should be used for the tool in the editor windows. More... | |
void | mousePositionEvent (QMouseEvent *event, const MapCoordF &map_coord, MapWidget *widget) |
Updates the saved current position (raw and constrained), map widget, and modifiers. More... | |
bool | mousePressEvent (QMouseEvent *event, const MapCoordF &map_coord, MapWidget *widget) override |
bool | mouseMoveEvent (QMouseEvent *event, const MapCoordF &map_coord, MapWidget *widget) override |
bool | mouseReleaseEvent (QMouseEvent *event, const MapCoordF &map_coord, MapWidget *widget) override |
bool | keyPressEvent (QKeyEvent *event) override |
bool | keyReleaseEvent (QKeyEvent *event) override |
void | draw (QPainter *painter, MapWidget *widget) override |
Draws the preview renderables. Should be overridden to draw custom elements. More... | |
void | finishEditing () override |
Finishes editing if it is currently in progress. More... | |
![]() | |
MapEditorTool (MapEditorController *editor, Type type, QAction *tool_action=nullptr) | |
Constructs a new MapEditorTool. More... | |
~MapEditorTool () override | |
Destructs the MapEditorTool. More... | |
virtual void | deactivate () |
Makes this tool inactive in the editor. More... | |
virtual void | switchToDefaultDrawTool (const Symbol *symbol) const |
Switch to a default draw tool for the given symbol. More... | |
virtual bool | mouseDoubleClickEvent (QMouseEvent *event, const MapCoordF &map_coord, MapWidget *widget) |
virtual void | leaveEvent (QEvent *event) |
virtual void | focusOutEvent (QFocusEvent *event) |
virtual bool | inputMethodEvent (QInputMethodEvent *event) |
virtual QVariant | inputMethodQuery (Qt::InputMethodQuery property, const QVariant &argument) const |
virtual bool | gestureEvent (QGestureEvent *event, MapWidget *widget) |
Type | toolType () const |
Returns the type of this tool. More... | |
QAction * | toolAction () const |
Returns the action which represents this tool. More... | |
bool | usesTouchCursor () const |
Returns whether to use the touch helper cursor for this tool. More... | |
Map * | map () const |
Returns the map being edited. More... | |
MapWidget * | mapWidget () const |
Returns the map widget being operated on. More... | |
MainWindow * | mainWindow () const |
Returns the main window the controller is attached to. More... | |
QWidget * | window () const |
Returns the main window the controller is attached to as a QWidget. More... | |
bool | drawOnRightClickEnabled () const |
Returns true if Mapper is configured to finish drawing on right click. More... | |
bool | editingInProgress () const |
Returns whether an editing operation is currently in progress. More... | |
bool | isDrawTool () const |
Returns true if the given tool is for drawing new objects. More... | |
const PointHandles & | pointHandles () const |
Returns the point handles utility for this tool. More... | |
unsigned int | scaleFactor () const |
The factor by which all drawing shall be scaled. More... | |
qreal | clickTolerance () const |
A value representing how close the user must click or hover to select a point. More... | |
int | startDragDistance () const |
The number of pixels the mouse has to be moved to start dragging. 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 | |
Protected Member Functions | |
void | updateStatusText () override |
Must update the status bar text. More... | |
void | objectSelectionChangedImpl () override |
Called when the object selection in the map is changed. More... | |
void | clickPress () override |
Called when the left mouse button is pressed. More... | |
void | dragStart () override |
Called when a drag operation is started. More... | |
void | dragMove () override |
Called when the mouse is moved with the left mouse button being pressed. More... | |
void | dragFinish () override |
Called when a drag operation is finished. More... | |
void | dragCanceled () override |
![]() | |
virtual void | initImpl () |
Can do additional initializations at a time where no other tool is active (in contrast to the constructor) More... | |
virtual int | updateDirtyRectImpl (QRectF &rect) |
Must include the area of all custom drawings into the rect, which already contains the area of the selection preview and activated tool helpers when this method is called. More... | |
virtual void | drawImpl (QPainter *painter, MapWidget *widget) |
Must draw the tool's graphics. More... | |
virtual void | clickRelease () |
Called when the left mouse button is released without a drag operation before. More... | |
virtual void | mouseMove () |
Called when the mouse is moved without the left mouse button being pressed. More... | |
void | gestureStarted () override |
This is called to signal the start of a gesture. More... | |
void | startDragging () |
void | updateDragging () |
void | finishDragging () |
void | cancelDragging () |
bool | isDragging () const |
Is the left mouse button pressed and has a drag move been started (by moving the mouse a minimum amount of pixels)? More... | |
virtual bool | keyPress (QKeyEvent *event) |
Called when a key is pressed down. Return true if the key was processed by the tool. More... | |
virtual bool | keyRelease (QKeyEvent *event) |
Called when a key is released. Return true if the key was processed by the tool. More... | |
void | reapplyConstraintHelpers () |
Applies the constraint helpers and generates a pointer event. More... | |
void | startEditing () |
Call this before editing the selected objects, and finish/abortEditing() afterwards. More... | |
void | startEditing (Object *object) |
void | startEditing (const std::set< Object *> &objects) |
void | abortEditing () |
ObjectsRange | editedObjects () |
bool | editedObjectsModified () const |
void | resetEditedObjects () |
virtual void | updatePreviewObjects () |
Call this to display changes to the preview objects between startEditing() and finish/abortEditing(). More... | |
void | updatePreviewObjectsAsynchronously () |
Call this to display changes to the preview objects between startEditing() and finish/abortEditing(). More... | |
void | drawSelectionOrPreviewObjects (QPainter *painter, MapWidget *widget, bool draw_opaque=false) |
If the tool created custom renderables (e.g. More... | |
void | activateAngleHelperWhileEditing (bool enable=true) |
Activates or deactivates the angle helper, recalculates (un-)constrained cursor position, and calls mouseMove() or dragMove() to update the tool. More... | |
void | activateSnapHelperWhileEditing (bool enable=true) |
Activates or deactivates the snap helper, recalculates (un-)constrained cursor position, and calls mouseMove() or dragMove() to update the tool. More... | |
void | updateConstrainedPositions () |
Calculates the constrained cursor position for the current position and map widget. More... | |
![]() | |
void | useTouchCursor (bool enabled) |
Sets the flag which indicates whether the touch cursor shall be used. More... | |
void | setEditingInProgress (bool state) |
Sets a flag which indicates an active editing operation. More... | |
void | setStatusBarText (const QString &text) |
Sends text to the window's status bar. More... | |
void | drawSelectionBox (QPainter *painter, MapWidget *widget, const MapCoordF &corner1, const MapCoordF &corner2) const |
Draws a selection box for the given corner points. More... | |
MapCoordVector::size_type | findHoverPoint (const QPointF &cursor, const MapWidget *widget, const Object *object, bool include_curve_handles, MapCoordF *out_handle_pos=nullptr) const |
Finds and returns the point of the given object over which the cursor hovers. More... | |
bool | containsDrawingButtons (Qt::MouseButtons buttons) const |
Checks if the given buttons contain one which controls drawing. More... | |
bool | isDrawingButton (Qt::MouseButton button) const |
Checks if the given event was triggered by press or release of a mouse button for drawing. More... | |
![]() | |
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) |
Additional Inherited Members | |
![]() | |
enum | Type { EditPoint = 1, EditLine = 2, DrawPoint = 3, DrawPath = 4, DrawCircle = 5, DrawRectangle = 6, DrawText = 7, DrawFreehand = 8, Pan = 9, Scribble = 10, Other = 0 } |
Types of tool. More... | |
![]() | |
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 |
![]() | |
static const QRgb | inactive_color = qRgb(0, 0, 255) |
Color for normal (not active) elements. More... | |
static const QRgb | active_color = qRgb(255, 150, 0) |
Color for active elements (which are hovered over by the cursor) More... | |
static const QRgb | selection_color = qRgb(210, 0, 229) |
Color for selected elements. More... | |
![]() | |
void | updateDirtyRect () |
void | objectSelectionChanged () |
void | updatePreviewObjectsSlot () |
![]() | |
static QCursor | scaledToScreen (const QCursor &unscaled_cursor) |
Returns a cursor which is scaled to the screen's resolution. More... | |
![]() | |
QPoint | click_pos |
Position where the left mouse button was pressed, with no constraints applied. More... | |
MapCoordF | click_pos_map |
QPointF | constrained_click_pos |
Position where the left mouse button was pressed, constrained by tool helpers, if active. More... | |
MapCoordF | constrained_click_pos_map |
QPoint | cur_pos |
Position where the cursor is currently. More... | |
MapCoordF | cur_pos_map |
QPointF | constrained_pos |
Position where the cursor is currently, constrained by tool helpers, if active. More... | |
MapCoordF | constrained_pos_map |
bool | snapped_to_pos |
This is set to true when constrained_pos(_map) is a snapped position. More... | |
int | effective_start_drag_distance |
The amount of pixels the mouse has to be moved to start dragging. More... | |
std::unique_ptr< ConstrainAngleToolHelper > | angle_helper |
Angle tool helper. If activated, it is included in the dirty rect and drawn automatically. More... | |
std::unique_ptr< SnappingToolHelper > | snap_helper |
Snapping tool helper. If a non-null filter is set, it is included in the dirty rect and drawn automatically. More... | |
Object * | snap_exclude_object = nullptr |
An object to exclude from snapping, or nullptr to snap to all objects. More... | |
Qt::KeyboardModifiers | active_modifiers |
Bitmask containing active modifiers. More... | |
MapWidget * | cur_map_widget |
The map widget in which the tool was last used. More... | |
QPointer< KeyButtonBar > | key_button_bar |
Must be set by derived classes if a key button bar is used. More... | |
![]() | |
MapEditorController *const | editor |
The map editor which uses this tool. More... | |
![]() | |
objectName | |
Tool to pan the map.
OpenOrienteering::PanTool::PanTool | ( | MapEditorController * | editor, |
QAction * | tool_action | ||
) |
|
overridedefault |
|
overrideprotectedvirtual |
Called when the left mouse button is pressed.
Reimplemented from OpenOrienteering::MapEditorToolBase.
|
overrideprotectedvirtual |
Reimplemented from OpenOrienteering::MapEditorToolBase.
|
overrideprotectedvirtual |
Called when a drag operation is finished.
There is no need to update the edit operation with the current cursor coordinates in this call as it is ensured that dragMove() is called before.
Reimplemented from OpenOrienteering::MapEditorToolBase.
|
overrideprotectedvirtual |
Called when the mouse is moved with the left mouse button being pressed.
Reimplemented from OpenOrienteering::MapEditorToolBase.
|
overrideprotectedvirtual |
Called when a drag operation is started.
This happens when dragging the mouse some pixels away from the mouse press position. The distance is determined by start_drag_distance. dragMove() is called immediately after this call to account for the already moved distance.
Reimplemented from OpenOrienteering::MapEditorToolBase.
|
overrideprotectedvirtual |
Called when the object selection in the map is changed.
This can happen for example as result of an undo/redo operation.
Implements OpenOrienteering::MapEditorToolBase.
|
overrideprotectedvirtual |
Must update the status bar text.
Implements OpenOrienteering::MapEditorToolBase.