void WLineEdit::defineJavaScript() { if (javaScriptDefined_) return; javaScriptDefined_ = true; WApplication *app = WApplication::instance(); LOAD_JAVASCRIPT(app, "js/WLineEdit.js", "WLineEdit", wtjs1); std::u32string space; space += spaceChar_; std::string jsObj = "new " WT_CLASS ".WLineEdit(" + app->javaScriptClass() + "," + jsRef() + "," + WWebWidget::jsStringLiteral(mask_) + "," + WWebWidget::jsStringLiteral(raw_) + "," + WWebWidget::jsStringLiteral(displayContent_) + "," + WWebWidget::jsStringLiteral(case_) + "," + WWebWidget::jsStringLiteral(space) + "," + (inputMaskFlags_.test(InputMaskFlag::KeepMaskWhileBlurred) ? "0x1" : "0x0") + ");"; setJavaScriptMember(" WLineEdit", jsObj); #ifdef WT_CNOR EventSignalBase& b = mouseMoved(); EventSignalBase& c = keyWentDown(); #endif connectJavaScript(keyWentDown(), "keyDown"); connectJavaScript(keyPressed(), "keyPressed"); connectJavaScript(focussed(), "focussed"); connectJavaScript(blurred(), "blurred"); connectJavaScript(clicked(), "clicked"); }
void WFormWidget::setEmptyText(const WString& emptyText) { emptyText_ = emptyText; WApplication* app = WApplication::instance(); const WEnvironment& env = app->environment(); if (env.ajax()) { if (!emptyText_.empty()) { if (!flags_.test(BIT_JS_OBJECT)) defineJavaScript(); else updateEmptyText(); if (!removeEmptyText_) { removeEmptyText_ = new JSlot(this); focussed().connect(*removeEmptyText_); blurred().connect(*removeEmptyText_); keyWentDown().connect(*removeEmptyText_); std::string jsFunction = "function(obj, event) {" """jQuery.data(" + jsRef() + ", 'obj').applyEmptyText();" "}"; removeEmptyText_->setJavaScript(jsFunction); } } else { delete removeEmptyText_; removeEmptyText_ = 0; } } else { setToolTip(emptyText); } }
void WAbstractSpinBox::setup() { setup_ = true; bool useNative = nativeControl(); if (!useNative) { defineJavaScript(); #ifdef WT_CNOR EventSignalBase& b = mouseMoved(); EventSignalBase& c = keyWentDown(); #endif connectJavaScript(mouseMoved(), "mouseMove"); connectJavaScript(mouseWentUp(), "mouseUp"); connectJavaScript(mouseWentDown(), "mouseDown"); connectJavaScript(mouseWentOut(), "mouseOut"); connectJavaScript(keyWentDown(), "keyDown"); connectJavaScript(keyWentUp(), "keyUp"); if (!prefix_.empty() || !suffix_.empty()) setValidator(new SpinBoxValidator(this)); } }
void WAbstractSpinBox::setup(bool useNative) { if (useNative) { setValidator(createValidator()); } else { defineJavaScript(); addStyleClass("Wt-spinbox"); #ifdef WT_CNOR EventSignalBase& b = mouseMoved(); EventSignalBase& c = keyWentDown(); #endif connectJavaScript(mouseMoved(), "mouseMove"); connectJavaScript(mouseWentUp(), "mouseUp"); connectJavaScript(mouseWentDown(), "mouseDown"); connectJavaScript(mouseWentOut(), "mouseOut"); connectJavaScript(keyWentDown(), "keyDown"); connectJavaScript(keyWentUp(), "keyUp"); setValidator(new SpinBoxValidator(this)); } }
void WDateEdit::defineJavaScript() { WApplication *app = WApplication::instance(); LOAD_JAVASCRIPT(app, "js/WDateEdit.js", "WDateEdit", wtjs1); std::string jsObj = "new " WT_CLASS ".WDateEdit(" + app->javaScriptClass() + "," + jsRef() + "," + popup_->jsRef() + ");"; setJavaScriptMember(" WDateEdit", jsObj); #ifdef WT_CNOR EventSignalBase& b = mouseMoved(); EventSignalBase& c = keyWentDown(); #endif connectJavaScript(mouseMoved(), "mouseMove"); connectJavaScript(mouseWentUp(), "mouseUp"); connectJavaScript(mouseWentDown(), "mouseDown"); connectJavaScript(mouseWentOut(), "mouseOut"); }