Пример #1
0
void
SoQtThumbWheel::mouseReleaseEvent(QMouseEvent * event)
{
  if (this->state != SoQtThumbWheel::Dragging)
    return;

  if (event->button() != Qt::LeftButton)
    return;

  this->wheelValue = this->tempWheelValue;
  this->mouseLastPos = this->mouseDownPos;
  this->state = SoQtThumbWheel::Idle;
  emit wheelReleased();
}
Пример #2
0
void QwtWheel::mouseReleaseEvent( QMouseEvent *event )
{
    Q_UNUSED( event );

    if ( !d_data->isScrolling )
        return;

    d_data->isScrolling = false;

    bool startFlying = false;

    if ( d_data->mass > 0.0 )
    {
        const int ms = d_data->time.elapsed();
        if ( ( qFabs( d_data->speed ) > 0.0 ) && ( ms < 50 ) )
            startFlying = true;
    }

    if ( startFlying )
    {
        d_data->flyingValue =
            boundedValue( d_data->mouseValue - d_data->mouseOffset );

        d_data->timerId = startTimer( d_data->updateInterval );
    }
    else
    {
        if ( d_data->pendingValueChanged )
            Q_EMIT valueChanged( d_data->value );
    }

    d_data->pendingValueChanged = false;
    d_data->mouseOffset = 0.0;

    Q_EMIT wheelReleased();
}