本文整理汇总了C++中WApplication类的典型用法代码示例。如果您正苦于以下问题:C++ WApplication类的具体用法?C++ WApplication怎么用?C++ WApplication使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WApplication类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: defineJS
void WPopupWidget::defineJS()
{
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());
}
示例2: 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);
}
示例3: 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);
setJavaScriptMember(" WSuggestionPopup",
"new " WT_CLASS ".WSuggestionPopup("
+ app->javaScriptClass() + "," + jsRef() + ","
+ replacerJS_ + "," + matcherJS_ + ","
+ boost::lexical_cast<std::string>(filterLength_) + ","
+ boost::lexical_cast<std::string>(defaultValue_) + ");");
}
示例4: return
/**
* @brief Get's the cookie from the app
*
* @return The cookie that the client's browser is giving us
*/
const string& BaseSessionHandle::getCookie() const {
// First ask the browser
WApplication* app = WApplication::instance();
const WEnvironment::CookieMap& cookies = app->environment().cookies();
WEnvironment::CookieMap::const_iterator i = cookies.find(_cookieName);
if (i != cookies.end()) {
return (*i).second;
}
// Fall back to cached version
// If the browser doesn't have a cookie, we might have just set it and no requests have happened yet
// Even if this server side cache is old (and the user has logged out, and the client side cookie deleted)
// It shouldn't matter because the session store still won't return a user ID for it.
// But still if there is a browser side cookie, that takes precedence
return cookieCache;
}
示例5: selectVisual
void WMenu::undoSelectVisual()
{
std::string prevPath = previousInternalPath_;
int prevStackIndex = previousStackIndex_;
selectVisual(current_, true, true);
if (internalPathEnabled_) {
WApplication *app = wApp;
app->setInternalPath(prevPath);
}
if (contentsStack_)
contentsStack_->setCurrentIndex(prevStackIndex);
}
示例6: anchor
void WMenuItem::setIcon(const std::string& path)
{
if (!icon_) {
WAnchor *a = anchor();
if (!a)
return;
icon_ = new WText(" ");
a->insertWidget(0, icon_);
WApplication *app = WApplication::instance();
app->theme()->apply(this, icon_, MenuItemIconRole);
}
icon_->decorationStyle().setBackgroundImage(WLink(path));
}
示例7: WText
void WMenuItem::setCloseable(bool closeable)
{
if (closeable_ != closeable) {
closeable_ = closeable;
if (closeable_) {
WText *closeIcon = new WText("");
insertWidget(0, std::unique_ptr<WText>(closeIcon));
WApplication *app = WApplication::instance();
app->theme()->apply(this, closeIcon, WidgetThemeRole::MenuItemClose);
closeIcon->clicked().connect(this, &WMenuItem::close);
} else
removeWidget(widget(0));
}
}
示例8: logout
void AuthModel::logout(Login& login)
{
if (login.loggedIn()) {
if (baseAuth()->authTokensEnabled()) {
WApplication *app = WApplication::instance();
app->removeCookie(baseAuth()->authTokenCookieName());
/*
* FIXME: it would be nice if we also delete the relevant token
* from the database!
*/
}
login.logout();
}
}
示例9: addFunction
void AuthWidget::init()
{
registrationModel_ = 0;
registrationEnabled_ = false;
created_ = false;
dialog_ = 0;
messageBox_ = 0;
addFunction("id", WT_TEMPLATE_FUNCTION(id));
addFunction("tr", WT_TEMPLATE_FUNCTION(tr));
WApplication *app = WApplication::instance();
app->useStyleSheet(WApplication::resourcesUrl() + "form.css");
app->internalPathChanged().connect(this, &AuthWidget::onPathChange);
app->builtinLocalizedStrings().useBuiltin(skeletons::Auth_xml1);
}
示例10: sendConfirmMail
void WsNewsLetter::sendConfirmMail(const std::string& email,
const std::string& userToken) const
{
std::string url = "/newsletter/subscribe/";
WApplication *app = WApplication::instance();
url = app->makeAbsoluteUrl(app->bookmarkUrl(url)) + userToken;
Mail::Message message;
message.addRecipient(Mail::To, Mail::Mailbox(email));
message.setSubject(WString::tr("subject"));
message.setBody(WString::tr("body").arg(email).arg(url));
message.addHtmlBody(WString::tr("htmlbody").arg(email).arg(url));
sendMail(message);
}
示例11: 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() == 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"));
}
}
示例12: gameStarted
void menuWidget::gameStarted()
{
WApplication * app = WApplication::instance();
gameEnded = false;
if(ifCreator)
{
information->setText("It's your turn");
}
endGame->disable();
giveUp->enable();
map<Coordinates,WPushButton*>::iterator it;
for(it = gameButtons.begin(); it != gameButtons.end(); it++)
{
it->second->enable();
}
app->triggerUpdate();
}
示例13: handleRegistrationPath
bool AuthWidget::handleRegistrationPath(const std::string& path)
{
if (!basePath_.empty()) {
WApplication *app = WApplication::instance();
if (app->internalPathMatches(basePath_)) {
std::string ap = app->internalSubPath(basePath_);
if (ap == "register") {
registerNewUser();
return true;
}
}
}
return false;
}
示例14: WText
void WMenuItem::setCloseable(bool closeable)
{
if (closeable_ != closeable) {
closeable_ = closeable;
if (closeable_) {
WText *closeIcon = new WText("");
insertWidget(0, closeIcon);
WApplication *app = WApplication::instance();
app->theme()->apply(this, closeIcon, MenuItemCloseRole);
closeIcon->clicked().connect(this, &WMenuItem::close);
} else {
delete widget(0);
}
}
}
示例15: WCheckBox
void WMenuItem::setCheckable(bool checkable)
{
if (isCheckable() != checkable) {
if (checkable) {
checkBox_ = new WCheckBox();
anchor()->insertWidget(0, checkBox_);
setText(text());
text_->setBuddy(checkBox_);
WApplication *app = WApplication::instance();
app->theme()->apply(this, checkBox_, MenuItemCheckBoxRole);
} else {
delete checkBox_;
}
}
}