KanoopGuiQt 1.3.0
Qt GUI utility library
Loading...
Searching...
No Matches
slider.h
1#ifndef SLIDER_H
2#define SLIDER_H
3
4#include <QSlider>
5#include <Kanoop/gui/libkanoopgui.h>
6
7/**
8 * @brief QSlider subclass with an optional read-only mode.
9 *
10 * Slider exposes a readOnly property. When set, mouse press events are
11 * suppressed so that the slider value cannot be changed by the user.
12 */
13class LIBKANOOPGUI_EXPORT Slider : public QSlider
14{
15 Q_OBJECT
16public:
17 /**
18 * @brief Construct with an optional parent.
19 * @param parent Optional QWidget parent
20 */
21 explicit Slider(QWidget *parent = nullptr);
22
23 /**
24 * @brief Construct with a specific orientation.
25 * @param orientation Qt::Horizontal or Qt::Vertical
26 * @param parent Optional QWidget parent
27 */
28 explicit Slider(Qt::Orientation orientation, QWidget *parent = nullptr);
29
30 /**
31 * @brief Return whether the slider is read-only.
32 * @return true if user interaction is suppressed
33 */
34 bool isReadOnly() const { return _readOnly; }
35
36 /**
37 * @brief Enable or disable the read-only mode.
38 * @param value true to prevent user changes
39 */
40 void setReadOnly(bool value) { _readOnly = value; }
41
42signals:
43
44protected:
45 /** @brief Suppress mouse presses when in read-only mode. */
46 virtual void mousePressEvent(QMouseEvent* event) override;
47
48private:
49 bool _readOnly = false;
50};
51
52#endif // SLIDER_H
QSlider subclass with an optional read-only mode.
Definition slider.h:14
virtual void mousePressEvent(QMouseEvent *event) override
Suppress mouse presses when in read-only mode.
Slider(Qt::Orientation orientation, QWidget *parent=nullptr)
Construct with a specific orientation.
Slider(QWidget *parent=nullptr)
Construct with an optional parent.
bool isReadOnly() const
Return whether the slider is read-only.
Definition slider.h:34
void setReadOnly(bool value)
Enable or disable the read-only mode.
Definition slider.h:40