| #pragma once |
| |
| #ifndef INTFIELD_H |
| #define INTFIELD_H |
| |
| #include "tcommon.h" |
| #include "toonzqt/lineedit.h" |
| |
| #include <QToolBar> |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TOONZQT_EXPORTS |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| |
| |
| class QSlider; |
| class QIntValidator; |
| |
| |
| |
| namespace DVGui { |
| |
| |
| |
| |
| |
| |
| class DVAPI RollerField final : public QWidget { |
| Q_OBJECT |
| |
| double m_value; |
| double m_minValue; |
| double m_maxValue; |
| |
| double m_step; |
| |
| int m_xPos; |
| |
| public: |
| RollerField(QWidget *parent = 0); |
| |
| ~RollerField() {} |
| |
| void setValue(double value); |
| double getValue() const; |
| |
| void setRange(double minValue, double maxValue); |
| void getRange(double &minValue, double &maxValue); |
| |
| void setStep(double _step) { m_step = _step; } |
| |
| protected: |
| void paintEvent(QPaintEvent *e) override; |
| void mousePressEvent(QMouseEvent *) override; |
| void mouseMoveEvent(QMouseEvent *) override; |
| void mouseReleaseEvent(QMouseEvent *) override; |
| |
| void addValue(bool isDragging); |
| void removeValue(bool isDragging); |
| |
| signals: |
| void valueChanged(bool isDragging); |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| class DVAPI IntLineEdit : public LineEdit { |
| Q_OBJECT |
| |
| QIntValidator *m_validator; |
| |
| |
| |
| int m_showedDigits; |
| |
| public: |
| IntLineEdit(QWidget *parent = 0, int value = 1, |
| int minValue = (-(std::numeric_limits<int>::max)()), |
| int maxValue = ((std::numeric_limits<int>::max)()), |
| int showedDigits = 0); |
| ~IntLineEdit() {} |
| |
| |
| void setValue(int value); |
| |
| int getValue(); |
| |
| |
| |
| void setRange(int minValue, int maxValue); |
| |
| |
| void setBottomRange(int minValue); |
| |
| |
| void setTopRange(int maxValue); |
| |
| |
| |
| void getRange(int &minValue, int &maxValue); |
| |
| void setLineEditBackgroundColor(QColor color); |
| |
| protected: |
| |
| |
| void focusOutEvent(QFocusEvent *) override; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| class DVAPI IntField : public QWidget { |
| Q_OBJECT |
| |
| RollerField *m_roller; |
| IntLineEdit *m_lineEdit; |
| QSlider *m_slider; |
| bool m_isMaxRangeLimited; |
| |
| public: |
| IntField(QWidget *parent = 0, bool isMaxRangeLimited = true, |
| bool isRollerHide = true); |
| ~IntField() {} |
| |
| |
| |
| void setRange(int minValue, int maxValue); |
| |
| |
| |
| void getRange(int &minValue, int &maxValue); |
| |
| |
| |
| void setValue(int value); |
| |
| |
| int getValue(); |
| |
| |
| |
| |
| |
| |
| void setValues(int value, int minValue, int maxValue); |
| |
| |
| void enableSlider(bool enable); |
| bool sliderIsEnabled(); |
| |
| |
| void enableRoller(bool enable); |
| bool rollerIsEnabled(); |
| |
| void setLineEditBackgroundColor(QColor color); |
| |
| protected slots: |
| |
| |
| |
| void onSliderChanged(int value); |
| void onSliderReleased() { emit valueChanged(false); } |
| |
| |
| |
| |
| |
| void onEditingFinished(); |
| |
| |
| |
| void onRollerValueChanged(bool isDragging); |
| |
| signals: |
| |
| |
| |
| |
| void valueChanged(bool isDragging); |
| |
| |
| void valueEditedByHand(); |
| }; |
| |
| |
| } |
| |
| |
| #endif |