Exemple #1
0
void SliderBase::mouseMoveEvent(QMouseEvent *e)
{
	if (_ignoreMouseMove)
	{
		_ignoreMouseMove = false;
		return;
	}

	double ms = 0.0;
	if (d_scrollMode == ScrMouse)
	{
		setPosition(e->pos());
		if (d_mass > 0.0)
		{
			ms = double(d_time.elapsed());
			if (ms < 1.0) ms = 1.0;
			d_speed = (exactValue() - exactPrevValue()) / ms;
			d_time.start();
		}
		if (value() != prevValue())
		{
			emit sliderMoved(value(), _id);
			emit sliderMoved((int)value(), _id);
		}
	}

}
Exemple #2
0
void SliderBase::wheelEvent(QWheelEvent *e)
{
	if(_ignoreMouseWheel)
	{
		e->ignore();
		return;
	}

	e->accept();

	float inc = (maxValue() - minValue()) / 40;
	if (e->modifiers() == Qt::ShiftModifier)
		inc = inc / 10;

	if (inc < step())
		inc = step();

	if (e->delta() > 0)
		setValue(value() + inc);
	else
		setValue(value() - inc);

	emit sliderMoved(value(), _id);
	emit sliderMoved((int)value(), _id);
}
Exemple #3
0
void CQBarChart::setSlider()
{
#ifdef DEBUG_UI
  qDebug() << "-- in qwt3dPlot.cpp Plot3d::setSlider --";
#endif

  if (mSliderActive)
    if (mData.valueZone != 0)
      {
        mpSliderColumn->setMinimum(0);

        if (mData.columns == 1)
          mpSliderColumn->setMaximum((mData.columns - 1) * 1000);
        else
          mpSliderColumn->setMaximum(mData.columns * 1000);

        mpSliderRow->setMinimum(0);

        if (mData.rows == 1)
          mpSliderRow->setMaximum((mData.rows - 1) * 1000);
        else
          mpSliderRow->setMaximum(mData.rows * 1000);

        sliderMoved(mpSliderColumn->value() / 1000, mpSliderRow->value() / 1000);
      }
}
Exemple #4
0
// Based on code from qslider.cpp
void Slider::mousePressEvent( QMouseEvent *e )
{
	qDebug("pressed (%d, %d)", e->pos().x(), e->pos().y());
	if( e->button() == Qt::LeftButton )
	{
		qDebug( "Left button" );
		QStyleOptionSlider opt;
		initStyleOption( &opt );
		const QRect sliderRect = style()->subControlRect( QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, this );
		const QPoint center = sliderRect.center() - sliderRect.topLeft();
		// to take half of the slider off for the setSliderPosition call we use the center - topLeft

		if ( ! sliderRect.contains( e->pos() ) )
		{
			qDebug( "accept" );
			e->accept();

			int v = pixelPosToRangeValue( pick( e->pos() - center ) );
			setSliderPosition( v );
			triggerAction( SliderMove );
			setRepeatAction( SliderNoAction );
			emit sliderMoved( v );//TODO: ok?
			emit sliderPressed(); //TODO: ok?
		}
		else
		{
			QSlider::mousePressEvent( e );
		}
	}
	else
	{
		QSlider::mousePressEvent( e );
	}
}
Exemple #5
0
void DSlider::mouseMoveEvent(QMouseEvent *event)
{
    QAbstractSlider::mouseMoveEvent(event);

    Q_D(DSlider);

    if(d->mousePressed) {
        int newPosition = d->pixelPosToRangeValue(d->pick(event->pos()) - d->clickOffset);
        setSliderPosition(newPosition);

        emit sliderMoved(newPosition);
    }

    if (!d->m_hoverShowValue) {
        return;
    }

    QPoint pos = event->pos();
    QRect rect(d->getScalePosition(value()) - CustomDrawingLeftPadding, 10, 20, 20);
    if (d->m_handleHovering) {
        d->m_handleHovering = rect.contains(pos);
    } else {
        d->m_handleHovering = rect.contains(pos);
        if (d->m_handleHovering) {
            d->m_hoverTimout = false;
            if (d->m_hoverShowValueInterval > 0) {
                d->m_hoverTimer.start(d->m_hoverShowValueInterval);
            }
        }
    }

    update();
}
Exemple #6
0
void Knob::updatePosition(int val)
{
    setSliderPosition(val);
    setToolTip(QString::number(val));
    update();
    emit sliderMoved(val);
}
Exemple #7
0
void NSlider::mousePressEvent(QMouseEvent *event)
{
	if (event->button() != Qt::RightButton) {
		emit sliderPressed();

		QStyleOptionSlider opt;
		initStyleOption(&opt);
		QRect gr = style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderGroove, this);
		QRect sr = style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, this);

		int pxMin;
		int pxMax;
		if (orientation() == Qt::Horizontal) {
			pxMin = gr.x() +  sr.width() / 2;
			pxMax = gr.right() -  sr.width() / 2 + 1;
		} else {
			pxMin = gr.y() + sr.height() / 2;
			pxMax = gr.bottom() - sr.height() / 2 + 1;
		}

		setValue(QStyle::sliderValueFromPosition(minimum(), maximum(), event->x() - pxMin, pxMax - pxMin, opt.upsideDown));

		emit sliderMoved(value());
	}

	QSlider::mousePressEvent(event);
}
Exemple #8
0
void SoundSlider::mouseMoveEvent( QMouseEvent *event )
{
    if( isSliding )
    {
        QRect rect( paddingL - 15,    -1,
                    WLENGTH + 15 * 2 , WHEIGHT + 5 );
        if( !rect.contains( event->pos() ) )
        { /* We are outside */
            if ( !b_mouseOutside )
                setValue( i_oldvalue );
            b_mouseOutside = true;
        }
        else
        { /* We are inside */
            b_mouseOutside = false;
            changeValue( event->x() - paddingL );
            emit sliderMoved( value() );
        }
    }
    else
    {
        int i = ( ( event->x() - paddingL ) * maximum() + 40 ) / WLENGTH;
        i = __MIN( __MAX( 0, i ), maximum() );
        setToolTip( QString("%1  %" ).arg( i ) );
    }
}
Exemple #9
0
void ValueSlider::
        triggerAction ( QAbstractSlider::SliderAction action )
{
    qreal d = slider_->maximum () - slider_->minimum ();
    qreal f = slider_->value () - slider_->minimum ();

    f /= d;

    switch(action)
    {
    case QAbstractSlider::SliderNoAction:       break;
    case QAbstractSlider::SliderSingleStepAdd:  f+=0.01; break;
    case QAbstractSlider::SliderSingleStepSub:  f-=0.01; break;
    case QAbstractSlider::SliderPageStepAdd:    f+=0.1; break;
    case QAbstractSlider::SliderPageStepSub:    f-=0.1; break;
    case QAbstractSlider::SliderToMinimum:      f=0; break;
    case QAbstractSlider::SliderToMaximum:      f=1; break;
    case QAbstractSlider::SliderMove:           break;
    }

    if (f<0) f = 0;
    if (f>1) f = 1;

    f *= d;

    slider_->setValue (slider_->minimum () + f);

    sliderMoved(slider_->value ());
}
Exemple #10
0
void QSlider::moveSlider( int pos )
{
    int  a = available();
    int newPos = QMIN( a, QMAX( 0, pos ) );
    int newVal = valueFromPosition( newPos );
    if ( sliderVal != newVal ) {
	sliderVal = newVal;
	emit sliderMoved( sliderVal );
    }
    if ( tracking() && sliderVal != value() ) {
	setValue( sliderVal );
	// ### Why do we emit the valueChanged signal here?  It will get emitted in 
	// valueChange() anyway...
	//emit valueChanged( sliderVal );
    }

    switch ( (GUIStyle)style() ) {
    case WindowsStyle:
	newPos = positionFromValue( newVal );
	break;
    default:
    case MotifStyle:
	break;
    }

    if ( sliderPos != newPos )
	reallyMoveSlider( newPos );
}
Exemple #11
0
void
ScrollBar::catchSliderMoved(int value)
{
  double min, max;
  sliderRange(value, min, max);
  Q_EMIT sliderMoved(orientation(), min, max);
}
Exemple #12
0
void SoundSlider::mouseMoveEvent( QMouseEvent *event )
{
    /* handle mouserelease hijacking */
    if ( isSliding && ( event->buttons() & ~Qt::RightButton ) == Qt::NoButton )
        processReleasedButton();

    if( isSliding )
    {
        QRect rect( paddingL - 15,    -1,
                    wlength + 15 * 2 , wheight + 5 );
        if( !rect.contains( event->pos() ) )
        { /* We are outside */
            if ( !b_mouseOutside )
                setValue( i_oldvalue );
            b_mouseOutside = true;
        }
        else
        { /* We are inside */
            b_mouseOutside = false;
            changeValue( event->x() - paddingL );
            emit sliderMoved( value() );
        }
    }
    else
    {
        int i = ( ( event->x() - paddingL ) * maximum() + 40 ) / wlength;
        i = __MIN( __MAX( 0, i ), maximum() );
        setToolTip( QString("%1  %" ).arg( i ) );
    }
}
Exemple #13
0
void NSlider::wheelEvent(QWheelEvent *event)
{
    QSlider::wheelEvent(event);

    qreal val = value() / (qreal)maximum();
    emit sliderMoved(val);
}
Exemple #14
0
void PhMediaPanel::onSliderChanged(int position)
{
	PhTime time = position * PhTimeCode::timePerFrame(this->timeCodeType());
	if(_clock)
		_clock->setTime(time);
	emit sliderMoved(time);
}
Exemple #15
0
void SoundSlider::wheelEvent( QWheelEvent *event )
{
    int newvalue = value() + event->delta() / ( 8 * 15 ) * f_step;
    setValue( __MIN( __MAX( minimum(), newvalue ), maximum() ) );

    emit sliderReleased();
    emit sliderMoved( value() );
}
Exemple #16
0
void SliderBase::mousePressEvent(QMouseEvent *e)
{
	QPoint p = e->pos();
	const Qt::MouseButton button = e->button();
	d_timerTick = 0;

	getScrollMode(p, button, d_scrollMode, d_direction);
	stopMoving();

	switch (d_scrollMode)
	{
		case ScrPage:
		case ScrTimer:
			d_mouseOffset = 0;
			DoubleRange::incPages(d_direction);
			emit sliderMoved(value(), _id);
			emit sliderMoved((int)value(), _id);
			d_tmrID = startTimer(qwtMax(250, 2 * d_updTime));
			break;

		case ScrMouse:
			d_speed = 0;
			if (button == Qt::RightButton)
			{
				emit sliderRightClicked(e->globalPos(), _id);
				break;
			}
			d_time.start();
			if (_cursorHoming && button == Qt::LeftButton)
			{
				_ignoreMouseMove = true;
				d_mouseOffset = 0.0;
			}
			else
				d_mouseOffset = getValue(p) - value();

			emit sliderPressed(_id);
			break;

		default:
			d_mouseOffset = 0;
			d_direction = 0;
			break;
	}
}
Exemple #17
0
void NSlider::mouseMoveEvent(QMouseEvent *event)
{
    int pos = (orientation() == Qt::Horizontal) ? event->x() : event->y();
    qreal val = valueAtPos(pos);
    setValue(val);
    emit sliderMoved(val);

    QSlider::mouseMoveEvent(event);
}
void Plot::mouseMoveEvent(QMouseEvent *event)
{
    if (event->pos().y() > padding_top && event->pos().y() < height() - padding_bottom)
    {
        auto sv = style()->sliderValueFromPosition(softMinimum, softMaximum, event->pos().x() - 50 - 10, width() - 50 - 20);
        setValue(sv);
        emit sliderMoved(sv);
    }
}
Exemple #19
0
void NWaveformSlider::mousePressEvent(QMouseEvent *event)
{
    if (event->button() == Qt::RightButton)
        return;

    qreal value = (qreal)event->x() / width();

    emit sliderMoved(value);
    setValue(value);
}
Exemple #20
0
void Slider::mousePressEvent(QMouseEvent *e)
{
    int handlePos = QStyle::sliderPositionFromValue(minimum(),maximum(),sliderPosition(),width());
    if(handlePos<e->pos().x()-5||handlePos>e->pos().x()+5)
    {
        int position = QStyle::sliderValueFromPosition(minimum(),maximum(),e->pos().x(),width());
        setSliderPosition(position);
        emit sliderMoved(sliderPosition());
    }
}
Exemple #21
0
void SeekSlider::mousePressEvent( QMouseEvent* event )
{
    /* Right-click */
    if ( !isEnabled() ||
         ( event->button() != Qt::LeftButton && event->button() != Qt::MidButton )
       )
    {
        QSlider::mousePressEvent( event );
        return;
    }

    isJumping = false;
    /* handle chapter clicks */
    int i_width = size().width();
    if ( chapters && inputLength && i_width)
    {
        if ( orientation() == Qt::Horizontal ) /* TODO: vertical */
        {
             /* only on chapters zone */
            if ( event->y() < CHAPTERSSPOTSIZE ||
                 event->y() > ( size().height() - CHAPTERSSPOTSIZE ) )
            {
                QList<SeekPoint> points = chapters->getPoints();
                int i_selected = -1;
                bool b_startsnonzero = false; /* as we always starts at 1 */
                if ( points.count() > 0 ) /* do we need an extra offset ? */
                    b_startsnonzero = ( points.at(0).time > 0 );
                int i_min_diff = i_width + 1;
                for( int i = 0 ; i < points.count() ; i++ )
                {
                    int x = points.at(i).time / 1000000.0 / inputLength * i_width;
                    int diff_x = abs( x - event->x() );
                    if ( diff_x < i_min_diff )
                    {
                        i_min_diff = diff_x;
                        i_selected = i + ( ( b_startsnonzero )? 1 : 0 );
                    } else break;
                }
                if ( i_selected && i_min_diff < 4 ) // max 4px around mark
                {
                    chapters->jumpTo( i_selected );
                    event->accept();
                    isJumping = true;
                    return;
                }
            }
        }
    }

    isSliding = true ;

    setValue( QStyle::sliderValueFromPosition( MINIMUM, MAXIMUM, event->x() - handleLength() / 2, width() - handleLength(), false ) );
    emit sliderMoved( value() );
    event->accept();
}
Exemple #22
0
void NWaveformSlider::mousePressEvent(QMouseEvent *event)
{
	if (event->button() == Qt::RightButton)
		return;

	int value = qreal(event->x()) / width() * maximum();

	emit sliderMoved(value);
//	emit valueChanged(value);
	setValue(value);
}
Exemple #23
0
/*!
   Mouse press event handler
   \param event Mouse event
*/
void QwtSlider::mousePressEvent( QMouseEvent *event )
{
    if ( isReadOnly() )
    {
        event->ignore();
        return;
    }

    const QPoint pos = event->pos();

    if ( isValid() && d_data->sliderRect.contains( pos ) )
    {
        if ( !handleRect().contains( pos ) )
        {
            const int markerPos = transform( value() );

            d_data->stepsIncrement = pageSteps();

            if ( d_data->orientation == Qt::Horizontal )
            {
                if ( pos.x() < markerPos )
                    d_data->stepsIncrement = -d_data->stepsIncrement;
            }
            else
            {
                if ( pos.y() < markerPos )
                    d_data->stepsIncrement = -d_data->stepsIncrement;
            }

            if ( isInverted() )
                d_data->stepsIncrement = -d_data->stepsIncrement;

            const double v = value();
            incrementValue( d_data->stepsIncrement );

            if ( v != value() )
            {
                if ( isTracking() )
                    Q_EMIT valueChanged( value() );
                else
                    d_data->pendingValueChange = true;

                Q_EMIT sliderMoved( value() );
            }

            d_data->timerTick = false;
            d_data->repeatTimerId = startTimer( qMax( 250, 2 * updateInterval() ) );

            return;
        }
    }

    QwtAbstractSlider::mousePressEvent( event );
}
Exemple #24
0
/*重写鼠标按下事件实现点到哪里播放哪里*/
void SliderForVideo::mousePressEvent(QMouseEvent *ev)
{
    if(ev->button()&Qt::LeftButton)
    {
    QSlider::mousePressEvent(ev);
    double pos = ev->pos().x() / (double)width();
    setValue(pos*(maximum() - minimum()) + minimum());
    emit sliderMoved(pos * (maximum() - minimum()) + minimum());
    }
    else return;
}
Exemple #25
0
void Knob::mouseMoveEvent( QMouseEvent * _me )
{
	if( m_buttonPressed && _me->pos() != m_origMousePos )
	{
		m_mouseOffset = _me->pos() - m_origMousePos;
		setPosition( m_mouseOffset );
		emit sliderMoved( model()->value() );
		QCursor::setPos( mapToGlobal( m_origMousePos ) );
	}
	s_textFloat->setText( displayValue() );
}
Exemple #26
0
void SoundSlider::processReleasedButton()
{
    if( !b_mouseOutside && value() != i_oldvalue )
    {
        emit sliderReleased();
        setValue( value() );
        emit sliderMoved( value() );
    }
    isSliding = false;
    b_mouseOutside = false;
}
Exemple #27
0
void NSlider::mousePressEvent(QMouseEvent *event)
{
    if (event->button() != Qt::RightButton) {
        emit sliderPressed();
        int pos = (orientation() == Qt::Horizontal) ? event->x() : event->y();
        qreal val = valueAtPos(pos);
        setValue(val);
        emit sliderMoved(val);
    }

    QSlider::mousePressEvent(event);
}
Exemple #28
0
void SoundSlider::mousePressEvent( QMouseEvent *event )
{
    if( event->button() != Qt::RightButton )
    {
        /* We enter the sliding mode */
        isSliding = true;
        i_oldvalue = value();
        emit sliderPressed();
        changeValue( event->x() - paddingL );
        emit sliderMoved( value() );
    }
}
Exemple #29
0
void MyQSlider::mousePressEvent(QMouseEvent *event)
{
    QStyleOptionSlider opt;
    initStyleOption(&opt);

    int left = 0;
    int right = width();


    int newPosition = QStyle::sliderValueFromPosition(minimum(), maximum(), event->pos().x() - left, right - left, opt.upsideDown);
    //setSliderPosition(newPosition);
    emit sliderMoved(newPosition);
}
Exemple #30
0
void knob::wheelEvent( QWheelEvent * _we )
{
	_we->accept();
	const int inc = ( _we->delta() > 0 ) ? 1 : -1;
	model()->incValue( inc );


	s_textFloat->setText( displayValue() );
	s_textFloat->moveGlobal( this, QPoint( width() + 2, 0 ) );
	s_textFloat->setVisibilityTimeOut( 1000 );

	emit sliderMoved( model()->value() );
}