#include <QWidget>
+
class QLabel;
-class QSlider;
-class QSpinBox;
+class DragValue;
/**
* @class DoubleParameterWidget
* @param comment A comment explaining the parameter. Will be shown for the tooltip.
* @param suffix (optional) Suffix to display in spinbox
* @param parent (optional) Parent Widget */
- DoubleParameterWidget(const QString &name, int value, int min, int max, int defaultValue, const QString &comment, const QString suffix = QString(), QWidget* parent = 0);
- /** @brief Updates the label to display @param name. */
- void setName(const QString &name);
+ explicit DoubleParameterWidget(const QString &name, double value, double min, double max, double defaultValue, const QString &comment, int id, const QString &suffix = QString(), int decimals = 0, QWidget* parent = 0);
+ ~DoubleParameterWidget();
+
/** @brief Gets the parameter's value. */
- int getValue();
+ double getValue();
+ /** @brief Set the inTimeline property to paint widget with other colors. */
+ void setInTimelineProperty(bool intimeline);
+ /** @brief Returns minimum size for QSpinBox, used to set all spinboxes to the same width. */
+ int spinSize();
+ void setSpinSize(int width);
+
public slots:
/** @brief Sets the value to @param value. */
- void setValue(int value);
+ void setValue(double value);
/** @brief Sets value to m_default. */
void slotReset();
+private slots:
+ /** @brief Shows/Hides the comment label. */
+ void slotShowComment(bool show);
+
+ void slotSetValue(double value, bool final);
+
private:
- int m_default;
- QLabel *m_name;
- QSlider *m_slider;
- QSpinBox *m_spinBox;
+ DragValue *m_dragVal;
+ QLabel *m_commentLabel;
signals:
- void valueChanged(int);
+ void valueChanged(double);
+ /** @brief User wants to see this parameter in timeline. */
+ void setInTimeline(int);
};
#endif