void CSliderMultiPos::setCurPosition(int posIndex,int pos){ if( handles.at(posIndex).getPosition()!=pos ){ handles[posIndex].setPosition(pos); if( !hasTracking() ){ update(); } if( isSliderDown() ){ // Could emit a signal } if( hasTracking() && !blockTracking ){ triggerAction( SliderMove ); } } }
void ScrollBar::mouseMoveEvent(QMouseEvent *ev) { if (mouse_grabed_) { // position diff int pos = (orientation_ == Qt::Horizontal ? ev->pos().x() : ev->pos().y()) - bar_grabed_position_; // fix negative pos = qMax(pos, 0); Q_ASSERT(pos >= 0); // fix maximum const qint64 value = qMin(sliderValueFromPosition(pos, drawBarSize()), maximum_); Q_ASSERT(value <= maximum_); if (isSliderDown()) { setSliderPosition(value); } if (hasTracking()) { setValue(value); } } else { // When mouse hovering if (isScrollBarArea(ev->pos())) { // TODO: animation } } }
void QxtSpanSlider::setUpperPosition(int upper) { if (qxt_d().upperPos != upper) { qxt_d().upperPos = upper; if (!hasTracking()) update(); if (isSliderDown()) emit upperPositionChanged(upper); if (hasTracking() && !qxt_d().blockTracking) { bool main = (qxt_d().mainControl == QxtSpanSlider::UpperHandle); qxt_d().triggerAction(SliderMove, main); } } }
int QAbstractSlider::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: valueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; case 1: sliderPressed(); break; case 2: sliderMoved((*reinterpret_cast< int(*)>(_a[1]))); break; case 3: sliderReleased(); break; case 4: rangeChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 5: actionTriggered((*reinterpret_cast< int(*)>(_a[1]))); break; case 6: setValue((*reinterpret_cast< int(*)>(_a[1]))); break; case 7: setOrientation((*reinterpret_cast< Qt::Orientation(*)>(_a[1]))); break; } _id -= 8; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< int*>(_v) = minimum(); break; case 1: *reinterpret_cast< int*>(_v) = maximum(); break; case 2: *reinterpret_cast< int*>(_v) = singleStep(); break; case 3: *reinterpret_cast< int*>(_v) = pageStep(); break; case 4: *reinterpret_cast< int*>(_v) = value(); break; case 5: *reinterpret_cast< int*>(_v) = sliderPosition(); break; case 6: *reinterpret_cast< bool*>(_v) = hasTracking(); break; case 7: *reinterpret_cast< Qt::Orientation*>(_v) = orientation(); break; case 8: *reinterpret_cast< bool*>(_v) = invertedAppearance(); break; case 9: *reinterpret_cast< bool*>(_v) = invertedControls(); break; case 10: *reinterpret_cast< bool*>(_v) = isSliderDown(); break; } _id -= 11; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setMinimum(*reinterpret_cast< int*>(_v)); break; case 1: setMaximum(*reinterpret_cast< int*>(_v)); break; case 2: setSingleStep(*reinterpret_cast< int*>(_v)); break; case 3: setPageStep(*reinterpret_cast< int*>(_v)); break; case 4: setValue(*reinterpret_cast< int*>(_v)); break; case 5: setSliderPosition(*reinterpret_cast< int*>(_v)); break; case 6: setTracking(*reinterpret_cast< bool*>(_v)); break; case 7: setOrientation(*reinterpret_cast< Qt::Orientation*>(_v)); break; case 8: setInvertedAppearance(*reinterpret_cast< bool*>(_v)); break; case 9: setInvertedControls(*reinterpret_cast< bool*>(_v)); break; case 10: setSliderDown(*reinterpret_cast< bool*>(_v)); break; } _id -= 11; } else if (_c == QMetaObject::ResetProperty) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 11; } #endif // QT_NO_PROPERTIES return _id; }