Graphics_view_zoom Class Reference

#include <ArmarXGui/gui-plugins/StatechartViewerPlugin/view/GraphicsViewZoom.h>

+ Inheritance diagram for Graphics_view_zoom:

Signals

void moved ()
 
void zoomed ()
 

Public Member Functions

void gentle_zoom (double factor)
 
QGraphicsView * getView () const
 
 Graphics_view_zoom (QGraphicsView *view)
 
void set_modifiers (Qt::KeyboardModifiers modifiers)
 
void set_zoom_factor_base (double value)
 

Detailed Description

This class adds ability to zoom QGraphicsView using mouse wheel. The point under cursor remains motionless while it's possible.

Note that it becomes not possible when the scene's size is not large enough comparing to the viewport size. QGraphicsView centers the picture when it's smaller than the view. And QGraphicsView's scrolls boundaries don't allow to put any picture point at any viewport position.

When the user starts scrolling, this class remembers original scene position and keeps it until scrolling is completed. It's better than getting original scene position at each scrolling step because that approach leads to position errors due to before-mentioned positioning restrictions.

When zommed using scroll, this class emits zoomed() signal.

Usage:

new Graphics_view_zoom(view);

The object will be deleted automatically when the view is deleted.

You can set keyboard modifiers used for zooming using set_modified(). Zooming will be performed only on exact match of modifiers combination. The default modifier is Ctrl.

You can change zoom velocity by calling set_zoom_factor_base(). Zoom coefficient is calculated as zoom_factor_base^angle_delta (see QWheelEvent::angleDelta). The default zoom factor base is 1.0015.

Definition at line 64 of file GraphicsViewZoom.h.

Constructor & Destructor Documentation

◆ Graphics_view_zoom()

Graphics_view_zoom ( QGraphicsView *  view)

Definition at line 42 of file GraphicsViewZoom.cpp.

Member Function Documentation

◆ gentle_zoom()

void gentle_zoom ( double  factor)

Definition at line 51 of file GraphicsViewZoom.cpp.

◆ getView()

QGraphicsView * getView ( ) const

Definition at line 73 of file GraphicsViewZoom.cpp.

+ Here is the caller graph for this function:

◆ moved

void moved ( )
signal

◆ set_modifiers()

void set_modifiers ( Qt::KeyboardModifiers  modifiers)

Definition at line 62 of file GraphicsViewZoom.cpp.

+ Here is the caller graph for this function:

◆ set_zoom_factor_base()

void set_zoom_factor_base ( double  value)

Definition at line 68 of file GraphicsViewZoom.cpp.

+ Here is the call graph for this function:

◆ zoomed

void zoomed ( )
signal
+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: