LineEditWidget.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "LineEditWidget.h"
  2. #include <QRegExpValidator>
  3. #include "DoubleValidator.h"
  4. const QString LineEditWidget::type = "LineEdit";
  5. LineEditWidget::LineEditWidget(QWidget *parent)
  6. :QLineEdit(parent)
  7. {
  8. }
  9. void LineEditWidget::setIntValidator(int min, int max)
  10. {
  11. QValidator* validator = new QIntValidator(min, max, this);
  12. setValidator(validator);
  13. }
  14. void LineEditWidget::setDoubleValidator(double min, double max, int precision)
  15. {
  16. QValidator* validator = new DoubleValidator(min, max, precision, this);
  17. setValidator(validator);
  18. }
  19. void LineEditWidget::setRegExpValidator(const QString& regExp)
  20. {
  21. QRegExp re(regExp);
  22. setValidator(new QRegExpValidator(re, this));
  23. }
  24. QVariant LineEditWidget::getValue() const
  25. {
  26. return text().trimmed();
  27. }
  28. void LineEditWidget::setValue(const QVariant &value)
  29. {
  30. if (value.type() != QMetaType::QString && value.toDouble() == 0)
  31. setText("");
  32. else
  33. setText(value.toString());
  34. }
  35. bool LineEditWidget::isValueNull() const
  36. {
  37. return text().trimmed().isEmpty();
  38. }
  39. void LineEditWidget::clearInput()
  40. {
  41. clear();
  42. }