QwtSlider is a slider widget which operates on an interval of type double. QwtSlider supports different layouts as well as a scale.
Definition at line 34 of file qwt_slider.h.
Public Types | |
enum | ScalePos { NoScale, LeftScale, RightScale, TopScale, BottomScale, NoScale, LeftScale, RightScale, TopScale, BottomScale } |
enum | BGSTYLE { BgTrough = 0x1, BgSlot = 0x2, BgBoth = BgTrough | BgSlot } |
Public Member Functions | |
QwtSlider (QWidget *parent, Qt::Orientation=Qt::Horizontal, ScalePos=NoScale, BGSTYLE bgStyle=BgTrough) | |
virtual | ~QwtSlider () |
virtual void | setOrientation (Qt::Orientation) |
void | setBgStyle (BGSTYLE) |
BGSTYLE | bgStyle () const |
void | setScalePosition (ScalePos s) |
ScalePos | scalePosition () const |
int | thumbLength () const |
int | thumbWidth () const |
int | borderWidth () const |
void | setThumbLength (int l) |
void | setThumbWidth (int w) |
void | setBorderWidth (int bw) |
void | setMargins (int x, int y) |
virtual QSize | sizeHint () const |
virtual QSize | minimumSizeHint () const |
void | setScaleDraw (QwtScaleDraw *) |
const QwtScaleDraw * | scaleDraw () const |
Protected Member Functions | |
virtual double | getValue (const QPoint &p) |
virtual void | getScrollMode (const QPoint &p, int &scrollMode, int &direction) |
void | draw (QPainter *p, const QRect &update_rect) |
virtual void | drawSlider (QPainter *p, const QRect &r) |
virtual void | drawThumb (QPainter *p, const QRect &, int pos) |
virtual void | resizeEvent (QResizeEvent *e) |
virtual void | paintEvent (QPaintEvent *e) |
virtual void | valueChange () |
virtual void | rangeChange () |
virtual void | scaleChange () |
virtual void | fontChange (const QFont &oldFont) |
void | layoutSlider (bool update=true) |
int | xyPosition (double v) const |
QwtScaleDraw * | scaleDraw () |
enum QwtSlider::ScalePos |
Scale position. QwtSlider tries to enforce valid combinations of its orientation and scale position:
Definition at line 56 of file qwt_slider.h.
enum QwtSlider::BGSTYLE |
QwtSlider::QwtSlider | ( | QWidget * | parent, | |
Qt::Orientation | orientation = Qt::Horizontal , |
|||
ScalePos | scalePos = NoScale , |
|||
BGSTYLE | bgStyle = BgTrough | |||
) | [explicit] |
Constructor.
parent | parent widget | |
orientation | Orientation of the slider. Can be Qt::Horizontal or Qt::Vertical. Defaults to Qt::Horizontal. | |
scalePos | Position of the scale. Defaults to QwtSlider::NoScale. | |
bgStyle | Background style. QwtSlider::BgTrough draws the slider button in a trough, QwtSlider::BgSlot draws a slot underneath the button. An or-combination of both may also be used. The default is QwtSlider::BgTrough. |
Definition at line 64 of file qwt_slider.cpp.
void QwtSlider::setOrientation | ( | Qt::Orientation | o | ) | [virtual] |
Set the orientation.
o | Orientation. Allowed values are Qt::Horizontal and Qt::Vertical. |
Reimplemented from QwtAbstractSlider.
Definition at line 174 of file qwt_slider.cpp.
References layoutSlider(), QwtAbstractSlider::orientation(), and QwtAbstractSlider::setOrientation().
Referenced by setScalePosition().
void QwtSlider::setBgStyle | ( | BGSTYLE | st | ) |
QwtSlider::BGSTYLE QwtSlider::bgStyle | ( | ) | const |
void QwtSlider::setScalePosition | ( | ScalePos | s | ) |
Change the scale position (and slider orientation).
s | Position of the scale. |
Definition at line 224 of file qwt_slider.cpp.
References layoutSlider(), scaleDraw(), QwtScaleDraw::setAlignment(), and setOrientation().
QwtSlider::ScalePos QwtSlider::scalePosition | ( | ) | const |
int QwtSlider::thumbLength | ( | ) | const |
Definition at line 801 of file qwt_slider.cpp.
Referenced by getScrollMode().
int QwtSlider::thumbWidth | ( | ) | const |
int QwtSlider::borderWidth | ( | ) | const |
void QwtSlider::setThumbLength | ( | int | thumbLength | ) |
Set the slider's thumb length.
thumbLength | new length |
Definition at line 292 of file qwt_slider.cpp.
References layoutSlider().
void QwtSlider::setThumbWidth | ( | int | w | ) |
Change the width of the thumb.
w | new width |
Definition at line 308 of file qwt_slider.cpp.
References layoutSlider().
void QwtSlider::setBorderWidth | ( | int | bd | ) |
Change the slider's border width.
bd | border width |
Definition at line 276 of file qwt_slider.cpp.
References layoutSlider().
void QwtSlider::setMargins | ( | int | xMargin, | |
int | yMargin | |||
) |
Set distances between the widget's border and internals.
xMargin | Horizontal margin | |
yMargin | Vertical margin |
Definition at line 766 of file qwt_slider.cpp.
References layoutSlider().
QSize QwtSlider::sizeHint | ( | ) | const [virtual] |
Definition at line 825 of file qwt_slider.cpp.
References minimumSizeHint().
QSize QwtSlider::minimumSizeHint | ( | ) | const [virtual] |
Return a minimum size hint.
Definition at line 835 of file qwt_slider.cpp.
References QwtScaleDraw::extent(), QwtScaleDraw::getBorderDistHint(), QwtScaleDraw::minLength(), QwtAbstractSlider::orientation(), and scaleDraw().
Referenced by sizeHint().
void QwtSlider::setScaleDraw | ( | QwtScaleDraw * | scaleDraw | ) |
Set a scale draw.
For changing the labels of the scales, it is necessary to derive from QwtScaleDraw and overload QwtScaleDraw::label().
scaleDraw | ScaleDraw object, that has to be created with new and will be deleted in ~QwtSlider or the next call of setScaleDraw(). |
Definition at line 331 of file qwt_slider.cpp.
References QwtScaleDraw::alignment(), layoutSlider(), scaleDraw(), QwtAbstractScale::setAbstractScaleDraw(), and QwtScaleDraw::setAlignment().
const QwtScaleDraw * QwtSlider::scaleDraw | ( | ) | const |
Definition at line 348 of file qwt_slider.cpp.
References QwtAbstractScale::abstractScaleDraw().
Referenced by draw(), getScrollMode(), layoutSlider(), minimumSizeHint(), setScaleDraw(), and setScalePosition().
double QwtSlider::getValue | ( | const QPoint & | p | ) | [protected, virtual] |
Determine the value corresponding to a specified mouse location.
Implements QwtAbstractSlider.
Definition at line 517 of file qwt_slider.cpp.
References QwtAbstractSlider::orientation().
void QwtSlider::getScrollMode | ( | const QPoint & | p, | |
int & | scrollMode, | |||
int & | direction | |||
) | [protected, virtual] |
Determine scrolling mode and direction.
p | point | |
scrollMode | Scrolling mode | |
direction | Direction |
Implements QwtAbstractSlider.
Definition at line 530 of file qwt_slider.cpp.
References QwtAbstractSlider::orientation(), scaleDraw(), thumbLength(), QwtDoubleRange::value(), and xyPosition().
void QwtSlider::draw | ( | QPainter * | p, | |
const QRect & | update_rect | |||
) | [protected] |
Draw the QwtSlider.
Definition at line 575 of file qwt_slider.cpp.
References QwtAbstractScaleDraw::draw(), QwtPainter::drawFocusRect(), drawSlider(), and scaleDraw().
Referenced by paintEvent().
void QwtSlider::drawSlider | ( | QPainter * | p, | |
const QRect & | r | |||
) | [protected, virtual] |
Draw the slider into the specified rectangle.
Definition at line 377 of file qwt_slider.cpp.
References drawThumb(), QwtAbstractSlider::isValid(), QwtAbstractSlider::orientation(), QwtDoubleRange::value(), and xyPosition().
Referenced by draw().
void QwtSlider::drawThumb | ( | QPainter * | p, | |
const QRect & | , | |||
int | pos | |||
) | [protected, virtual] |
Draw the thumb at a position.
Definition at line 453 of file qwt_slider.cpp.
References QwtAbstractSlider::orientation().
Referenced by drawSlider().
void QwtSlider::resizeEvent | ( | QResizeEvent * | e | ) | [protected, virtual] |
void QwtSlider::paintEvent | ( | QPaintEvent * | e | ) | [protected, virtual] |
void QwtSlider::valueChange | ( | ) | [protected, virtual] |
Notify change of value.
Reimplemented from QwtAbstractSlider.
Definition at line 742 of file qwt_slider.cpp.
References QwtAbstractSlider::valueChange().
void QwtSlider::rangeChange | ( | ) | [protected, virtual] |
Notify change of range.
Reimplemented from QwtDoubleRange.
Definition at line 750 of file qwt_slider.cpp.
References QwtAbstractScale::autoScale(), layoutSlider(), QwtDoubleRange::maxValue(), QwtDoubleRange::minValue(), QwtDoubleRange::rangeChange(), and QwtAbstractScale::rescale().
void QwtSlider::scaleChange | ( | ) | [protected, virtual] |
Notify changed scale.
Reimplemented from QwtAbstractScale.
Definition at line 363 of file qwt_slider.cpp.
References layoutSlider().
void QwtSlider::fontChange | ( | const QFont & | oldFont | ) | [protected, virtual] |
void QwtSlider::layoutSlider | ( | bool | update_geometry = true |
) | [protected] |
Recalculate the slider's geometry and layout based on the current rect and fonts.
update_geometry | notify the layout system and call update to redraw the scale |
Definition at line 604 of file qwt_slider.cpp.
References QwtScaleDraw::getBorderDistHint(), QwtScaleDraw::move(), QwtAbstractSlider::orientation(), scaleDraw(), and QwtScaleDraw::setLength().
Referenced by fontChange(), rangeChange(), resizeEvent(), scaleChange(), setBgStyle(), setBorderWidth(), setMargins(), setOrientation(), setScaleDraw(), setScalePosition(), setThumbLength(), and setThumbWidth().
int QwtSlider::xyPosition | ( | double | v | ) | const [protected] |
Find the x/y position for a given value v.
Definition at line 511 of file qwt_slider.cpp.
Referenced by drawSlider(), and getScrollMode().
QwtScaleDraw * QwtSlider::scaleDraw | ( | ) | [protected] |
Definition at line 357 of file qwt_slider.cpp.
References QwtAbstractScale::abstractScaleDraw().