Q3DInputHandler Class

Basic wheel mouse based input handler. More...

Header: #include <Q3DInputHandler>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
Instantiated By: InputHandler3D
Inherits: QAbstract3DInputHandler
Inherited By:

QTouch3DInputHandler

Status: Technical Preview

Properties

Public Functions

Q3DInputHandler(QObject *parent = nullptr)
virtual ~Q3DInputHandler()
bool isRotationEnabled() const
bool isSelectionEnabled() const
bool isZoomAtTargetEnabled() const
bool isZoomEnabled() const
void setRotationEnabled(bool enable)
void setSelectionEnabled(bool enable)
void setZoomAtTargetEnabled(bool enable)
void setZoomEnabled(bool enable)

Reimplemented Public Functions

virtual void mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos) override
virtual void mousePressEvent(QMouseEvent *event, const QPoint &mousePos) override
virtual void mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos) override
virtual void wheelEvent(QWheelEvent *event) override

Signals

void rotationEnabledChanged(bool enable)
void selectionEnabledChanged(bool enable)
void zoomAtTargetEnabledChanged(bool enable)
void zoomEnabledChanged(bool enable)

Detailed Description

Q3DInputHandler is the basic input handler for wheel mouse type of input devices.

Default input handler has the following functionalty:

Mouse actionAction
Drag with right button pressedRotate graph within limits.
Left clickSelect item under cursor or remove selection if none. May open the secondary view depending on the selection mode.
Mouse wheelZoom in/out within the allowable zoom range.
Left click on the primary view when the secondary view is visibleCloses the secondary view.

Note: Secondary view is available only for Q3DBars and Q3DSurface graphs.

Rotation, zoom, and selection can each be individually disabled using corresponding properties of this class.

Property Documentation

rotationEnabled : bool

This property holds whether this input handler allows graph rotation.

Defaults to true.

Access functions:

bool isRotationEnabled() const
void setRotationEnabled(bool enable)

Notifier signal:

void rotationEnabledChanged(bool enable)

selectionEnabled : bool

This property holds whether this input handler allows selection from the graph.

Defaults to true.

Access functions:

bool isSelectionEnabled() const
void setSelectionEnabled(bool enable)

Notifier signal:

void selectionEnabledChanged(bool enable)

zoomAtTargetEnabled : bool

This property holds whether zooming should change the camera target so that the zoomed point of the graph stays at the same location after the zoom.

Defaults to true.

Access functions:

bool isZoomAtTargetEnabled() const
void setZoomAtTargetEnabled(bool enable)

Notifier signal:

void zoomAtTargetEnabledChanged(bool enable)

zoomEnabled : bool

This property holds whether this input handler allows graph zooming.

Defaults to true.

Access functions:

bool isZoomEnabled() const
void setZoomEnabled(bool enable)

Notifier signal:

void zoomEnabledChanged(bool enable)

Member Function Documentation

[explicit] Q3DInputHandler::Q3DInputHandler(QObject *parent = nullptr)

Constructs the basic mouse input handler. An optional parent parameter can be given and is then passed to QObject constructor.

[virtual noexcept] Q3DInputHandler::~Q3DInputHandler()

Destroys the input handler.

[override virtual] void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)

Reimplements: QAbstract3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos).

Override this to change handling of mouse move events. Mouse move event is given in the event and the mouse position in mousePos.

[override virtual] void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos)

Reimplements: QAbstract3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos).

Override this to change handling of mouse press events. Mouse press event is given in the event and the mouse position in mousePos.

[override virtual] void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos)

Reimplements: QAbstract3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos).

Override this to change handling of mouse release events. Mouse release event is given in the event and the mouse position in mousePos.

[override virtual] void Q3DInputHandler::wheelEvent(QWheelEvent *event)

Reimplements: QAbstract3DInputHandler::wheelEvent(QWheelEvent *event).

Override this to change handling of wheel events. The wheel event is given in the event.