/*! Handle a mouse release event for the observed widget. \param me Mouse event \sa eventFilter(), widgetMousePressEvent(), widgetMouseMoveEvent(), */ void QwtPanner::widgetMouseReleaseEvent(QMouseEvent *me) { if ( isVisible() ) { hide(); #ifndef QT_NO_CURSOR showCursor(false); #endif QPoint pos = me->pos(); if ( !isOrientationEnabled(Qt::Horizontal) ) pos.setX(d_data->initialPos.x()); if ( !isOrientationEnabled(Qt::Vertical) ) pos.setY(d_data->initialPos.y()); d_data->pixmap = QPixmap(); d_data->pos = pos; if ( d_data->pos != d_data->initialPos ) { emit panned(d_data->pos.x() - d_data->initialPos.x(), d_data->pos.y() - d_data->initialPos.y()); } } }
/*! Handle a mouse move event for the observed widget. \param me Mouse event \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent() */ void QwtPanner::widgetMouseMoveEvent(QMouseEvent *me) { if ( !isVisible() ) return; QPoint pos = me->pos(); if ( !isOrientationEnabled(Qt::Horizontal) ) pos.setX(d_data->initialPos.x()); if ( !isOrientationEnabled(Qt::Vertical) ) pos.setY(d_data->initialPos.y()); if ( pos != d_data->pos && rect().contains(pos) ) { d_data->pos = pos; update(); emit moved(d_data->pos.x() - d_data->initialPos.x(), d_data->pos.y() - d_data->initialPos.y()); } }