예제 #1
0
파일: WSpinBox.C 프로젝트: kdeforche/wt
WValidator *WSpinBox::createValidator()
{
    WIntValidator *validator = new WIntValidator();
    validator->setMandatory(true);
    validator->setRange(min_, max_);
    return validator;
}
예제 #2
0
파일: WSpinBox.C 프로젝트: kdeforche/wt
void WSpinBox::setMaximum(int maximum)
{
    max_ = maximum;

    WIntValidator *v = dynamic_cast<WIntValidator *>(validator());
    if (v)
        v->setTop(max_);

    changed_ = true;
    repaint();
}
예제 #3
0
파일: WSpinBox.C 프로젝트: kdeforche/wt
void WSpinBox::setMinimum(int minimum)
{
    min_ = minimum;

    WIntValidator *v = dynamic_cast<WIntValidator *>(validator());
    if (v)
        v->setBottom(min_);

    changed_ = true;
    repaint();
}
예제 #4
0
파일: WSpinBox.C 프로젝트: kdeforche/wt
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_));
}
예제 #5
0
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);
}
예제 #6
0
파일: WSpinBox.C 프로젝트: kdeforche/wt
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);
}
예제 #7
0
WValidator::Result WSpinBox::validateRange() const
{
  WIntValidator validator;
  validator.setRange(min_, max_);
  return validator.validate(WString("{1}").arg(value_));
}