WValidator *WSpinBox::createValidator() { WIntValidator *validator = new WIntValidator(); validator->setMandatory(true); validator->setRange(min_, max_); return validator; }
void WSpinBox::setMaximum(int maximum) { max_ = maximum; WIntValidator *v = dynamic_cast<WIntValidator *>(validator()); if (v) v->setTop(max_); changed_ = true; repaint(); }
void WSpinBox::setMinimum(int minimum) { min_ = minimum; WIntValidator *v = dynamic_cast<WIntValidator *>(validator()); if (v) v->setBottom(min_); changed_ = true; repaint(); }
WValidator::Result WSpinBox::validateRange() const { WIntValidator validator; validator.setRange(min_, max_); std::string badRangeText = WString::tr("Wt.WIntValidator.BadRange").toUTF8(); Wt::Utils::replace(badRangeText, "{1}", "{1}" + suffix().toUTF8()); Wt::Utils::replace(badRangeText, "{2}", "{2}" + suffix().toUTF8()); validator.setInvalidTooLargeText(WString(badRangeText)); validator.setInvalidTooSmallText(WString(badRangeText)); return validator.validate(WString("{1}").arg(value_)); }
void WSpinBox::updateDom(DomElement& element, bool all) { if (all || changed_) { if (nativeControl()) { element.setAttribute("min", boost::lexical_cast<std::string>(min_)); element.setAttribute("max", boost::lexical_cast<std::string>(max_)); element.setAttribute("step", boost::lexical_cast<std::string>(step_)); } else { /* Make sure the JavaScript validator is loaded */ WIntValidator v; v.javaScriptValidate(); } } WAbstractSpinBox::updateDom(element, all); }
void WSpinBox::updateDom(DomElement& element, bool all) { if (all || changed_) { if (nativeControl()) { element.setAttribute("min", boost::lexical_cast<std::string>(min_)); element.setAttribute("max", boost::lexical_cast<std::string>(max_)); element.setAttribute("step", boost::lexical_cast<std::string>(step_)); } else { /* Make sure the JavaScript validator is loaded */ WIntValidator v; v.javaScriptValidate(); doJavaScript("jQuery.data(" + jsRef() + ", 'obj')" + ".setWrapAroundEnabled(" + (wrapAroundEnabled() ? "true" : "false") + ");"); } } WAbstractSpinBox::updateDom(element, all); }
WValidator::Result WSpinBox::validateRange() const { WIntValidator validator; validator.setRange(min_, max_); return validator.validate(WString("{1}").arg(value_)); }