void WMessageBox::setButtons(WFlags<StandardButton> buttons) { buttons_ = buttons; buttonContainer_->clear(); for (int i = 0; i < 9; ++i) if (buttons_ & order_[i]) { WPushButton *b = new WPushButton(tr(buttonText_[i]), buttonContainer_); buttonMapper_->mapConnect(b->clicked(), order_[i]); if (order_[i] == Ok || order_[i] == Yes) b->setFocus(); } }
WWidget *CmsSubscribers::Layout() { Div *container = new Div("CmsSubscribers", "container-fluid"); try { CgiRoot *cgiRoot = static_cast<CgiRoot *>(WApplication::instance()); CgiEnv *cgiEnv = cgiRoot->GetCgiEnvInstance(); string htmlData; string file; if (cgiEnv->GetCurrentLanguage() == CgiEnv::Language::Fa) { file = "../templates/cms-subscribers-fa.wtml"; } else { file = "../templates/cms-subscribers.wtml"; } if (CoreLib::FileSystem::Read(file, htmlData)) { /// Fill the template WTemplate *tmpl = new WTemplate(container); tmpl->setTemplateText(WString::fromUTF8(htmlData), TextFormat::XHTMLUnsafeText); WPushButton *allSubscribersPushButton = new WPushButton(tr("cms-subscribers-all")); allSubscribersPushButton->setStyleClass("btn btn-default"); WPushButton *englishFarsiSubscribersPushButton = new WPushButton(tr("cms-subscribers-english-farsi")); englishFarsiSubscribersPushButton->setStyleClass("btn btn-default"); WPushButton *englishSubscribersPushButton = new WPushButton(tr("cms-subscribers-english")); englishSubscribersPushButton->setStyleClass("btn btn-default"); WPushButton *farsiSubscribersPushButton = new WPushButton(tr("cms-subscribers-farsi")); farsiSubscribersPushButton->setStyleClass("btn btn-default"); WPushButton *inactiveSubscribersPushButton = new WPushButton(tr("cms-subscribers-inactive")); inactiveSubscribersPushButton->setStyleClass("btn btn-default"); m_pimpl->SubscribersTableContainer = new Div("SubscribersTableContainer", "subscribers-table-container"); tmpl->bindWidget("subscribers-title", new WText(tr("cms-subscribers-page-title"))); tmpl->bindWidget("subscribers-table", m_pimpl->SubscribersTableContainer); tmpl->bindWidget("all-subscribers-button", allSubscribersPushButton); tmpl->bindWidget("english-farsi-subscribers-button", englishFarsiSubscribersPushButton); tmpl->bindWidget("english-subscribers-button", englishSubscribersPushButton); tmpl->bindWidget("farsi-subscribers-button", farsiSubscribersPushButton); tmpl->bindWidget("inactive-subscribers-button", inactiveSubscribersPushButton); allSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnAllButtonPressed); englishFarsiSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnEnFaButtonPressed); englishSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnEnButtonPressed); farsiSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnFaButtonPressed); inactiveSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnInactiveButtonPressed); allSubscribersPushButton->setFocus(); } } catch (boost::exception &ex) { LOG_ERROR(boost::diagnostic_information(ex)); } catch (std::exception &ex) { LOG_ERROR(ex.what()); } catch (...) { LOG_ERROR(UNKNOWN_ERROR); } return container; }