本文整理汇总了C++中WApplication::setInternalPath方法的典型用法代码示例。如果您正苦于以下问题:C++ WApplication::setInternalPath方法的具体用法?C++ WApplication::setInternalPath怎么用?C++ WApplication::setInternalPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WApplication
的用法示例。
在下文中一共展示了WApplication::setInternalPath方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: selectVisual
void WMenu::selectVisual(int index, bool changePath, bool showContents)
{
if (contentsStack_)
previousStackIndex_ = contentsStack_->currentIndex();
WMenuItem *item = index >= 0 ? itemAt(index) : 0;
if (changePath && internalPathEnabled_ &&
index != -1 && item->internalPathEnabled()) {
WApplication *app = wApp;
previousInternalPath_ = app->internalPath();
std::string newPath = basePath_ + item->pathComponent();
if (newPath != app->internalPath())
emitPathChange_ = true;
// The change is emitted in select()
app->setInternalPath(newPath);
}
for (int i = 0; i < count(); ++i)
renderSelected(itemAt(i), (int)i == index);
if (index == -1)
return;
if (showContents && contentsStack_) {
WWidget *contents = item->contents();
if (contents)
contentsStack_->setCurrentWidget(contents);
}
itemSelectRendered_.emit(item);
}
示例2: doRedirect
void WPushButton::doRedirect()
{
WApplication *app = WApplication::instance();
if (!app->environment().ajax()) {
if (linkState_.link.type() == WLink::InternalPath)
app->setInternalPath(linkState_.link.internalPath().toUTF8(), true);
else
app->redirect(linkState_.link.url());
}
}
示例3: undoSelectVisual
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);
}
示例4: closeDialog
void AuthWidget::closeDialog()
{
if (dialog_) {
delete dialog_;
dialog_ = 0;
} else {
delete messageBox_;
messageBox_ = 0;
}
/* Reset internal path */
if(!basePath_.empty()) {
WApplication *app = WApplication::instance();
if (app->internalPathMatches(basePath_)) {
std::string ap = app->internalSubPath(basePath_);
if (ap == "register/") {
app->setInternalPath(basePath_, false);
}
}
}
}