Qwt User's Guide  5.2.3
Signals | Public Member Functions | Protected Member Functions
QwtPanner Class Reference

#include <qwt_panner.h>

Inheritance diagram for QwtPanner:
Inheritance graph
[legend]

List of all members.

Signals

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

Public Member Functions

 QwtPanner (QWidget *parent)
virtual ~QwtPanner ()
const QCursor cursor () const
virtual bool eventFilter (QObject *, QEvent *)
void getAbortKey (int &key, int &state) const
void getMouseButton (int &button, int &buttonState) const
bool isEnabled () const
bool isOrientationEnabled (Qt::Orientation) const
Qt::Orientations orientations () const
void setAbortKey (int key, int state=Qt::NoButton)
void setCursor (const QCursor &)
void setEnabled (bool)
void setMouseButton (int button, int buttonState=Qt::NoButton)
void setOrientations (Qt::Orientations)

Protected Member Functions

virtual void paintEvent (QPaintEvent *)
virtual void widgetKeyPressEvent (QKeyEvent *)
virtual void widgetKeyReleaseEvent (QKeyEvent *)
virtual void widgetMouseMoveEvent (QMouseEvent *)
virtual void widgetMousePressEvent (QMouseEvent *)
virtual void widgetMouseReleaseEvent (QMouseEvent *)

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 in in process. 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.


Constructor & Destructor Documentation

QwtPanner::QwtPanner ( QWidget *  parent)

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

Parameters:
parentParent widget to be panned

Member Function Documentation

const QCursor QwtPanner::cursor ( ) const
Returns:
Cursor that is active while panning
See also:
setCursor()
bool QwtPanner::eventFilter ( QObject *  o,
QEvent *  e 
)
virtual

Event filter.

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

See also:
widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseMoveEvent()
bool QwtPanner::isEnabled ( ) const
Returns:
true when enabled, false otherwise
See also:
setEnabled, eventFilter()
bool QwtPanner::isOrientationEnabled ( Qt::Orientation  o) const

Return true if a orientatio is enabled

See also:
orientations(), setOrientations()
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
void QwtPanner::paintEvent ( QPaintEvent *  pe)
protectedvirtual

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
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,
int  state = Qt::NoButton 
)

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

Parameters:
keyKey ( See Qt::Keycode )
stateState
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()
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()
void QwtPanner::setMouseButton ( int  button,
int  buttonState = Qt::NoButton 
)

Change the mouse button The defaults are Qt::LeftButton and Qt::NoButton

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

void QwtPanner::widgetKeyPressEvent ( QKeyEvent *  ke)
protectedvirtual

Handle a key press event for the observed widget.

Parameters:
keKey event
See also:
eventFilter(), widgetKeyReleaseEvent()
void QwtPanner::widgetKeyReleaseEvent ( QKeyEvent *  )
protectedvirtual

Handle a key release event for the observed widget.

See also:
eventFilter(), widgetKeyReleaseEvent()
void QwtPanner::widgetMouseMoveEvent ( QMouseEvent *  me)
protectedvirtual

Handle a mouse move event for the observed widget.

Parameters:
meMouse event
See also:
eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent()
void QwtPanner::widgetMousePressEvent ( QMouseEvent *  me)
protectedvirtual

Handle a mouse press event for the observed widget.

Parameters:
meMouse event
See also:
eventFilter(), widgetMouseReleaseEvent(), widgetMouseMoveEvent(),
void QwtPanner::widgetMouseReleaseEvent ( QMouseEvent *  me)
protectedvirtual

Handle a mouse release event for the observed widget.

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