本文整理汇总了C++中WApplication::javaScriptClass方法的典型用法代码示例。如果您正苦于以下问题:C++ WApplication::javaScriptClass方法的具体用法?C++ WApplication::javaScriptClass怎么用?C++ WApplication::javaScriptClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WApplication
的用法示例。
在下文中一共展示了WApplication::javaScriptClass方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: StdLayoutImpl
StdGridLayoutImpl2::StdGridLayoutImpl2(WLayout *layout, Impl::Grid& grid)
: StdLayoutImpl(layout),
grid_(grid),
needAdjust_(false),
needRemeasure_(false),
needConfigUpdate_(false)
{
const char *THIS_JS = "js/StdGridLayoutImpl2.js";
WApplication *app = WApplication::instance();
if (!app->javaScriptLoaded(THIS_JS)) {
app->styleSheet().addRule("table.Wt-hcenter", "margin: 0px auto;"
"position: relative");
LOAD_JAVASCRIPT(app, THIS_JS, "StdLayout2", wtjs1);
LOAD_JAVASCRIPT(app, THIS_JS, "layouts2", appjs1);
app->doJavaScript(app->javaScriptClass() + ".layouts2.scheduleAdjust();");
app->doJavaScript("$(window).load(function() { "
+ app->javaScriptClass() + ".layouts2.scheduleAdjust();"
+ "});");
WApplication::instance()->addAutoJavaScript
(app->javaScriptClass() + ".layouts2.adjustNow();");
}
}
示例2: setDraggable
void WInteractWidget::setDraggable(const std::string& mimeType,
WWidget *dragWidget, bool isDragWidgetOnly,
WObject *sourceObject)
{
if (dragWidget == 0)
dragWidget = this;
if (sourceObject == 0)
sourceObject = this;
if (isDragWidgetOnly) {
dragWidget->hide();
}
WApplication *app = WApplication::instance();
setAttributeValue("dmt", mimeType);
setAttributeValue("dwid", dragWidget->id());
setAttributeValue("dsid", app->encodeObject(sourceObject));
if (!dragSlot_) {
dragSlot_ = new JSlot();
dragSlot_->setJavaScript("function(o,e){" + app->javaScriptClass()
+ "._p_.dragStart(o,e);" + "}");
}
mouseWentDown().connect(*dragSlot_);
}
示例3: WInteractWidget
WAbstractMedia::WAbstractMedia(WContainerWidget *parent)
: WInteractWidget(parent),
sourcesRendered_(0),
flags_(0),
preloadMode_(PreloadAuto),
alternative_(0),
flagsChanged_(false),
preloadChanged_(false),
sourcesChanged_(false),
playing_(false),
volume_(-1),
current_(-1),
duration_(-1),
ended_(false),
readyState_(HaveNothing)
{
setInline(false);
setFormObject(true);
WApplication *app = wApp;
LOAD_JAVASCRIPT(app, "js/WAbstractMedia.js", "WAbstractMedia", wtjs1);
setJavaScriptMember(" WAbstractMedia",
"new " WT_CLASS ".WAbstractMedia("
+ app->javaScriptClass() + "," + jsRef() + ");");
#ifndef WT_TARGET_JAVA
implementStateless(&WAbstractMedia::play, &WAbstractMedia::play);
implementStateless(&WAbstractMedia::pause, &WAbstractMedia::pause);
#endif //WT_TARGET_JAVA
}
示例4: defineJavaScript
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");
}
示例5: defineJavaScript
void WStackedWidget::defineJavaScript()
{
if (!javaScriptDefined_) {
javaScriptDefined_ = true;
WApplication *app = WApplication::instance();
LOAD_JAVASCRIPT(app, "js/WStackedWidget.js", "WStackedWidget", wtjs1);
setJavaScriptMember(" WStackedWidget", "new " WT_CLASS ".WStackedWidget("
+ app->javaScriptClass() + "," + jsRef() + ");");
setJavaScriptMember(WT_RESIZE_JS,
"$('#" + id() + "').data('obj').wtResize");
setJavaScriptMember(WT_GETPS_JS,
"$('#" + id() + "').data('obj').wtGetPs");
if (!animation_.empty()) {
loadAnimateJS();
setJavaScriptMember("wtAnimateChild",
"$('#" + id() + "').data('obj').animateChild");
setJavaScriptMember("wtAutoReverse",
autoReverseAnimation_ ? "true" : "false");
}
}
}
示例6: defineJavaScript
void WTreeTable::defineJavaScript()
{
WApplication *app = WApplication::instance();
LOAD_JAVASCRIPT(app, "js/WTreeTable.js", "WTreeTable", wtjs1);
setJavaScriptMember(" WTreeTable", "new " WT_CLASS ".WTreeTable("
+ app->javaScriptClass() + "," + jsRef() + ");");
}
示例7: javaScript
const std::string
EventSignalBase::createUserEventCall(const std::string& jsObject,
const std::string& jsEvent,
const std::string& eventName,
const std::string& arg1,
const std::string& arg2,
const std::string& arg3,
const std::string& arg4,
const std::string& arg5,
const std::string& arg6) const
{
if (!this->isExposedSignal())
const_cast<EventSignalBase*>(this)->exposeSignal();
std::stringstream result;
result << javaScript();
if (flags_.test(BIT_SERVER_EVENT) || flags_.test(BIT_SIGNAL_SERVER_ANYWAY)) {
WApplication *app = WApplication::instance();
std::string senderId = encodeCmd();
senderId = senderId.substr(0, senderId.length() - eventName.length() - 1);
result << app->javaScriptClass() << ".emit('"
<< senderId;
if (!jsObject.empty())
result << "', { name:'" << eventName << "', eventObject:" << jsObject
<< ", event:" << jsEvent << "}";
else
result << "','" << eventName << "'";
if (!arg1.empty()) {
result << "," << arg1;
if (!arg2.empty()) {
result << "," << arg2;
if (!arg3.empty()) {
result << "," << arg3;
if (!arg4.empty()) {
result << "," << arg4;
if (!arg5.empty()) {
result << "," << arg5;
if (!arg6.empty()) {
result << "," << arg6;
}
}
}
}
}
}
result << ");";
}
return result.str();
}
示例8: createContents
void WWidgetCanvasPainter::createContents(DomElement *result,
WPaintDevice *device)
{
std::string wstr = boost::lexical_cast<std::string>(widget_->renderWidth_);
std::string hstr = boost::lexical_cast<std::string>(widget_->renderHeight_);
result->setProperty(PropertyStylePosition, "relative");
result->setProperty(PropertyStyleOverflowX, "hidden");
result->setProperty(PropertyStyleOverflowY, "hidden");
DomElement *canvas = DomElement::createNew(DomElement_CANVAS);
canvas->setId('c' + widget_->id());
canvas->setProperty(PropertyStyleDisplay, "block");
canvas->setAttribute("width", wstr);
canvas->setAttribute("height", hstr);
result->addChild(canvas);
widget_->sizeChanged_ = false;
WCanvasPaintDevice *canvasDevice = dynamic_cast<WCanvasPaintDevice *>(device);
DomElement *text = 0;
if (canvasDevice->textMethod() == WCanvasPaintDevice::DomText) {
text = DomElement::createNew(DomElement_DIV);
text->setId('t' + widget_->id());
text->setProperty(PropertyStylePosition, "absolute");
text->setProperty(PropertyStyleZIndex, "1");
text->setProperty(PropertyStyleTop, "0px");
text->setProperty(PropertyStyleLeft, "0px");
}
DomElement *el = text ? text : result;
bool hasJsObjects = widget_->jsObjects_.size() > 0;
if (hasJsObjects) {
WStringStream ss;
WApplication *app = WApplication::instance();
ss << "new " WT_CLASS ".WPaintedWidget("
<< app->javaScriptClass() << "," << widget_->jsRef() << ");";
widget_->jsObjects_.updateJs(ss);
el->callJavaScript(ss.str());
}
canvasDevice->render('c' + widget_->id(), el);
if (hasJsObjects) {
WStringStream ss;
ss << widget_->objJsRef() << ".repaint=function(){";
ss << canvasDevice->recordedJs_.str();
ss << "};";
el->callJavaScript(ss.str());
}
if (text)
result->addChild(text);
delete device;
}
示例9: setParentWidget
Widget::~Widget()
{
// to have virtual renderRemoveJs():
setParentWidget(0);
// in any case, delete Ext classes:
WApplication *app = WApplication::instance();
app->doJavaScript(app->javaScriptClass()
+ ".deleteExtW('" + id() + "');");
}
示例10: defineJavaScript
void WImage::defineJavaScript()
{
WApplication *app = WApplication::instance();
LOAD_JAVASCRIPT(app, "js/WImage.js", "WImage", wtjs1);
WStringStream ss;
ss << "new " WT_CLASS ".WImage("
<< app->javaScriptClass() << "," << jsRef() << "," << targetJS_ << ");";
doJavaScript(ss.str());
}
示例11: loadJavaScript
void WAbstractMedia::loadJavaScript()
{
if (javaScriptMember(" WAbstractMedia").empty()) {
WApplication *app = WApplication::instance();
LOAD_JAVASCRIPT(app, "js/WAbstractMedia.js", "WAbstractMedia", wtjs1);
setJavaScriptMember(" WAbstractMedia",
"new " WT_CLASS ".WAbstractMedia("
+ app->javaScriptClass() + "," + jsRef() + ");");
}
}
示例12: defineJavaScript
void WPopupWidget::defineJavaScript()
{
WApplication *app = WApplication::instance();
LOAD_JAVASCRIPT(app, "js/WPopupWidget.js", "WPopupWidget", wtjs1);
WStringStream jsObj;
jsObj << "new " WT_CLASS ".WPopupWidget("
<< app->javaScriptClass() << ',' << jsRef() << ','
<< transient_ << ',' << autoHideDelay_ << ','
<< !isHidden() << ");";
setJavaScriptMember(" WPopupWidget", jsObj.str());
}
示例13: init
void WTextEdit::init()
{
WApplication *app = WApplication::instance();
setInline(false);
initTinyMCE();
version_ = getTinyMCEVersion();
setJavaScriptMember(" WTextEdit", "new " WT_CLASS ".WTextEdit("
+ app->javaScriptClass() + "," + jsRef() + ");");
setJavaScriptMember
(WT_RESIZE_JS,
"function(e, w, h) { var obj = $('#" + id() + "').data('obj'); "
"obj.wtResize(e, w, h); };");
std::string direction
= app->layoutDirection() == LayoutDirection::LeftToRight ? "ltr" : "rtl";
setConfigurationSetting("directionality", direction);
std::string toolbar;
if (version_ < 4)
toolbar = "fontselect,|,bold,italic,underline,|,fontsizeselect,|"
",forecolor,backcolor,|"
",justifyleft,justifycenter,justifyright,justifyfull,|,anchor,|"
",numlist,bullist";
else
toolbar = "undo redo | styleselect | bold italic | link";
setToolBar(0, toolbar);
for (int i = 1; i <= 3; i++)
setToolBar(i, std::string());
setConfigurationSetting("doctype", wApp->docType());
setConfigurationSetting("relative_urls", true);
if (version_ < 4) {
//this setting is no longer mentioned in the tinymce documenation though...
setConfigurationSetting("button_tile_map", true);
setConfigurationSetting("theme", std::string("advanced"));
setConfigurationSetting("theme_advanced_toolbar_location",
std::string("top"));
setConfigurationSetting("theme_advanced_toolbar_align",
std::string("left"));
}
onChange_.connect(this, &WTextEdit::propagateOnChange);
}
示例14: defineJavaScript
void WSuggestionPopup::defineJavaScript()
{
WApplication *app = WApplication::instance();
const char *THIS_JS = "js/WSuggestionPopup.js";
LOAD_JAVASCRIPT(app, THIS_JS, "WSuggestionPopup", wtjs1);
LOAD_JAVASCRIPT(app, THIS_JS, "WSuggestionPopupStdMatcher", wtjs2);
doJavaScript("new " WT_CLASS ".WSuggestionPopup("
+ app->javaScriptClass() + "," + jsRef() + ","
+ replacerJS_ + "," + matcherJS_ + ","
+ boost::lexical_cast<std::string>(filterLength_) + ","
+ boost::lexical_cast<std::string>(defaultValue_) + ","
+ (global_ ? "true" : "false") + ");");
}
示例15: defineJavaScript
void WAbstractSpinBox::defineJavaScript()
{
WApplication *app = WApplication::instance();
LOAD_JAVASCRIPT(app, "js/WSpinBox.js", "WSpinBox", wtjs1);
std::string jsObj = "new " WT_CLASS ".WSpinBox("
+ app->javaScriptClass() + "," + jsRef() + ","
+ boost::lexical_cast<std::string>(decimals()) + ","
+ prefix().jsStringLiteral() + ","
+ suffix().jsStringLiteral() + ","
+ jsMinMaxStep() + ");";
setJavaScriptMember("_a", "0;" + jsObj);
}