#include <QLabel>
#include <QProgressBar>
-class QValidator;
-class QToolButton;
-class QLineEdit;
class QAction;
class QMenu;
class KSelectAction;
{
Q_OBJECT
public:
- CustomLabel(const QString &label, bool showSlider = true, int precision = 0, QWidget *parent = 0);
+ explicit CustomLabel(const QString &label, bool showSlider = true, int range = 1000, QWidget *parent = 0);
void setProgressValue(double value);
+ void setStep(double step);
protected:
//virtual void mouseDoubleClickEvent(QMouseEvent * event);
- virtual void mousePressEvent(QMouseEvent * event);
- virtual void mouseReleaseEvent(QMouseEvent *event);
- virtual void mouseMoveEvent(QMouseEvent *event);
+ void mousePressEvent(QMouseEvent * event);
+ void mouseReleaseEvent(QMouseEvent *event);
+ void mouseMoveEvent(QMouseEvent *event);
//virtual void paintEvent(QPaintEvent *event);
- virtual void wheelEvent(QWheelEvent * event);
+ void wheelEvent(QWheelEvent * event);
+ void focusInEvent(QFocusEvent *e);
+ void focusOutEvent(QFocusEvent *e);
private:
QPoint m_dragStartPosition;
QPoint m_dragLastPosition;
bool m_dragMode;
- double m_step;
bool m_showSlider;
- double m_precision;
- double m_value;
+ double m_step;
void slotValueInc(double factor = 1);
void slotValueDec(double factor = 1);
void setNewValue(double, bool);
Q_OBJECT
public:
- DragValue(const QString &label, double defaultValue, int decimals, int id, const QString suffix, bool showSlider = true, QWidget* parent = 0);
+ /**
+ * @brief Default constructor.
+ * @param label The label that will be displayed in the progress bar
+ * @param defaultValue The default value
+ * @param decimals The number of decimals for the parameter. 0 means it is an integer
+ * @param min The minimum value
+ * @param max The maximum value
+ * @param id Used to identify this widget. If this parameter is set, "Show in Timeline" will be available in context menu.
+ * @param suffix The suffix that will be displayed in the spinbox (for example '%')
+ * @param showSlider If disabled, user can still drag on the label but no progress bar is shown
+ */
+ explicit DragValue(const QString &label, double defaultValue, int decimals, double min = 0, double max = 100, int id = -1, const QString &suffix = QString(), bool showSlider = true, QWidget* parent = 0);
virtual ~DragValue();
/** @brief Returns the precision = number of decimals */
public slots:
/** @brief Sets the value (forced to be in the valid range) and emits valueChanged. */
void setValue(double value, bool final = true);
+ void setValueFromProgress(double value, bool final);
/** @brief Resets to default value */
void slotReset();
signals:
- void valueChanged(int value, bool final = true);
void valueChanged(double value, bool final = true);
void inTimeline(int);
virtual void mouseReleaseEvent(QMouseEvent *e);*/
/** @brief Forwards tab focus to lineedit since it is disabled. */
virtual void focusInEvent(QFocusEvent *e);
+ virtual void focusOutEvent(QFocusEvent *e);
//virtual void keyPressEvent(QKeyEvent *e);
//virtual void wheelEvent(QWheelEvent *e);
//virtual void paintEvent( QPaintEvent * event );