Qwt User's Guide
svn
|
#include <qwt_panner.h>
Inherited by QwtPlotPanner.
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 *) |
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 |
QwtPanner (QWidget *parent) | |
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) |
virtual | ~QwtPanner () |
Protected Member Functions | |
virtual QBitmap | contentsMask () const |
virtual QPixmap | grab () const |
virtual void | paintEvent (QPaintEvent *) |
virtual void | widgetKeyPressEvent (QKeyEvent *) |
virtual void | widgetKeyReleaseEvent (QKeyEvent *) |
virtual void | widgetMouseMoveEvent (QMouseEvent *) |
virtual void | widgetMousePressEvent (QMouseEvent *) |
virtual void | widgetMouseReleaseEvent (QMouseEvent *) |
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.
QwtPanner::QwtPanner | ( | QWidget * | parent | ) |
Creates an panner that is enabled for the left mouse button.
parent | Parent widget to be panned |
QwtPanner::~QwtPanner | ( | ) | [virtual] |
Destructor.
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.
Reimplemented in QwtPlotPanner.
const QCursor QwtPanner::cursor | ( | ) | const |
bool QwtPanner::eventFilter | ( | QObject * | object, |
QEvent * | event | ||
) | [virtual] |
Event filter.
When isEnabled() the mouse events of the observed widget are filtered.
object | Object to be filtered |
event | Event |
void QwtPanner::getAbortKey | ( | int & | key, |
int & | state | ||
) | const |
Get the abort key.
void QwtPanner::getMouseButton | ( | int & | button, |
int & | buttonState | ||
) | const |
Get the mouse button.
QPixmap QwtPanner::grab | ( | ) | const [protected, virtual] |
Grab the widget into a pixmap.
bool QwtPanner::isEnabled | ( | ) | const |
bool QwtPanner::isOrientationEnabled | ( | Qt::Orientation | o | ) | const |
Return true if a orientatio is enabled
void QwtPanner::moved | ( | int | dx, |
int | dy | ||
) | [signal] |
Signal emitted, while the widget moved, but panning is not finished.
dx | Offset in horizontal direction |
dy | Offset in vertical direction |
Qt::Orientations QwtPanner::orientations | ( | ) | const |
Return the orientation, where paning is enabled.
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.
pe | Paint event |
void QwtPanner::panned | ( | int | dx, |
int | dy | ||
) | [signal] |
Signal emitted, when panning is done
dx | Offset in horizontal direction |
dy | Offset 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
key | Key ( See Qt::Keycode ) |
state | State |
void QwtPanner::setCursor | ( | const QCursor & | cursor | ) |
Change the cursor, that is active while panning The default is the cursor of the parent widget.
cursor | New cursor |
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.
on | true or false |
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 * | keyEvent | ) | [protected, virtual] |
Handle a key press event for the observed widget.
keyEvent | Key event |
void QwtPanner::widgetKeyReleaseEvent | ( | QKeyEvent * | keyEvent | ) | [protected, virtual] |
Handle a key release event for the observed widget.
keyEvent | Key event |
void QwtPanner::widgetMouseMoveEvent | ( | QMouseEvent * | mouseEvent | ) | [protected, virtual] |
Handle a mouse move event for the observed widget.
mouseEvent | Mouse event |
void QwtPanner::widgetMousePressEvent | ( | QMouseEvent * | mouseEvent | ) | [protected, virtual] |
Handle a mouse press event for the observed widget.
mouseEvent | Mouse event |
void QwtPanner::widgetMouseReleaseEvent | ( | QMouseEvent * | mouseEvent | ) | [protected, virtual] |
Handle a mouse release event for the observed widget.
mouseEvent | Mouse event |