QwtPanner(3)

NAME
QwtPanner - QwtPanner provides panning of a widget.

SYNOPSIS

#include <qwt_panner.h>

Inherited by QwtPlotPanner.

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

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

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

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:
    parent Parent widget to be panned

  QwtPanner::~QwtPanner () [virtual]

Destructor.

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()

  void QwtPanner::getAbortKey (int & key, int & state) const

Get the abort key.

  void QwtPanner::getMouseButton (int & button, int & buttonState) const

Get the mouse button.

  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:
    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.

Parameters:
    pe Paint event

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

Signal emitted, when panning is done

Parameters:
    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

Parameters:
    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.

Parameters:
    cursor New 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:
    on true 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) [protected, virtual]

Handle a key press event for the observed widget.

Parameters:
    ke Key event

See also:
    eventFilter(), widgetKeyReleaseEvent()

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

Handle a key release event for the observed widget.

See also:
    eventFilter(), widgetKeyReleaseEvent()

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

Handle a mouse move event for the observed widget.

Parameters:
    me Mouse event

See also:
    eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent()

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

Handle a mouse press event for the observed widget.

Parameters:
    me Mouse event

See also:
    eventFilter(), widgetMouseReleaseEvent(), widgetMouseMoveEvent(),

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

Handle a mouse release event for the observed widget.

Parameters:
    me Mouse event

See also:
    eventFilter(), widgetMousePressEvent(), widgetMouseMoveEvent(),

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.