Classes | Signals | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
QwtPanner Class Reference

QwtPanner provides panning of a widget. More...

#include <qwt_panner.h>

Inheritance diagram for QwtPanner:
Inheritance graph
[legend]

List of all members.

Classes

class  PrivateData

Signals

void moved (int dx, int dy)
void panned (int dx, int dy)

Public Member Functions

const QCursor cursor () const
virtual bool eventFilter (QObject *, QEvent *)
 Event filter.
void getAbortKey (int &key, Qt::KeyboardModifiers &) const
 Get the abort key and modifiers.
void getMouseButton (Qt::MouseButton &button, Qt::KeyboardModifiers &) const
 Get mouse button and modifiers used for panning.
bool isEnabled () const
bool isOrientationEnabled (Qt::Orientation) const
Qt::Orientations orientations () const
 Return the orientation, where paning is enabled.
 QwtPanner (QWidget *parent)
void setAbortKey (int key, Qt::KeyboardModifiers=Qt::NoModifier)
void setCursor (const QCursor &)
void setEnabled (bool)
 En/disable the panner.
void setMouseButton (Qt::MouseButton, Qt::KeyboardModifiers=Qt::NoModifier)
void setOrientations (Qt::Orientations)
virtual ~QwtPanner ()
 Destructor.

Protected Member Functions

virtual QBitmap contentsMask () const
 Calculate a mask for the contents of the panned widget.
virtual QPixmap grab () const
virtual void paintEvent (QPaintEvent *)
 Paint event.
virtual void widgetKeyPressEvent (QKeyEvent *)
virtual void widgetKeyReleaseEvent (QKeyEvent *)
virtual void widgetMouseMoveEvent (QMouseEvent *)
virtual void widgetMousePressEvent (QMouseEvent *)
virtual void widgetMouseReleaseEvent (QMouseEvent *)

Private Member Functions

void showCursor (bool)

Private Attributes

PrivateDatad_data

Detailed Description

QwtPanner provides panning of a widget.

QwtPanner grabs the contents of a widget, that can be dragged in all directions. The offset between the start and the end position is emitted by the panned signal.

QwtPanner grabs the content of the widget into a pixmap and moves the pixmap around, without initiating any repaint events for the widget. Areas, that are not part of content are not painted while panning. This makes panning fast enough for widgets, where repaints are too slow for mouse movements.

For widgets, where repaints are very fast it might be better to implement panning manually by mapping mouse events into paint events.

Definition at line 35 of file qwt_panner.h.


Constructor & Destructor Documentation

QwtPanner::QwtPanner ( QWidget *  parent) [explicit]

Creates an panner that is enabled for the left mouse button.

Parameters:
parentParent widget to be panned

Definition at line 86 of file qwt_panner.cpp.

QwtPanner::~QwtPanner ( ) [virtual]

Destructor.

Definition at line 100 of file qwt_panner.cpp.


Member Function Documentation

QBitmap QwtPanner::contentsMask ( ) const [protected, virtual]

Calculate a mask for the contents of the panned widget.

Sometimes only parts of the contents of a widget should be panned. F.e. for a widget with a styled background with rounded borders only the area inside of the border should be panned.

Returns:
An empty bitmap, indicating no mask

Reimplemented in QwtPlotPanner.

Definition at line 295 of file qwt_panner.cpp.

const QCursor QwtPanner::cursor ( ) const
Returns:
Cursor that is active while panning
See also:
setCursor()

Definition at line 166 of file qwt_panner.cpp.

bool QwtPanner::eventFilter ( QObject *  object,
QEvent *  event 
) [virtual]

Event filter.

When isEnabled() is true mouse events of the observed widget are filtered.

Parameters:
objectObject to be filtered
eventEvent
Returns:
Always false, beside for paint events for the parent widget.
See also:
widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseMoveEvent()

Definition at line 328 of file qwt_panner.cpp.

void QwtPanner::getAbortKey ( int &  key,
Qt::KeyboardModifiers &  modifiers 
) const

Get the abort key and modifiers.

Definition at line 139 of file qwt_panner.cpp.

void QwtPanner::getMouseButton ( Qt::MouseButton &  button,
Qt::KeyboardModifiers &  modifiers 
) const

Get mouse button and modifiers used for panning.

Definition at line 117 of file qwt_panner.cpp.

QPixmap QwtPanner::grab ( ) const [protected, virtual]

Grab the widget into a pixmap.

Returns:
Grabbed pixmap

Reimplemented in QwtPlotPanner.

Definition at line 304 of file qwt_panner.cpp.

bool QwtPanner::isEnabled ( ) const
Returns:
true when enabled, false otherwise
See also:
setEnabled, eventFilter()

Definition at line 239 of file qwt_panner.cpp.

bool QwtPanner::isOrientationEnabled ( Qt::Orientation  o) const
Returns:
True if an orientation is enabled
See also:
orientations(), setOrientations()

Definition at line 230 of file qwt_panner.cpp.

void QwtPanner::moved ( int  dx,
int  dy 
) [signal]

Signal emitted, while the widget moved, but panning is not finished.

Parameters:
dxOffset in horizontal direction
dyOffset in vertical direction
Qt::Orientations QwtPanner::orientations ( ) const

Return the orientation, where paning is enabled.

Definition at line 221 of file qwt_panner.cpp.

void QwtPanner::paintEvent ( QPaintEvent *  pe) [protected, virtual]

Paint event.

Repaint the grabbed pixmap on its current position and fill the empty spaces by the background of the parent widget.

Parameters:
pePaint event

Definition at line 252 of file qwt_panner.cpp.

void QwtPanner::panned ( int  dx,
int  dy 
) [signal]

Signal emitted, when panning is done

Parameters:
dxOffset in horizontal direction
dyOffset in vertical direction
void QwtPanner::setAbortKey ( int  key,
Qt::KeyboardModifiers  modifiers = Qt::NoModifier 
)

Change the abort key The defaults are Qt::Key_Escape and Qt::NoModifiers

Parameters:
keyKey ( See Qt::Keycode )
modifiersKeyboard modifiers

Definition at line 131 of file qwt_panner.cpp.

void QwtPanner::setCursor ( const QCursor &  cursor)

Change the cursor, that is active while panning The default is the cursor of the parent widget.

Parameters:
cursorNew cursor
See also:
setCursor()

Definition at line 155 of file qwt_panner.cpp.

void QwtPanner::setEnabled ( bool  on)

En/disable the panner.

When enabled is true an event filter is installed for the observed widget, otherwise the event filter is removed.

Parameters:
ontrue or false
See also:
isEnabled(), eventFilter()

Definition at line 187 of file qwt_panner.cpp.

void QwtPanner::setMouseButton ( Qt::MouseButton  button,
Qt::KeyboardModifiers  modifiers = Qt::NoModifier 
)

Change the mouse button and modifiers used for panning The defaults are Qt::LeftButton and Qt::NoModifier

Definition at line 109 of file qwt_panner.cpp.

void QwtPanner::setOrientations ( Qt::Orientations  o)

Set the orientations, where panning is enabled The default value is in both directions: Qt::Horizontal | Qt::Vertical

/param o Orientation

Definition at line 215 of file qwt_panner.cpp.

void QwtPanner::showCursor ( bool  on) [private]

Definition at line 506 of file qwt_panner.cpp.

void QwtPanner::widgetKeyPressEvent ( QKeyEvent *  keyEvent) [protected, virtual]

Handle a key press event for the observed widget.

Parameters:
keyEventKey event
See also:
eventFilter(), widgetKeyReleaseEvent()

Definition at line 480 of file qwt_panner.cpp.

void QwtPanner::widgetKeyReleaseEvent ( QKeyEvent *  keyEvent) [protected, virtual]

Handle a key release event for the observed widget.

Parameters:
keyEventKey event
See also:
eventFilter(), widgetKeyReleaseEvent()

Definition at line 500 of file qwt_panner.cpp.

void QwtPanner::widgetMouseMoveEvent ( QMouseEvent *  mouseEvent) [protected, virtual]

Handle a mouse move event for the observed widget.

Parameters:
mouseEventMouse event
See also:
eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent()

Definition at line 419 of file qwt_panner.cpp.

void QwtPanner::widgetMousePressEvent ( QMouseEvent *  mouseEvent) [protected, virtual]

Handle a mouse press event for the observed widget.

Parameters:
mouseEventMouse event
See also:
eventFilter(), widgetMouseReleaseEvent(), widgetMouseMoveEvent(),

Definition at line 379 of file qwt_panner.cpp.

void QwtPanner::widgetMouseReleaseEvent ( QMouseEvent *  mouseEvent) [protected, virtual]

Handle a mouse release event for the observed widget.

Parameters:
mouseEventMouse event
See also:
eventFilter(), widgetMousePressEvent(), widgetMouseMoveEvent(),

Definition at line 447 of file qwt_panner.cpp.


Member Data Documentation

Reimplemented in QwtPlotPanner.

Definition at line 99 of file qwt_panner.h.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Fri Sep 1 2017 02:41:57